问题：﻿如何准备互联网技术岗位的面试笔试？ 春招实习在四五月份，秋招正式在九十月份。总得来看，要考的知识点有:计算机网络，数据库，信息安全，编程能力，编程基础知识，计算机体系结构，数据结构与算法…
话题：﻿互联网、面试、程序员、计算机、笔试
回答：﻿题主没有写自己要求职哪个岗位，即使是技术岗，若是不同的方向，如：C++和Java，笔试面试题都会有区别的~题主没写也没关系，这里会选几个求职人数比较多和比较热门的岗位，列出其面试考点汇总给大家~这里暂时列出了C++岗位、Java岗位和机器学习/算法岗位的笔试面试考点汇总，另外还有前端岗位、测试岗位的汇总，想看这两个方向的同学请直接拉到最下面哦~~（PS：这些汇总都是有答案的哈，答案在各部分汇总最后~）C++方向一、基础知识1、基本语言1、说一下static关键字的作用2、说一下C++和C的区别3、说一下C++中static关键字的作用4、请说一下static的作用5、说一说c++中四种cast转换6.请说一下C/C++中指针和引用的区别7、给定三角形ABC和一点P(x,y,z)，判断点P是否在ABC内，给出思路并手写代码8、怎么判断一个数是二的倍数，怎么求一个数中有几个1，说一下你的思路并手写代码9、请你说一下你理解的c++中的smartpointer四个智能指针10、请回答一下数组和指针的区别11、请你回答一下野指针是什么12、请你介绍一下C++中的智能指针13、请你回答一下智能指针有没有内存泄露的情况14、请你来说一下智能指针的内存泄漏如何解决15、请你理解的c++中的引用和指针16、请你来说一下C++中的智能指针17、请你回答一下为什么析构函数必须是虚函数，为什么C++默认的析构函数不是虚函数18、请你来说一下函数指针19、请你来说一下fork函数20、请你来说一下C++中析构函数的作用21、请你来说一下静态函数和虚函数的区别22、请你来说一说重载和覆盖23、请你来说一说static关键字24.、请你说一说strcpy和strlen25、请你说一说你理解的虚函数和多态26、请你来回答一下++i和i++的区别27、请你来说一说++i和i++的实现28、请你来写个函数在main函数执行前先运行29、有段代码写成了下边这样，如果在只修改一个字符的前提下，使代码输出20个hello30、请你来说一下智能指针shared_ptr的实现31、以下四行代码的区别是什么32、请你来说一下C++里是怎么定义常量的？常量存放在内存的哪个位置？33、请你来回答一下const修饰成员函数的目的是什么？34、如果同时定义了两个函数，一个带const，一个不带，会有问题吗？35、请你来说一说隐式类型转换36、说说你了解的类型转换37、请你来说一说C++函数栈空间的最大值38、请你来说一说extern“C”39、请你回答一下new/delete与malloc/free的区别是什么40、请你说说你了解的RTTI41、请你说说虚函数表具体是怎样实现运行时多态的?42、请你说说C语言是怎么进行函数调用的？43、请你说说C语言参数压栈顺序？44、请你说说C++如何处理返回值？45、请你回答一下C++中拷贝赋值函数的形参能否进行值传递？46、请你回答一下malloc与new区别47、请你说一说select48、请你说说fork,wait,exec函数49、请你回答一下静态函数和虚函数的区别50、请你说一说重载和覆盖51、请你说一说static关键字52、请你说一说strcpy和strlen2、容器和算法1、请你来说一下map和set有什么区别，分别又是怎么实现的2、请你来介绍一下STL的allocaotr3、请你来说一说STL迭代器删除元素4、请你说一说STL中MAP数据存放形式5、请你讲讲STL有什么基本组成6、请你说说STL中map与unordered_map7、请你说一说vector和list的区别，应用，越详细越好8、请你来说一下STL中迭代器的作用，有指针为何还要迭代器9、请你说一说epoll原理10、请你说一说STL迭代器是怎么删除元素的呢11、请你说一说STL中MAP数据存放形式12、n个整数的无序数组，找到每个元素后面比它大的第一个数，要求时间复杂度为O(N)13、请你回答一下STL里resize和reserve的区别14、请你说一说stl里面set和map怎么实现的3、类和数据抽象1.请你来说一下C++中类成员的访问权限2、请你来说一下C++中struct和class的区别3、请你回答一下C++类内可以定义引用数据成员吗？4、面向对象与泛型编程1、请你回答一下什么是右值引用，跟左值又有什么区别？5、编译与底层1、请你来说一下一个C++源文件从文本到可执行文件经历的过程？2、请你来回答一下include头文件的顺序以及双引号””和尖括号的区别？3、请你回答一下malloc的原理，另外brk系统调用和mmap系统调用的作用分别是什么？4、请你说一说C++的内存管理是怎样的？5、请你来说一下C++/C的内存分配6、请你回答一下如何判断内存泄漏？7.请你来说一下什么时候会发生段错误8、请你来回答一下什么是memoryleak，也就是内存泄漏9、请你来回答一下new和malloc的区别10、请你来说一下共享内存相关api11、请你来说一下reactor模型组成12、请自己设计一下如何采用单线程的方式处理高并发13、请你说说C++如何处理内存泄漏？14、请你说说select，epoll的区别，原理，性能，限制都说一说15、请你说一说C++STL的内存优化6、C++111、请问C++11有哪些新特性？2、请你详细介绍一下C++11中的可变参数模板、右值引用和lambda这几个新特性。二、操作系统1、请你说一下进程与线程的概念，以及为什么要有进程线程，其中有什么区别，他们各自又是怎么同步的2、请你说一说Linux虚拟地址空间3、请你说一说操作系统中的程序的内存结构4、请你说一说操作系统中的缺页中断5、请你回答一下fork和vfork的区别6、请问如何修改文件最大句柄数？7、请你说一说并发(concurrency)和并行(parallelism)8、请问MySQL的端口号是多少，如何修改这个端口号9、请你说一说操作系统中的页表寻址10、请你说一说有了进程，为什么还要有线程？11、请问单核机器上写多线程程序，是否需要考虑加锁，为什么？12、请问线程需要保存哪些上下文，SP、PC、EAX这些寄存器是干嘛用的13、请你说一说线程间的同步方式，最好说出具体的系统调用14、请你说一下多线程和多进程的不同15、请你说一说进程和线程的区别16、游戏服务器应该为每个用户开辟一个线程还是一个进程，为什么？17、请你说一说OS缺页置换算法18、请你说一说进程和线程区别19、请你说一下多进程和多线程的使用场景20、请你说一说死锁发生的条件以及如何解决死锁21、请问虚拟内存和物理内存怎么对应22、请你说一说操作系统中的结构体对齐，字节对齐23、请问进程间怎么通信24、请你说一下虚拟内存置换的方式25、请你说一下多线程，线程同步的几种方式26、请你讲述一下互斥锁（mutex）机制，以及互斥锁和读写锁的区别27、请回答一下进程和线程的区别28、请你说一说进程状态转换图，动态就绪，静态就绪，动态阻塞，静态阻塞29、Aa=newA;a->i=10;在内核中的内存分配上发生了什么？30、给你一个类，里面有static，virtual，之类的，来说一说这个类的内存分布31、请你回答一下软链接和硬链接区别32、请问什么是大端小端以及如何判断大端小端33、请你回答一下静态变量什么时候初始化34、请你说一说用户态和内核态区别35、请问如何设计server，使得能够接收多个客户端的请求36、死循环+来连接时新建线程的方法效率有点低，怎么改进？37、请问怎么唤醒被阻塞的socket线程？38、请问怎样确定当前线程是繁忙还是阻塞？39、空闲的进程和阻塞的进程状态会不会在唤醒的时候误判？40、请问就绪状态的进程在等待什么？41、请你说一说多线程的同步，锁的机制42、两个进程访问临界区资源，会不会出现都获得自旋锁的情况？43、假设临界区资源释放，如何保证只让一个线程获得临界区资源而不是都获得？44、windows消息机制知道吗，请说一说45、C++的锁你知道几种?46、说一说你用到的锁47、请你说一说死锁产生的必要条件？48、请你说一说什么是线程和进程，多线程和多进程通信方式49、请你说一说内存溢出和内存泄漏50、进程和线程的区别，你都使用什么线程模型51、请你来说一说协程52、系统调用是什么，你用过哪些系统调用53、请你来手写一下fork调用示例54、请你来说一说用户态到内核态的转化原理55、请你说一下源码到可执行文件的过程56、请你来说一下微内核与宏内核57、请你说一下僵尸进程58、请问GDB调试用过吗，什么是条件断点59、请你来介绍一下5种IO模型60、请你说一说异步编程的事件循环61、请你回答一下操作系统为什么要分内核态和用户态62、请你回答一下为什么要有pagecache，操作系统怎么设计的pagecache63、server端监听端口，但还没有客户端连接进来，此时进程处于什么状态？64、请问如何设计server，使得能够接收多个客户端的请求65、死循环+来连接时新建线程的方法效率有点低，怎么改进？66、就绪状态的进程在等待什么？67、请你说一下多线程的同步，锁的机制68、两个进程访问临界区资源，会不会出现都获得自旋锁的情况？69、假设临界区资源释放，如何保证只让一个线程获得临界区资源而不是都获得？70、请问怎么实现线程池71、Linux下怎么得到一个文件的100到200行72、请你来说一下awk的使用73、请你来说一下linux内核中的Timer定时器机制三、计算机网络1、你的研究方向是无线传感器网络，请问怎么确保节点传输存储的可靠性2、请你说一下TCP怎么保证可靠性，并且简述一下TCP建立连接和断开连接的过程3、请你说一说TCP的模型，状态转移4、请回答一下HTTP和HTTPS的区别，以及HTTPS有什么缺点？5、请你说一说HTTP和HTTPS的不同6、请你说一说HTTP返回码7、请你说一说IP地址作用，以及MAC地址作用8、请介绍一下操作系统中的中断9、请回答OSI七层模型和TCP/IP四层模型，每层列举2个协议10、请你说一说TCP的三次握手和四次挥手的过程及原因11、搜索baidu，会用到计算机网络中的什么层？每层是干什么的12、请你说一说TCP拥塞控制？以及达到什么情况的时候开始减慢增长的速度？13、请问TCP用了哪些措施保证其可靠性14、请你说说TCP/IP数据链路层的交互过程15、请你说说传递到IP层怎么知道报文该给哪个应用程序，它怎么区分UDP报文还是TCP报文16、请问你有没有基于做过socket的开发？具体网络层的操作该怎么做？（其实就是网络编程的基本步骤）17、请问server端监听端口，但还没有客户端连接进来，此时进程处于什么状态？18、请问TCP三次握手是怎样的？19、请问tcp握手为什么两次不可以？为什么不用四次？22、请你来说一下TCP拥塞控制？20、TCP和UDP的区别和各自适用的场景21、请你来说一下TCP三次握手四次挥手的过程，为什么tcp连接握手需要三次,time_wait状态22、请你来说一说http协议23、请你来说一下GET和POST的区别24、请你来说一下socket编程中服务器端和客户端主要用到哪些函数25、请你来说一下数字证书是什么，里面都包含那些内容26、请你来介绍一下UDP的connect函数27、请你讲述一下TCP三次握手，四次挥手，以及为什么用三次握手？28、请你说一下阻塞，非阻塞，同步，异步29、请你讲述一下Socket编程的send()recv()accept()socket()函数？30、请你说一下http协议会话结束标志怎么截出来？31、请你说一说三次握手32、请你说一说四次挥手33、请你说一说TCP/IP数据链路层的交互过程四、数据库1、数据库基础1、请你说一下数据库事务以及四个特性2、请你说一说数据库的三大范式3、请你介绍一下数据库的ACID特4、请你说一说数据库索引5、请你说一说数据库事务6、请你说一说数据库事务隔离7、请你说一说innerjoin和leftjoin8、请你聊一聊数据库事物的一致性9、请你说说索引是什么，多加索引一定会好吗10、k-v存储中，key有哪些要求？11、介绍数据库中的WAL技术2、Mysql1、请你说一说mysql的四种隔离状态2、请你介绍一下mysql的MVCC机制3、请问SQL优化方法有哪些4、请你说一下MySQL引擎和区别3、Redis1、请你回答一下mongodb和redis的区别2、请你说一下mysql引擎以及其区别3、请你来说一说Redis的定时机制怎么实现的4、请你来说一说Redis是单线程的，但是为什么这么高效呢?5、请问Redis的数据类型有哪些，底层怎么实现?6、请问Redis的rehash怎么做的，为什么要渐进rehash，渐进rehash又是怎么实现的?7、请你来说一下Redis和memcached的区别8、请问Redis怎么实现的定期删除功能9、请你说一说Redis对应的命令和数据类型...五、算法与数据结构1、树1、请你来说一说红黑树和AVL树的定义，特点，以及二者区别2、请你聊一聊哈夫曼编码3、请你回答一下map底层为什么用红黑树实现4、请你介绍一下B+树5、请你说一说map和unordered_map的底层实现6、请你回答一下map和unordered_map优点和缺点7、请你回答一下epoll怎么实现的8、请你说一说C++两种map9、请问红黑树了解吗10、请你说一说红黑树的性质还有左右旋转11、请你说一说红黑树的原理以及erase以后迭代器的具体分布情况？12、请你实现二叉树的层序遍历并输出13、手写代码：二叉树序列化反序列化2、堆与栈1、请说一说你理解的stackoverflow，并举个简单例子导致栈溢出2、请你回答一下栈和堆的区别，以及为什么栈要快3、手写代码：两个栈实现一个队列4、请你来说一下堆和栈的区别5、请你说一说小根堆特点3、数组1、请你回答一下Array&List，数组和链表的区别2.一个长度为N的整形数组，数组中每个元素的取值范围是[0,n-1],判断该数组否有重复的数，请说一下你的思路并手写代码4、排序1、请你来手写一下快排的代码2、请问求第k大的数的方法以及各自的复杂度是怎样的，另外追问一下，当有相同元素时，还可以使用什么不同的方法求第k大的元素3、请你来介绍一下各种排序算法及时间复杂度4、请你说一说你知道的排序算法及其复杂度5、请问海量数据如何去取最大的k个6、请你说一说Top(K)问题7、请问快排的时间复杂度最差是多少？什么时候时间最差8、请问稳定排序哪几种？9、请你介绍一下快排算法；以及什么是稳定性排序，快排是稳定性的吗；快排算法最差情况推导公式5、哈希1、请你来说一说hash表的实现，包括STL中的哈希桶长度常数。2、请你回答一下hash表如何rehash，以及怎么处理其中保存的资源3、请你说一下哈希表的桶个数为什么是质数，合数有何不妥？4、请你说一下解决hash冲突的方法5、请你说一说哈希冲突的解决方法6、动态规划1、请你手写代码：最长公共连续子序列2、手写代码：求一个字符串最长回文子串3、手写代码：查找最长回文子串7、链表1.请你手写代码，如何合并两个有序链表2、手写代码：反转链表3、判断一个链表是否为回文链表，说出你的思路并手写代码4、请你手写链表反转5、什么是单向链表，如何判断两个单向链表是否相交7、高级算法1、如果让你做自然语言理解（NLU），在处理语言规则的时候大概会用到什么算法2、请问加密方法都有哪些3、什么是LRU缓存4、请你说一说洗牌算法8、字符串1、给你一个字符串，找出第一个不重复的字符，如“abbbabcd”，则第一个不重复就是c六、项目相关1、请你回答一下git中Merge和rebase区别七、设计模式1、请问你用过哪些设计模式，介绍一下单例模式的多线程安全问题2、请问你了解哪些设计模式？3、请问如何保证单例模式只有唯一实例？你知道的都有哪些方法？4、请你说一说OOP的设计模式的五项原则5、请你说说工厂模式的优点？6、请你说一下观察者模式7、请你介绍一下单例模式8、单例模式中的懒汉加载，如果并发访问该怎么做？9、装饰器模式和单例模式，使用单例模式应该注意什么八、场景题1、给你两个球，100层楼，每个球在一定高度扔下去会碎，怎么用最少的次数给判断是几层楼能把求摔碎？九、分布式与架构1、分布式缓存和分布式存储的设计C++考点部分的考点答案看这里：附C++知识点思维导图和答案~c++工程师校招面试考点汇总（附面试题和答案）【持续更新】_笔经面经_牛客网​www.nowcoder.comJava方向一、JavaSE部分1、Java基础1、为什么重写equals还要重写hashcode2、说一下map的分类和常见的情况3、Object若不重写hashCode()的话，hashCode()如何计算出来的？4、==比较的是什么？5、若对一个类不重写，它的equals()方法是如何比较的？6、java8新特性7、说说Lamda表达式的优缺点。8、一个十进制的数在内存中是怎么存的？9、为啥有时会出现4.0-3.6=0.40000001这种现象？10、Java支持的数据类型有哪些？什么是自动拆装箱？11、什么是值传递和引用传递？12、数组(Array)和列表(ArrayList)有什么区别？什么时候应该使用Array而不是ArrayList？13、你了解大O符号(big-Onotation)么？你能给出不同数据结构的例子么？14、String是最基本的数据类型吗?15、int和Integer有什么区别？16、String和StringBuffer的区别？17、我们在web应用开发过程中经常遇到输出某种编码的字符，如iso8859-1等，如何输出一个某种编码的字符串？18、Struts跟Springmvc的区别？19、&和&&的区别？20、在Java中，如何跳出当前的多重嵌套循环？21、你能比较一下Java和JavaSciprt吗？22、简述正则表达式及其用途。23、Java中是如何支持正则表达式操作的？24、请你说说Java和PHP的区别？2、关键字1、介绍一下Syncronized锁，如果用这个关键字修饰一个静态方法，锁住了什么？如果修饰成员方法，锁住了什么？2、介绍一下volatile？3、锁有了解嘛，说一下Synchronized和lock4、讲一讲Java里面的final关键字怎么用的？3、面向对象1、wait方法底层原理2、Java有哪些特性，举个多态的例子。3、String为啥不可变？4、类和对象的区别5、请列举你所知道的Object类的方法。6、重载和重写的区别？相同参数不同返回值能重载吗？7、”static”关键字是什么意思？Java中是否可以覆盖(override)一个private或者是static的方法？8、String能继承吗？9、StringBuffer和StringBuilder有什么区别，底层实现上呢？10、类加载机制，双亲委派模型，好处是什么？11、静态变量存在哪?12、讲讲什么是泛型？13、解释extends和super泛型限定符-上界不存下界不取14、是否可以在static环境中访问非static变量？15、谈谈如何通过反射创建对象？16、Java支持多继承么？17、接口和抽象类的区别是什么？18、Comparable和Comparator接口是干什么的？列出它们的区别。19、面向对象的特征有哪些方面20、final,finally,finalize的区别。21、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?22、abstractclass和interface有什么区别?23、StaticNestedClass和InnerClass的不同24、当一个对象被当作参数传递到一个方法后，此方法可改变这个对象的属性，并可返回变化后的结果，那么这里到底是值传递还是引用传递?25、Java的接口和C++的虚类的相同和不同处。26、JAVA语言如何进行异常处理，关键字：throws,throw,try,catch,finally分别代表什么意义？在try块中可以抛出异常吗？27、内部类可以引用他包含类的成员吗？有没有什么限制？28、两个对象值相同(x.equals(y)==true)，但却可有不同的hashcode说法是否正确？29、重载（Overload）和重写（Override）的区别。重载的方法能否根据返回类型进行区分？30、如何通过反射获取和设置对象私有字段的值？31、谈一下面向对象的"六原则一法则"。32、请问Query接口的list方法和iterate方法有什么区别？33、Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思？34、Java中，什么是构造函数？什么是构造函数重载？什么是复制构造函数？35、hashCode()和equals()方法有什么联系？4、集合1、Map和ConcurrentHashMap的区别？2、hashMap内部具体如何实现的？3、如果hashMap的key是一个自定义的类，怎么办？4、ArrayList和LinkedList的区别，如果一直在list的尾部添加元素，用哪个效率高？5、HashMap底层，负载因子，为什么是2^n？6、ConcurrentHashMap锁加在了哪些地方？7、TreeMap底层，红黑树原理？8、concurrenthashmap有啥优势，1.7，1.8区别？9、ArrayList是否会越界？10、什么是TreeMap?11、ConcurrentHashMap的原理是什么？12、Java集合类框架的基本接口有哪些？13、为什么集合类没有实现Cloneable和Serializable接口？14、什么是迭代器？15、Iterator和ListIterator的区别是什么？16、快速失败(fail-fast)和安全失败(fail-safe)的区别是什么？17、HashMap和Hashtable有什么区别？18、ArrayList和LinkedList有什么区别？19、ArrayList,Vector,LinkedList的存储性能和特性是什么？20、Collection和Collections的区别。21、你所知道的集合类都有哪些？主要方法？22、List、Set、Map是否继承自Collection接口？23、阐述ArrayList、Vector、LinkedList的存储性能和特性24、List、Map、Set三个接口存取元素时，各有什么特点？5、线程1、多线程中的i++线程安全吗？为什么？2、如何线程安全的实现一个计数器？3、多线程同步的方法4、介绍一下生产者消费者模式？5、线程，进程，然后线程创建有很大开销，怎么优化？6、线程池运行流程，参数，策略7、讲一下AQS吧。8、创建线程的方法，哪个更好，为什么？9、Java中有几种方式启动一个线程？10、Java中有几种线程池？11、线程池有什么好处？12、cyclicbarrier和countdownlatch的区别13、如何理解Java多线程回调方法？14、创建线程有几种不同的方式？你喜欢哪一种？为什么？15、概括的解释下线程的几种可用状态。16、同步方法和同步代码块的区别是什么？17、启动线程有哪几种方式，线程池有哪几种？18、在监视器(Monitor)内部，是如何做线程同步的？程序应该做哪种级别的同步？19、sleep()和wait()有什么区别？20、同步和异步有何异同，在什么情况下分别使用他们？举例说明。21、设计4个线程，其中两个线程每次对j增加1，另外两个线程对j每次减少1。使用内部类实现线程，对j增减的时候没有考虑顺序问题。22、启动一个线程是用run()还是start()?23、请说出你所知道的线程同步的方法24、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?25、java中有几种方法可以实现一个线程？用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用？26、线程的sleep()方法和yield()方法有什么区别？27、当一个线程进入一个对象的synchronized方法A之后，其它线程是否可进入此对象的synchronized方法B？28、请说出与线程同步以及线程调度相关的方法。29、举例说明同步和异步30、什么是线程池（threadpool）？31、说说线程的基本状态以及状态之间的关系？32、如何保证线程安全？6、锁1、讲一下非公平锁和公平锁在reetrantlock里的实现。2、讲一下synchronized，可重入怎么实现。3、锁和同步的区别。4、什么是死锁(deadlock)？5、如何确保N个线程可以访问N个资源同时又不导致死锁？6、请你简述synchronized和java.util.concurrent.locks.Lock的异同？7、JDK1、Java中的LongAdder和AtomicLong的区别2、JDK和JRE的区别是什么？8、反射1、反射的实现与作用9、JVM1、JVM回收算法和回收器，CMS采用哪种回收算法，怎么解决内存碎片问题？2、类加载过程3、JVM分区4、eden区，survial区?5、JAVA虚拟机的作用?6、GC中如何判断对象需要被回收？7、JAVA虚拟机中，哪些可作为ROOT对象？8、JVM内存模型是什么？9、jvm是如何实现线程？10、jvm最大内存限制多少11、什么是Java虚拟机？为什么Java被称作是“平台无关的编程语言”？12、描述一下JVM加载class文件的原理机制?10、GC1、java中内存泄露是啥，什么时候出现内存泄露？2、minorgc如果运行的很频繁，可能是什么原因引起的，minorgc如果运行的很慢，可能是什么原因引起的?3、阐述GC算法4、GC是什么?为什么要有GC?5、垃圾回收的优点和原理。并考虑2种回收机制6、java中会存在内存泄漏吗，请简单描述。7、垃圾回收器的基本原理是什么？垃圾回收器可以马上回收内存吗？有什么办法主动通知虚拟机进行垃圾回收？（垃圾回收）11、IO和NIO、AIO1、怎么打印日志？2、运行时异常与一般异常有何异同？3、error和exception有什么区别?4、给我一个你最常见到的runtimeexception5、Java中的异常处理机制的简单原理和应用。6、java中有几种类型的流？JDK为每种类型的流提供了一些抽象类以供继承，请说出他们分别是哪些类？7、什么是java序列化，如何实现java序列化？8、运行时异常与受检异常有什么区别？二、JavaEE部分1、Spring1、说一下IOC和AOP?2、介绍一下bean的生命周期3、Spring里面注解用过没有？autowired和resource区别？4、@Controller和@RestController的区别？5、依赖注入的方式有几种，哪几种？6、springIOC原理？自己实现IOC要怎么做，哪些步骤？7、Spring中BeanFactory和ApplicationContext的区别？、8、什么是IoC和DI？DI是如何实现的？9、请问Spring中Bean的作用域有哪些？10、谈谈Spring中自动装配的方式有哪些？11、aop的应用场景？12、AOP的原理是什么？13、你如何理解AOP中的连接点（Joinpoint）、切点（Pointcut）、增强（Advice）、引介（Introduction）、织入（Weaving）、切面（Aspect）这些概念？14、Spring支持的事务管理类型有哪些？你在项目中使用哪种方式？15、介绍一下spring？16、Struts拦截器和SpringAOP区别？17、spring框架的优点？18、选择使用Spring框架的原因（Spring框架为企业级开发带来的好处有哪些）？19、持久层设计要考虑的问题有哪些？你用过的持久层框架有哪些？2、Hibernate1、阐述实体对象的三种状态以及转换关系。2、Hibernate中SessionFactory是线程安全的吗？Session是线程安全的吗（两个线程能够共享同一个Session吗）？3、Hibernate中Session的load和get方法的区别是什么？4、如何理解Hibernate的延迟加载机制？在实际应用中，延迟加载与Session关闭的矛盾是如何处理的？4、简述Hibernate常见优化策略。5、锁机制有什么用？简述Hibernate的悲观锁和乐观锁机制。6、Hibernate如何实现分页查询？7、谈一谈Hibernate的一级缓存、二级缓存和查询缓存。3、Struts1、说说STRUTS的应用4、Mybatis1、解释一下MyBatis中命名空间（namespace）的作用。2、MyBatis中的动态SQL是什么意思？5、MVC1、SpringMVC注解的优点2、springmvc和spring-boot区别？3、SpringMVC的运行机制，运行机制的每一部分的相关知识？4、谈谈SpringMVC的工作原理是怎样的？6、各框架对比与项目优化1、Mybatis和Hibernate区别？2、介绍一下你了解的Java领域的WebService框架。7、JPA1、EJB是基于哪些技术实现的？并说出SessionBean和EntityBean的区别，StatefulBean和StatelessBean的区别。2、EJB与JAVABEAN的区别？3、EJB包括（SessionBean,EntityBean）说出他们的生命周期，及如何管理事务的？4、EJB的角色和三个对象是什么？5、说说EJB规范规定EJB中禁止的操作有哪些？6、EJB的激活机制是什么？7、EJB的几种类型分别是什么8、EJB需直接实现它的业务接口或Home接口吗，请简述理由。三、Javaweb编程1、web编程基础1、启动项目时如何实现不在链接里输入项目名就能启动?2、1分钟之内只能处理1000个请求，你怎么实现，手撕代码?3、什么时候用assert4、JAVA应用服务器有那些？5、JSP的内置对象及方法。6、JSP和Servlet有哪些相同点和不同点，他们之间的联系是什么？（JSP）7、说一说四种会话跟踪技术8、讲讲Request对象的主要方法9、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然后在浏览器上就可打入主机？10、jsp有哪些动作?作用分别是什么?11、请谈谈JSP有哪些内置对象？作用分别是什么？12、说一下表达式语言（EL）的隐式对象及其作用13、JSP中的静态包含和动态包含有什么区别？14、过滤器有哪些作用和用法？15、请谈谈你对Javaweb开发中的监听器的理解？16、说说web.xml文件中可以配置哪些内容？2、web编程进阶1、forward与redirect区别，说一下你知道的状态码，redirect的状态码是多少？2、servlet生命周期，是否单例，为什么是单例。3、说出Servlet的生命周期，并说出Servlet和CGI的区别。4、Servlet执行时一般实现哪几个方法？5、阐述一下阐述Servlet和CGI的区别?6、说说Servlet接口中有哪些方法？7、Servlet3中的异步处理指的是什么？8、如何在基于Java的Web项目中实现文件上传和下载？9、服务器收到用户提交的表单数据，到底是调用Servlet的doGet()还是doPost()方法？10、Servlet中如何获取用户提交的查询参数或表单数据？11、Servlet中如何获取用户配置的初始化参数以及服务器上下文参数？12、讲一下redis的主从复制怎么做的？13、redis为什么读写速率快性能好？14、redis为什么是单线程？15、缓存的优点？16、aof，rdb，优点，区别？17、redis的List能用做什么场景？18、说说MVC的各个部分都有那些技术来实现?如何实现?19、什么是DAO模式？20、请问JavaWeb开发的Model1和Model2分别指的是什么？21、你的项目中使用过哪些JSTL标签？22、使用标签库有什么好处？如何自定义JSP标签？（JSP标签）3、web编程原理1、get和post区别？2、请谈谈转发和重定向的区别？3、说说你对get和post请求，并且说说它们之间的区别？4、cookie和session的区别？5、forward和redirect的区别6、BS与CS的联系与区别。7、如何设置请求的编码以及响应内容的类型？8、什么是WebService（Web服务）？9、谈谈Session的save()、update()、merge()、lock()、saveOrUpdate()和persist()方法分别是做什么的？有什么区别？10、大型网站在架构上应当考虑哪些问题？11、请对J2EE中常用的名词进行解释(或简单描述)四、JDBC编程1、SQL基础1、写SQL：找出每个城市的最新一条记录。2、一个学生表，一个课程成绩表，怎么找出学生课程的最高分数3、有一组合索引（A,B,C），会出现哪几种查询方式？tag:sql语句2、JDBC基础1、数据库水平切分，垂直切分2、数据库索引介绍一下。介绍一下什么时候用Innodb什么时候用MyISAM。3、数据库两种引擎4、索引了解嘛，底层怎么实现的，什么时候会失效5、问了数据库的隔离级别6、数据库乐观锁和悲观锁7、数据库的三范式？8、讲一下数据库ACID的特性？9、mysql主从复制？10、leftjoin和rightjoin的区别？11、数据库优化方法12、谈一下你对继承映射的理解。13、说出数据连接池的工作机制是什么?14、事务的ACID是指什么？15、JDBC中如何进行事务处理？3、JDBC进阶1、JDBC的反射，反射都是什么？2、Jdo是什么?3、Statement和PreparedStatement有什么区别？哪个性能更好？4、使用JDBC操作数据库时，如何提升读取数据的性能？如何提升更新数据的性能？五、XML1、XML基础1、XML文档定义有几种形式？它们之间有何本质区别？解析XML文档有哪几种方式？2、WebService1、WEBSERVICE名词解释，JSWDL开发包的介绍，JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。2、请你谈谈对SOAP、WSDL、UDDI的了解？3、谈谈Java规范中和WebService相关的规范有哪些？六、计算机网络1、网络概述1、TCP协议在哪一层？IP协议在那一层？HTTP在哪一层？2、运输层1、讲一下TCP的连接和释放连接。2、TCP有哪些应用场景3、tcp为什么可靠4、tcp为什么要建立连接5、阐述TCP的4次挥手6、讲一下浏览器从接收到一个URL到最后展示出页面，经历了哪些过程。tag7、http和https的区别8、http的请求有哪些，应答码502和504有什么区别9、http1.1和1.0的区别10、说说ssl四次握手的过程11、304状态码有什么含义？3、网络层1、arp协议，arp攻击2、icmp协议3、讲一下路由器和交换机的区别？4、应用层1、DNS寻址过程2、负载均衡反向代理模式优点及缺点七、操作系统1、操作系统概论1、CentOS和Linux的关系？2、64位和32位的区别？2、进程的描述与控制1、怎么杀死进程？2、线程，进程区别3、系统线程数量上限是多少？4、进程和线程的区别是什么？5、解释一下LINUX下线程，GDI类。3、输入输出系统1、socket编程，BIO，NIO，epoll？4、存储器管理1、什么是页式存储？2、操作系统里的内存碎片你怎么理解，有什么解决办法？5、处理机调度与死锁1、什么情况下会发生死锁，解决策略有哪些？2、系统CPU比较高是什么原因？3、系统如何提高并发性？八、算法与数据结构1、哈希1、hashset存的数是有序的吗？2、Object作为HashMap的key的话，对Object有什么要求吗？3、一致性哈希算法4、什么是hashmap?5、Java中的HashMap的工作原理是什么？6、hashCode()和equals()方法的重要性体现在什么地方？2、树1、说一下B+树和B-树？2、怎么求一个二叉树的深度?手撕代码?3、算法题：二叉树层序遍历，进一步提问：要求每层打印出一个换行符4、二叉树任意两个节点之间路径的最大长度5、如何实现二叉树的深度？6、如何打印二叉树每层的节点？7、TreeMap和TreeSet在排序时如何比较元素？Collections工具类中的sort()方法如何比较元素？3、遍历1、编程题：写一个函数，找到一个文件夹下所有文件，包括子文件夹2、二叉树Z字型遍历4、链表1、反转单链表2、随机链表的复制3、链表-奇数位升序偶数位降序-让链表变成升序4、bucket如果用链表存储，它的缺点是什么？5、如何判断链表检测环5、数组1、寻找一数组中前K个最大的数2、求一个数组中连续子向量的最大和3、找出数组中和为S的一对组合，找出一组就行4、一个数组，除一个元素外其它都是两两相等，求那个元素?5、算法题：将一个二维数组顺时针旋转90度，说一下思路。6、排序1、排序算法知道哪些，时间复杂度是多少，解释一下快排？2、如何得到一个数据流中的中位数？3、堆排序的原理是什么？4、归并排序的原理是什么？5、排序都有哪几种方法？请列举出来。6、如何用java写一个冒泡排序？7、堆与栈1、堆与栈的不同是什么？2、heap和stack有什么区别。3、解释内存中的栈(stack)、堆(heap)和静态区(staticarea)的用法。8、队列1、什么是Java优先级队列(PriorityQueue)？9、高级算法1、题目：DesignandimplementadatastructureforLeastFrequentlyUsed(LFU)cache.Itshouldsupportthefollowingoperations:getandput.get(key)-Getthevalue(willalwaysbepositive)ofthekeyifthekeyexistsinthecache,otherwisereturn-1.put(key,value)-Setorinsertthevalueifthekeyisnotalreadypresent.Whenthecachereachesitscapacity,itshouldinvalidatetheleastfrequentlyuseditembeforeinsertinganewitem.Forthepurposeofthisproblem,whenthereisatie(i.e.,twoormorekeysthathavethesamefrequency),theleastrecentlyusedkeywouldbeevicted.CouldyoudobothoperationsinO(1)timecomplexity?2、id全局唯一且自增，如何实现？3、如何设计算法压缩一段URL？4、为什么要设计后缀表达式，有什么好处？5、LRU算法的实现原理？九、设计模式1、结构型模式1、java中有哪些代理模式？2、如何实现动态代理3、IO流熟悉吗，用的什么设计模式？2、创建型模式1、介绍一下单例模式？懒汉式的单例模式如何实现单例？3、行为型模式1、介绍一下策略模式？2、设计模式了解哪些，手写一下观察者模式？4、模式汇总1、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法2、j2ee常用的设计模式？说明工厂模式。3、开发中都用到了那些设计模式?用在什么场合?4、简述一下你了解的Java设计模式十、场景题1、场景题汇总1、情景题：如果一个外卖配送单子要发布，现在有200个骑手都想要接这一单，如何保证只有一个骑手接到单子？2、场景题：美团首页每天会从10000个商家里面推荐50个商家置顶，每个商家有一个权值，你如何来推荐？第二天怎么更新推荐的商家？可以借鉴下stackoverflow，视频网站等等的推荐算法。3、场景题：微信抢红包问题悲观锁，乐观锁，存储过程放在mysql数据库中。4、场景题：1000个任务，分给10个人做，你怎么分配，先在纸上写个最简单的版本，然后优化。全局队列，把1000任务放在一个队列里面，然后每个人都是取，完成任务。分为10个队列，每个人分别到自己对应的队列中去取务。5、场景题：保证发送消息的有序性，消息处理的有序性。6、如何把一个文件快速下发到100w个服务器7、给每个组分配不同的IP段，怎么设计一种结构使的快速得知IP是哪个组的?8、10亿个数，找出最大的10个。建议一个大小为10的小根堆。9、有几台机器存储着几亿淘宝搜索日志，你只有一台2g的电脑，怎么选出搜索热度最高的十个搜索关键词？10、分布式集群中如何保证线程安全？11、给个淘宝场景，怎么设计一消息队列？12、10万个数，输出从小到大？先划分成多个小文件，送进内存排序，然后再采用多路归并排序。13、有十万个单词，找出重复次数最高十个？十一、UML1、UML1、请你谈一下UML中有哪些常用的图？Java考点部分的考点答案看这里：附Java知识点思维导图和答案~Java开发校招面试考点汇总（附面试题和答案）【持续更新】_笔经面经_牛客网​www.nowcoder.com机器学习/算法一、数学基础：1、微积分1、SGD,Momentum,Adagard,Adam原理2、L1不可导的时候该怎么办3、sigmoid函数特性2、统计学，概率论a,b~U[0,1]，互相独立,求Max(a,b)期望2、一个活动,n个女生手里拿着长短不一的玫瑰花,无序的排成一排,一个男生从头走到尾,试图拿更长的玫瑰花,一旦拿了一朵就不能再拿其他的,错过了就不能回头,问最好的策略?3、问题：某大公司有这么一个规定：只要有一个员工过生日，当天所有员工全部放假一天。但在其余时候，所有员工都没有假期，必须正常上班。这个公司需要雇用多少员工，才能让公司一年内所有员工的总工作时间期望值最大？4、切比雪夫不等式5、一根绳子,随机截成3段,可以组成一个三角形的概率有多大6、最大似然估计和最大后验概率的区别?7、什么是共轭先验分布8、概率和似然的区别9.频率学派和贝叶斯学派的区别10、0~1均匀分布的随机器如何变化成均值为0，方差为1的随机器11、Lasso的损失函数12、Sfit特征提取和匹配的具体步骤3、线性代数1、求mk矩阵A和nk矩阵的欧几里得距离?2、PCA中第一主成分是第一的原因?3、欧拉公式4、矩阵正定性的判断,Hessian矩阵正定性在梯度下降中的应用5、概率题：抽蓝球红球，蓝结束红放回继续，平均结束游戏抽取次数6、讲一下PCA7、拟牛顿法的原理8、编辑距离二、机器学习算法1、处理分类问题常用算法1、交叉熵公式2、LR公式3LR的推导，损失函数4、逻辑回归怎么实现多分类5、SVM中什么时候用线性核什么时候用高斯核?6、什么是支持向量机,SVM与LR的区别?7.监督学习和无监督学习的区别8.机器学习中的距离计算方法?9、问题：朴素贝叶斯（naiveBayes）法的要求是？10、问题：训练集中类别不均衡，哪个参数最不准确？11、问题：你用的模型，最有挑战性的项目12、问题：SVM的作用，基本实现原理；13、问题：SVM的硬间隔，软间隔表达式；14、问题：SVM使用对偶计算的目的是什么，如何推出来的，手写推导；15、问题：SVM的物理意义是什么；16、问题：如果给你一些数据集，你会如何分类（我是分情况答的，从数据的大小，特征，是否有缺失，分情况分别答的）；17、问题：如果数据有问题，怎么处理；18、分层抽样的适用范围19、LR的损失函数20、LR和线性回归的区别21生成模型和判别模型基本形式，有哪些？22核函数的种类和应用场景。23分类算法列一下有多少种？应用场景。24、给你一个检测的项目，检测罐装的可口可乐，瓶装的可口可乐作为负样本，怎么弄？25、SVM核函数的选择26、SVM的损失函数27、核函数的作用28、SVM为什么使用对偶函数求解29、ID3,C4.5和CART三种决策树的区别30、SVM和全部数据有关还是和局部数据有关?31、为什么高斯核能够拟合无穷维度32、第二面完整推导了svm一遍，还有强化学习问的很多，dqn的各种trick了解多少，怎么实现知不知道。33、SVM所有核函数的了解应用，SVM的损失函数34、LR和SVM区别35、朴素贝叶斯基本原理和预测过程36、LR推导37、交叉熵，还有个什么熵不记得了。。。38、LR公式39、交叉熵公式2、处理回归问题常用算法1、L1和L2正则化的区别2、问题：LossFunction有哪些，怎么用？3、问题：线性回归的表达式，损失函数；4、线性回归的损失函数5、机器学习：知道哪些传统机器学习模型3、处理聚类问题常用算法1、什么是DBSCAN2、k-means算法流程3、LDA的原理4、介绍几种机器学习的算法，我就结合我的项目经理介绍了些RF,Kmeans等算法。5、KMeans讲讲，KMeans有什么缺点，K怎么确定6、Kmeans7、DBSCAN原理和算法伪代码，与kmeans，OPTICS区别4、推荐系统的常用算法1、问推荐算法，fm，lr，embedding2、协同过滤的itemCF，userCF区别适用场景3、推荐系统的大概步骤，解决冷启动。。。4、传统的机器学习算法了解吗5、用mapreduce实现10亿级以上数据的kmeans6、Kmeans7、A/Btest如何进行流量分流8、协同过滤中的算法怎么细分9、FM公式10、FM公式5、模型融合和提升的算法1bagging和boosting的区别2、boosting和bagging区别3、XGBOOST和GDBT的区别4、GDBT的原理,以及常用的调参参数6、AdaBoost和GBDT的区别,AdaBoost和GBDT的区别7、gbdt推导8、boosting和bagging在不同情况下的选用9、gbdt推导和适用场景10、说一下gbdt的全部算法过程11、rf和gbdt基分类器区别，里面的决策树分别长啥样，怎么剪枝12、随机森林和GBDT的区别13、xgboost的特征重要性计算14xgboost的正则项表达式15xgboost原理，怎么防过拟合16、xgboost，rf，lr优缺点场景。。。17、xgboost特征并行化怎么做的18、xgboost和lightgbm的区别和适用场景6、其他重要算法1、问题：HMM隐马尔可夫模型的参数估计方法是？2、问题：Bootstrap方法是什么？3、问题：如何防止过拟合？4、EM算法推导，jensen不等式确定的下界三、机器学习1、Scikit-learn1、FocalLoss介绍一下2过拟合的解决方法3方差偏差的分解公式4、问题：对应时间序列的数据集如何进行交叉验证？5、问题：正负样本不平衡的解决办法？评价指标的参考价值？6、迁移学习7、数据不平衡怎么办?8、AUC的理解9、AUC的计算公式10、生成模型和判别模型的区别11、过拟合的解决方法12、特征选择怎么做13、怎么防止过拟合14、L1和L2正则15、ID3树用什么指标选择特征16、特征工程的问题17、给了个链接线上写代码，要求写读文本、文本预处理、特征提取和建模的基本过程，不过写到特征就没写了18、softmax公式19、softmax公式2、Libsvm1、检测20类物体，多少张训练集，怎么训练2、lightgbm优势3、Keras/tensorflow1、MXNet和Tensorflow的区别2、Tensorflow的工作原理3.Tensorflow中interactivesession和session的区别手写了tensorflow的图像分类代码，还有问之前线下笔试最后编程题的思路，算法复杂度，然后项目也问。四、深度学习1BatchNormalization的作用2、梯度消失3、循环神经网络，为什么好?4、什么是GroupConvolution5、什么是RNN6、训练过程中,若一个模型不收敛,那么是否说明这个模型无效?导致模型不收敛的原因有哪些?7、图像处理中锐化和平滑的操作8、VGG使用3*3卷积核的优势是什么?9、Relu比Sigmoid的效果好在哪里?10、问题：神经网络中权重共享的是？11、问题：神经网络激活函数？12、问题：在深度学习中，通常会finetuning已有的成熟模型，再基于新数据，修改最后几层神经网络权值，为什么？13、问题：画GRU结构图14、Attention机制的作用15、Lstm和Gru的原理16、什么是dropout17、LSTM每个门的计算公式18、HOG算法原理19、DropConnect的原理20、深度学习了解多少，有看过底层代码吗？caffe,tf?21、除了GMM-HMM，你了解深度学习在语音识别中的应用吗？22、用过哪些移动端深度学习框架？23、Caffe：整体架构说一下，新加一个层需要哪些步骤，卷积是怎么实现的，多卡机制，数据并行还是模型并行？18、HOG算子是怎么求梯度的1、BN层的作用，为什么要在后面加伽马和贝塔，不加可以吗2、梯度消失，梯度爆炸的问题，3、Adam4、attention机制5、RNN梯度消失问题,为什么LSTM和GRU可以解决此问题6、GAN网络的思想7、1*1的卷积作用8、怎么提升网络的泛化能力9、什么是seq2seqmodel10、激活函数的作用11、为什么用relu就不用sigmoid了12、讲一下基于WFST的静态解码网络的语音识别流程？13、目标检测了解吗，FasterRCNN跟RCNN有什么区别14、SPP，YOLO了解吗？15、梯度消失梯度爆炸怎么解决16、RNN容易梯度消失，怎么解决？17、LSTM跟RNN有啥区别18、卷积层和池化层有什么区别19、防止过拟合有哪些方法20、dropout咋回事讲讲21、relu22、神经网络为啥用交叉熵。23、注意力公式24、论文flow情况25、Flappy.Bird开发者,怎么利用DNQ方法强化学习你的游戏AI26、LeNet-5结构27、推导LSTM正向传播和单向传播过程28、LSTM原理，与GRU区别29、DNN的梯度更新方式30、CNN为什么比DNN在图像识别上更好31、现场用collabedit写代码，一个怪异的归并算法。。。之前没遇到过，直接把归并写出来，但是说复杂度太高，优化了三遍还不行，最后说出用小顶堆解决了。。。32、LSTM和NaiveRNN的区别33、神经网络为啥用交叉熵。34、注意力公式35、InceptionScore评价指标介绍36、使用的CNN模型权重之间有关联吗？37、CycleGAN原理介绍一下38、训练GAN的时候有没有遇到什么问题39、百度实习：CPM模型压缩怎么做的？有压过OpenPose吗？40、用过哪些Optimizer，效果如何41、图像基础：传统图像处理方法知道哪些，图像对比度增强说一下42、介绍一下图像的高频、低频部分，知道哪些图像补全的方法43、百度实习：模型压缩的大方向。CPM模型怎么压缩的，做了哪些工作？44、Depthwise卷积实际速度与理论速度差距较大，解释原因。45、RetinaNet的大致结构画一下46、RetinaNet为什么比SSD效果好五、数据结构与算法1、查找1、手写二分查找算法题，单调函数求零点(简单的二分法)3、特别大的数据量，实现查找，排序2、哈希1Hash表处理冲突的方法2、一致性哈希3、Hash表处理冲突的方法4、apriori5、KM算法3、表达式、字符串1、中缀表达式转后缀表达式2、算法题：翻转中间由各种符号隔开的字符串3、问题：A+B∗(C−D)/E的后缀表达式。4、栈与堆1、大顶堆怎么插入删除2、堆栈区别3、栈溢出有哪些情况5、树1、问题：手撕代码，根据前序，中序创建二叉树。2、算法题：从右边看被遮挡的二叉树，求露出的node3、算法题，给前序和中序，求出二叉树4、算法题，trim二叉搜索树5、红黑树6、排序1、对一千万个整数排序,整数范围在[-1000,1000]间,用什么排序最快?2、堆排序的思想3、冒泡排序4、快速排序的最优情况5、抽了两道面试题目两道。8个球，1个比较重，天平，几步找到重的？6、算法题：topK给出3种解法7、快排8、快排9、说一下小顶堆的调整过程10、算法题：2sum，3sum7、高级算法1、手撕代码：以概率p生成1、概率1-p生成0的rand函数，得到0-1等概率的rand函数，计算新的rand函数中：调用一次，while循环的期望次数2、Kruskal算法的基本过程3、BFS和DFS的实现思想4关联规则具体有哪两种算法,它们之间的区别5、贪婪算法6、模拟退火，蚁群对比7、算法题：名人问题，给出最优解法8、代码题：股票最大值。9、编辑距离8、链表1、如何判断单链表是否是循环链表2、反转链表。。。3、算法题，反转链表4、算法题，单链表判断是否有环(leetcodeeasy)，以及判断环入口9、数组1、找出数组中只出现1次的数，其余数均出现2次，扩展，其余数出现2次以上10、动态规划1、最短描述数，10的最短描述数是3^2+1^2所以是2，求一个数的最短描述数2、跳台阶问题，每次只能跳1个台阶或者2个台阶，n个台阶共有多少种方式3、动态规划和带记忆递归的区别4、手撕代码：0-1矩阵的最大正方形11、遍历1、代码题：股票最大值。六、编程语言，工具和环境1、编程语言1什么是python的生成器?2、Java抽象类和接口的区别?3、python中is和==的区别4、python方法解析顺序5.strcpy函数5.Ctrl+C程序挂掉还是抛出异常,如何判断两个dict是否一样,list头上删除元素,字符串拼接?6.pytorch中cuda()作用,两个Tensor,一个加了cuda(),一个没加,相加后很怎样?7.python中dict和list的区别,dict的内部实现8、C++析构函数9、C++的delete,delete[]的区别10、C++相关的问题虚函数12、如何写多线程的代码13、是否关注过caffe和pytorch是怎么写的吗？pytorch调用多GPU函数内核14.Java虚拟机内存的划分15.pythondict按照value进行排序16.C++中static关键字的作用17、虚函数和纯虚函数的区别18、Python多进程19、深拷贝，浅拷贝，写一个出来(写了个自己认为对的版本)20、在程序里面智能指针的名字是啥？21、new，malloc区别22、纯虚函数怎么定义，写一个出来23、函数后面接const是什么意思？24、写一个函数指针25、抽象类和接口的区别，慢慢说26、有看过c＋＋的一些库吗？27、c＋＋你看的最久的一章是哪一章，c＋＋primer最熟哪一章9、开发环境、语言的掌握10、Python多进程11、Python锁2、大数据相关1、Spark性能如何调优2、mapreduce实现笛卡尔乘积3、是否写过udf，问udaf，udtf区别和一些细节七、自然语言处理1、Word2vec1、Word2Vec中skip-gram是什么,NegativeSampling怎么做2、FastText和Glovec原理3、word2vec实施过程4、softmax的原理了解5、Wod2vec公式6、Wod2vec公式7、使用gensim的wordsimilar方法预测句子八、计算机基础1、linux1、ELF的bss段2、计算机网络1、ip报文经过一个路由器改变哪些字段?2、TCP/IP算法,IP寻址3、操作系统1.如何将小端存储模式转为大端存储模式2、Python锁4、数据库1.count(*),count(1)和count(列名)的区别九、场景题1.如何对10亿个词语进行排序,找出频率最高的100个算法题，10亿个32位正整数，求不同值，只给1GB内存。。。3、AI能用在游戏的哪些方面。4、如果让我用AI技术怎么加入AI元素5、你觉得你的构想能实际实现吗？6、那这个技术加进去有什么实际上的意义？十、项目1、项目中涉及的算法有了解情况2、模型的搭建，后处理，数据中发现的特征，发现的亮点。3、数据量和涉及的算法，效果。4、你是怎么处理数据中经常存在的数据不平衡的问题。5、考察项目中的roi-pooling6、自我介绍7、项目介绍8、问了下项目怎么做的9、问了一下项目和简历10、描述一个算法项目从kickoff-落地的全过程11、扣项目，问简历，其中涉及的算法和上面差不多12、对项目中一些技术选型产生质疑，并友好的一起讨论了这个问题13、扣简历的项目，扣的很细14、扣简历15、扣简历，问得太细了，每个项目都要回答如果再做一次，有什么改进的地方，both算法上和模型选择上16、聊简历项目，对搜索推荐算法的了解17、简历上聚类项目用到的ISODATA算法比kmeans有哪些改进18、自我介绍，19、然后让我说一下自己最印象深刻的项目。问我项目的最终成果，分析失败的原因。20、主要是问项目，根据项目里问一些细的技术点，比如gan在实际实现中的loss是什么21、第五轮面试：主要是问项目22、第二轮技术面：两个面试官面我一个。23、看过的论文，讨论论文24、针对岗位需求和我简历里的内容进行提问25、自我介绍26、项目经历介绍下27、项目中遇到的最大困难28.自我介绍29、针对简历里的第一个项目问的一些问题30、针对项目3，让解释下DOA估计33、.你的C/C++怎么样？34、自我介绍？35、谈谈实习项目？36、项目难点？37、说一下你简历里的图像识别的项目38、来问我现在在做什么项目，然后我说OCR，然后介绍了一下39、自我介绍40、项目经历详细介绍：两种预测方式区别，pair的预测方式，整体项目有哪些可以提升的，遇到的困难之类的，整个项目用了哪些库？41、看过的论文，讨论论文42、论文flow情况43、自我介绍44、英特尔实习：项目介绍：台球识别和分类使用的方法，Hough变换原理、后处理45、Kaggle比赛：背景介绍，数据清洗、数据增强、类别平衡，最终成绩，与前几名差距在哪，有没有尝试集成的方法。46、GAN小论文：做了什么，最终效果47、GAN小论文，做了哪些工作，详细公式推一下，对GAN的具体应用有了解吗？48、简历上项目为何适用xgboost和lr，对比其他分类算法的场景优势。49、GAN小论文，你做了什么，有哪些改进，在哪些数据集上做过实验，分辨率是多少？50、英特尔实习：1）项目背景。台球检测和分类方法，球杆检测方法，球杆遮挡问题怎么处理，不用分类器，直接分割或计算图像差值会怎样？51、有什么问题想了解一下十一、hr面1.自我介绍2.几点过来的？3.你有什么跟别人不一样的？4.你的缺点是什么？5.家里几口人？6.搞技术的你怎么很能说啊？7.为什么喜欢杭州？8.为什么喜欢菜鸟？9.如果你面试失败，你会怎么办？10.菜鸟跟你相关的部门？11.有女朋友吗？12.在哪里工作？13.从事什么行业？14.如果你的岗位有冲突，你会怎么处理？15.实习时间，具体什么时候可以开始？16.你有什么想问的吗？17、有没有对象呀，意向地点是哪？18、对公司有哪些了解19、兴趣爱好、意向地点20、hr面就是常见的问题，城市啊，薪资待遇啊，对部门的评价，对总监的评价21、自我评价优缺点，怎么改进22、hr抠了简历细节，问了笔试试卷相关的问题（为什么工科生要选择做文案卷，笔试题目印象比较深的是什么等等）还有自己的职业规划等23、想去的工作城市24、考研还是保研，为什么考到这个学校25、研究生期间最大的改变是什么26、四六级成绩27、讨论下工作地点和期望薪资28、你三年的职业规划是什么？29、你和周围的人比你的优势在哪？举个例子30、考研的还是保研的？为什么没有保研？31、家庭成员？家里人对你的工作地点有要求吗？32、平时喜欢运动吗？33、设计模式会吗？34、转岗吗？35、平时刷题吗？你刷过最有意思的题是啥，说一哈36、我看你之前还做过销售，聊一下37、hr面:确定并不是二面说的转岗，而是去做数据挖掘十一、数据挖掘1、开放题:预测一位学生期末是否挂科，需要挖掘哪些信息。十二、学习与发展1、如果有同学要学机器学习，你会建议他们从哪里做起2、个人发展，以及对自己项目的深入思考，还有深度学习的发展之类的。3、讲很多关于深度学习以及机器学习的具体应用与实现，也谈到了自己在实际工作中遇到的困难。4、之后面试官问了些我对人工智能的看法，以及相关竞赛的情况5、自我介绍6、为什么选择做语音方向？7、为什么选择实习，而不是在学校做研究？机器学习/算法部分的考点答案看这里：附机器学习和算法知识点思维导图和答案~机器学习/算法校招面试考点汇总（附面试题和答案）【持续更新】_笔经面经_牛客网​www.nowcoder.com---------------------------由于篇幅的限制，暂时只能放这3个方向的了。除了这3个方向的，牛客还汇总了前端、测试岗位的考点汇总，50W字的汇总都在这里了（附答案）：C++、Java、机器学习、前端、测试，50w字+的技术类校招面试题汇总（附答案+考点）​www.nowcoder.com希望大家都能好好学习鸭！觉得有用请给牛妹点个赞呀~~