ITPub博客

首页 > 数据库 > 数据库开发技术 > 如何准备互联网技术岗位的面试笔试?

如何准备互联网技术岗位的面试笔试?

原创 数据库开发技术 作者:阿尔迪斯工作室 时间:2020-08-08 12:47:42 0 删除 编辑

题主没有写自己要求职哪个岗位,即使是技术岗,若是不同的方向,如: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++中的smart pointer四个智能指针

10、请回答一下数组和指针的区别

11、请你回答一下野指针是什么

12、请你介绍一下C++中的智能指针

13、请你回答一下智能指针有没有内存泄露的情况

14、请你来说一下智能指针的内存泄漏如何解决

15、请你理解的c++中的引用和指针

16、请你来说一下C++中的智能指针

17、请你回答一下为什么析构函数必须是虚函数,为什么C++默认的析构函数不是虚函数

18、请你来说一下函数指针

19、请你来说一下fork函数

20、请你来说一下C++中析构函数的作用

21、请你来说一下静态函数和虚函数的区别

22、请你来说一说重载和覆盖

23、请你来说一说static关键字

24.、请你说一说strcpy和strlen

25、请你说一说你理解的虚函数和多态

26、请你来回答一下++i 和 i++的区别

27、请你来说一说++i 和 i++的实现

28、请你来写个函数在main函数执行前先运行

29、有段代码写成了下边这样,如果在只修改一个字符的前提下,使代码输出20个hello

30、请你来说一下智能指针shared_ptr的实现

31、以下四行代码的区别是什么

32、请你来说一下C++里是怎么定义常量的?常量存放在内存的哪个位置?

33、请你来回答一下const修饰成员函数的目的是什么?

34、如果同时定义了两个函数,一个带const,一个不带,会有问题吗?

35、请你来说一说隐式类型转换

36、说说你了解的类型转换

37、请你来说一说C++函数栈空间的最大值

38、请你来说一说extern“C”

39、请你回答一下new/delete与malloc/free的区别是什么

40、请你说说你了解的RTTI

41、请你说说虚函数表具体是怎样实现运行时多态的?

42、请你说说C语言是怎么进行函数调用的?

43、请你说说C语言参数压栈顺序?

44、请你说说C++如何处理返回值?

45、请你回答一下C++中拷贝赋值函数的形参能否进行值传递?

46、请你回答一下malloc与new区别

47、请你说一说select

48、请你说说fork,wait,exec函数

49、请你回答一下静态函数和虚函数的区别

50、请你说一说重载和覆盖

51、请你说一说static关键字

52、请你说一说strcpy和strlen

2、容器和算法

1、请你来说一下map和set有什么区别,分别又是怎么实现的

2、请你来介绍一下STL的allocaotr

3、请你来说一说STL迭代器删除元素

4、请你说一说STL中MAP数据存放形式

5、请你讲讲STL有什么基本组成

6、请你说说STL中map与unordered_map

7、请你说一说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、请你来回答一下什么是memory leak,也就是内存泄漏

9、请你来回答一下new和malloc的区别

10、请你来说一下 共享内存相关api

11、请你来说一下reactor模型组成

12、请自己设计一下如何采用单线程的方式处理高并发

13、请你说说C++如何处理内存泄漏?

14、请你说说select,epoll的区别,原理,性能,限制都说一说

15、请你说一说C++ STL 的内存优化

6、C++11

1、请问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 、A a = new A; 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、请你回答一下为什么要有page cache,操作系统怎么设计的page cache

63、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、请你说一说inner join和left join

8、请你聊一聊数据库事物的一致性

9、请你说说索引是什么,多加索引一定会好吗

10、k-v存储中,key有哪些要求?

11、介绍数据库中的WAL技术

2、Mysql

1、请你说一说mysql的四种隔离状态

2、请你介绍一下mysql的MVCC机制

3、请问SQL优化方法有哪些

4、请你说一下MySQL引擎和区别

3、Redis

1、请你回答一下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++两种map

9、请问红黑树了解吗

10、请你说一说红黑树的性质还有左右旋转

11、请你说一说红黑树的原理以及erase以后迭代器的具体分布情况?

12、请你实现二叉树的层序遍历并输出

13、手写代码:二叉树序列化反序列化

2、堆与栈

1、请说一说你理解的stack overflow,并举个简单例子导致栈溢出

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++知识点思维导图和答案~

图标

Java方向

一、JavaSE部分

1、Java基础

1、为什么重写equals还要重写hashcode

2、说一下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-O notation)么?你能给出不同数据结构的例子么?

14、String是最基本的数据类型吗?

15、int 和 Integer 有什么区别?

16、String 和StringBuffer的区别?

17、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?

18、Struts跟Spring mvc的区别?

19、&和&&的区别?

20、在Java中,如何跳出当前的多重嵌套循环?

21、你能比较一下Java和JavaSciprt吗?

22、简述正则表达式及其用途。

23、Java中是如何支持正则表达式操作的?

24、请你说说Java和PHP的区别?

2、关键字

1、介绍一下Syncronized锁,如果用这个关键字修饰一个静态方法,锁住了什么?如果修饰成员方法,锁住了什么?

2、介绍一下volatile?

3、锁有了解嘛,说一下Synchronized和lock

4、讲一讲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、abstract class 和 interface有什么区别?

23、Static Nested Class 和 Inner Class的不同

24、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

25、Java 的接口和C++的虚类的相同和不同处。

26、JAVA 语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在 try 块中可以抛出异常吗?

27、内部类可以引用他包含类的成员吗?有没有什么限制?

28、两个对象值相同(x.equals(y) == true),但却可有不同的hash code说法是否正确?

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、什么是线程池(thread pool)?

31、说说线程的基本状态以及状态之间的关系?

32、如何保证线程安全?

6、锁

1、讲一下非公平锁和公平锁在reetrantlock里的实现。

2、讲一下synchronized,可重入怎么实现。

3、锁和同步的区别。

4、什么是死锁(deadlock)?

5、如何确保N个线程可以访问N个资源同时又不导致死锁?

6、请你简述synchronized和java.util.concurrent.locks.Lock的异同?

7、JDK

1、Java中的LongAdder和AtomicLong的区别

2、JDK和JRE的区别是什么?

8、反射

1、反射的实现与作用

9、JVM

1、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、GC

1、java中内存泄露是啥,什么时候出现内存泄露?

2、minor gc如果运行的很频繁,可能是什么原因引起的,minor gc如果运行的很慢,可能是什么原因引起的?

3、阐述GC算法

4、GC是什么? 为什么要有GC?

5、垃圾回收的优点和原理。并考虑2种回收机制

6、java中会存在内存泄漏吗,请简单描述。

7、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?(垃圾回收)

11、IO和NIO、AIO

1、怎么打印日志?

2、运行时异常与一般异常有何异同?

3、error和exception有什么区别?

4、给我一个你最常见到的runtime exception

5、Java中的异常处理机制的简单原理和应用。

6、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?

7、什么是java序列化,如何实现java序列化?

8、运行时异常与受检异常有什么区别?

二、JavaEE部分

1、Spring

1、说一下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拦截器和Spring AOP区别?

17、spring框架的优点?

18、选择使用Spring框架的原因(Spring框架为企业级开发带来的好处有哪些)?

19、持久层设计要考虑的问题有哪些?你用过的持久层框架有哪些?

2、Hibernate

1、阐述实体对象的三种状态以及转换关系。

2、Hibernate中SessionFactory是线程安全的吗?Session是线程安全的吗(两个线程能够共享同一个Session吗)?

3、Hibernate中Session的load和get方法的区别是什么?

4、如何理解Hibernate的延迟加载机制?在实际应用中,延迟加载与Session关闭的矛盾是如何处理的?

4、简述Hibernate常见优化策略。

5、锁机制有什么用?简述Hibernate的悲观锁和乐观锁机制。

6、Hibernate如何实现分页查询?

7、谈一谈Hibernate的一级缓存、二级缓存和查询缓存。

3、Struts

1、说说STRUTS的应用

4、Mybatis

1、解释一下MyBatis中命名空间(namespace)的作用。

2、MyBatis中的动态SQL是什么意思?

5、MVC

1、Spring MVC注解的优点

2、springmvc和spring-boot区别?

3、SpringMVC的运行机制,运行机制的每一部分的相关知识?

4、谈谈Spring MVC的工作原理是怎样的?

6、各框架对比与项目优化

1、Mybatis和Hibernate区别?

2、介绍一下你了解的Java领域的Web Service框架。

7、JPA

1、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。

2、EJB与JAVA BEAN的区别?

3、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?

4、EJB的角色和三个对象是什么?

5、说说EJB规范规定EJB中禁止的操作有哪些?

6、EJB的激活机制是什么?

7、EJB的几种类型分别是什么

8、EJB需直接实现它的业务接口或Home接口吗,请简述理由。

三、Java  web编程

1、web编程基础

1、启动项目时如何实现不在链接里输入项目名就能启动?

2、1分钟之内只能处理1000个请求,你怎么实现,手撕代码?

3、什么时候用assert

4、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、Servlet 3中的异步处理指的是什么?

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、请问Java Web开发的Model 1和Model 2分别指的是什么?

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、什么是Web Service(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操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?

五、XML

1、XML基础

1、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?

2、Web Service

1、WEB SERVICE名词解释,JSWDL开发包的介绍,JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。

2、请你谈谈对SOAP、WSDL、UDDI的了解?

3、谈谈Java规范中和Web Service相关的规范有哪些?

六、计算机网络

1、网络概述

1、TCP协议在哪一层?IP协议在那一层?HTTP在哪一层?

2、运输层

1、讲一下TCP的连接和释放连接。

2、TCP有哪些应用场景

3、tcp为什么可靠

4、tcp为什么要建立连接

5、阐述TCP的4次挥手

6、讲一下浏览器从接收到一个URL到最后展示出页面,经历了哪些过程。tag

7、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)和静态区(static area)的用法。

8、队列

1、什么是Java优先级队列(Priority Queue)?

9、高级算法

1、题目:

Design and implement a data structure for Least Frequently Used (LFU) cache. It should support the following operations: get and put.

get(key) - Get the value (will always be positive) of the key if the key exists in the cache, otherwise return -1.

put(key, value) - Set or insert the value if the key is not already present. When the cache reaches its capacity, it should invalidate the least frequently used item before inserting a new item. For the purpose of this problem, when there is a tie (i.e., two or more keys that have the same frequency), the least recently used key would be evicted.

Could you do both operations in O(1) time complexity?

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、有十万个单词,找出重复次数最高十个?

十一、UML

1、UML

1、请你谈一下UML中有哪些常用的图?

Java考点部分的考点答案看这里:

附Java知识点思维导图和答案~

图标

机器学习/算法

一、数学基础:

1、微积分

1、SGD,Momentum,Adagard,Adam原理

2、L1不可导的时候该怎么办

3、sigmoid函数特性

2、统计学,概率论

  1. 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、求m k矩阵A和nk矩阵的欧几里得距离?

2、PCA中第一主成分是第一的原因?

3、欧拉公式

4、矩阵正定性的判断,Hessian矩阵正定性在梯度下降中的应用

5、概率题:抽蓝球红球,蓝结束红放回继续,平均结束游戏抽取次数

6、讲一下PCA

7、拟牛顿法的原理

8、编辑距离

二、机器学习算法

1、处理分类问题常用算法

1、交叉熵公式

2、LR公式

3 LR的推导,损失函数

4、逻辑回归怎么实现多分类

5 、SVM中什么时候用线性核什么时候用高斯核?

6、什么是支持向量机,SVM与LR的区别?

7.监督学习和无监督学习的区别

8.机器学习中的距离计算方法?

9、问题:朴素贝叶斯(naive Bayes)法的要求是?

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、问题:Loss Function有哪些,怎么用?

3、问题:线性回归的表达式,损失函数;

4、线性回归的损失函数

5、机器学习:知道哪些传统机器学习模型

3、处理聚类问题常用算法

1、什么是DBSCAN

2、k-means算法流程

3、LDA的原理

4、介绍几种机器学习的算法,我就结合我的项目经理介绍了些RF, Kmeans等算法。

5、KMeans讲讲,KMeans有什么缺点,K怎么确定

6、Kmeans

7、DBSCAN原理和算法伪代码,与kmeans,OPTICS区别

4、推荐系统的常用算法

1、 问推荐算法,fm,lr,embedding

2、协同过滤的itemCF,userCF区别适用场景

3、 推荐系统的大概步骤,解决冷启动。。。

4、传统的机器学习算法了解吗

5、用mapreduce实现10亿级以上数据的kmeans

6、Kmeans

7、A/B test如何进行流量分流

8、协同过滤中的算法怎么细分

9、FM公式

10、FM公式

5、模型融合和提升的算法

1 bagging和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的特征重要性计算

14 xgboost的正则项表达式

15 xgboost原理,怎么防过拟合

16、xgboost,rf,lr优缺点场景。。。

17、xgboost特征并行化怎么做的

18、 xgboost和lightgbm的区别和适用场景

6、其他重要算法

1、问题:HMM隐马尔可夫模型的参数估计方法是?

2、问题:Bootstrap方法是什么?

3、问题:如何防止过拟合?

4、 EM算法推导,jensen不等式确定的下界

三、机器学习

1、Scikit-learn

1、Focal Loss 介绍一下

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、Libsvm

1、 检测20类物体,多少张训练集,怎么训练

2、 lightgbm优势

3、Keras/tensorflow

1、MXNet和Tensorflow的区别

2、Tensorflow的工作原理

3.Tensorflow中interactivesession和session的区别

手写了tensorflow的图像分类代码,还有问之前线下笔试最后编程题的思路,算法复杂度,然后项目也问。

四、深度学习

1 BatchNormalization的作用

2、梯度消失

3、循环神经网络,为什么好?

4、什么是GroupConvolution

5、什么是RNN

6、训练过程中,若一个模型不收敛,那么是否说明这个模型无效?导致模型不收敛的原因有哪些?

7、图像处理中锐化和平滑的操作

8、VGG使用3*3卷积核的优势是什么?

9、Relu比Sigmoid的效果好在哪里?

10、问题:神经网络中权重共享的是?

11、问题:神经网络激活函数?

12、问题:在深度学习中,通常会finetuning已有的成熟模型,再基于新数据,修改最后几层神经网络权值,为什么?

13、问题:画GRU结构图

14、Attention机制的作用

15、Lstm和Gru的原理

16、什么是dropout

17、LSTM每个门的计算公式

18、HOG算法原理

19、DropConnect的原理

20、深度学习了解多少,有看过底层代码吗?caffe,tf?

21、除了GMM-HMM,你了解深度学习在语音识别中的应用吗?

22、用过哪些移动端深度学习框架?

23、Caffe:整体架构说一下,新加一个层需要哪些步骤,卷积是怎么实现的,多卡机制,数据并行还是模型并行?

18、HOG算子是怎么求梯度的

1、BN层的作用,为什么要在后面加伽马和贝塔,不加可以吗

2、梯度消失,梯度爆炸的问题,

3、Adam

4、attention机制

5、RNN梯度消失问题,为什么LSTM和GRU可以解决此问题

6、GAN网络的思想

7、1*1的卷积作用

8、怎么提升网络的泛化能力

9、什么是seq2seq model

10、激活函数的作用

11、为什么用relu就不用sigmoid了

12、讲一下基于WFST的静态解码网络的语音识别流程?

13、目标检测了解吗,Faster RCNN跟RCNN有什么区别

14、SPP,YOLO了解吗?

15、梯度消失梯度爆炸怎么解决

16、RNN容易梯度消失,怎么解决?

17、LSTM跟RNN有啥区别

18、卷积层和池化层有什么区别

19、 防止过拟合有哪些方法

20、dropout咋回事讲讲

21、relu

22、神经网络为啥用交叉熵。

23、注意力公式

24、论文flow情况

25、Flappy.Bird开发者,怎么利用DNQ方法强化学习你的游戏AI

26、LeNet-5结构

27、推导LSTM正向传播和单向传播过程

28、LSTM原理,与GRU区别

29、DNN的梯度更新方式

30、 CNN为什么比DNN在图像识别上更好

31、现场用collabedit写代码,一个怪异的归并算法。。。之前没遇到过,直接把归并写出来,但是说复杂度太高,优化了三遍还不行,最后说出用小顶堆解决了。。。

32、LSTM和Naive RNN的区别

33、神经网络为啥用交叉熵。

34、注意力公式

35、Inception Score 评价指标介绍

36、使用的 CNN 模型权重之间有关联吗?

37、CycleGAN 原理介绍一下

38、训练 GAN 的时候有没有遇到什么问题

39、百度实习:CPM 模型压缩怎么做的?有压过 OpenPose 吗?

40、用过哪些 Optimizer,效果如何

41、图像基础:传统图像处理方法知道哪些,图像对比度增强说一下

42、介绍一下图像的高频、低频部分,知道哪些图像补全的方法

43、百度实习:模型压缩的大方向。CPM 模型怎么压缩的,做了哪些工作?

44、Depthwise 卷积实际速度与理论速度差距较大,解释原因。

45、RetinaNet 的大致结构画一下

46、RetinaNet为什么比SSD效果好

五、数据结构与算法

1、查找

1、手写二分查找

  1. 算法题,单调函数求零点 (简单的二分法)

3、特别大的数据量,实现查找,排序

2、哈希

1 Hash表处理冲突的方法

2、一致性哈希

3、Hash表处理冲突的方法

4、apriori

5、KM算法

3、表达式、字符串

1、中缀表达式转后缀表达式

2、算法题:翻转中间由各种符号隔开的字符串

3、问题:A+B∗(C−D)/E的后缀表达式。

4、栈与堆

1、大顶堆怎么插入删除

2、堆栈区别

3、栈溢出有哪些情况

5、树

1、问题: 手撕代码,根据前序,中序创建二叉树。

2、算法题:从右边看被遮挡的二叉树,求露出的node

3、算法题,给前序和中序,求出二叉树

4、算法题,trim二叉搜索树

5、红黑树

6、排序

1、对一千万个整数排序,整数范围在[-1000,1000]间,用什么排序最快?

2、堆排序的思想

3、冒泡排序

4、快速排序的最优情况

5、抽了两道面试题目两道。8个球,1个比较重,天平,几步找到重的?

6、算法题: topK给出3种解法

7、快排

8、快排

9、说一下小顶堆的调整过程

10、算法题:2sum,3sum

7、高级算法

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、算法题,单链表判断是否有环 (leetcode easy),以及判断环入口

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.python dict按照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、map reduce实现笛卡尔乘积

3、 是否写过udf,问udaf,udtf区别和一些细节

七、自然语言处理

1、Word2vec

1、Word2Vec中skip-gram是什么,Negative Sampling怎么做

2、FastText和Glovec原理

3、word2vec实施过程

4、softmax的原理了解

5、Wod2vec公式

6、Wod2vec公式

7、使用gensim的word similar方法预测句子

八、计算机基础

1、linux

1、ELF的bss段

2、计算机网络

1、ip报文经过一个路由器改变哪些字段?

2、TCP/IP算法,IP寻址

3、操作系统

1.如何将小端存储模式转为大端存储模式

2、Python 锁

4、数据库

1 .count(*),count(1)和count(列名)的区别

九、场景题

1 .如何对10亿个词语进行排序,找出频率最高的100个

  1. 算法题,10亿个32位正整数,求不同值,只给1GB内存。。。

3、AI能用在游戏的哪些方面。

4、如果让我用AI技术怎么加入AI元素

5、你觉得你的构想能实际实现吗?

6、那这个技术加进去有什么实际上的意义?

十、项目

1、项目中涉及的算法有了解情况

2、模型的搭建,后处理,数据中发现的特征,发现的亮点。

3、数据量和涉及的算法,效果。

4、你是怎么处理数据中经常存在的数据不平衡的问题。

5、考察项目中的roi-pooling

6、自我介绍

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、为什么选择实习,而不是在学校做研究?

机器学习/算法部分的考点答案看这里:

附机器学习和算法知识点思维导图和答案~

机器学习/算法校招面试考点汇总(附面试题和答案)【持续更新】_笔经面经_牛客网 图标

---------------------------

由于篇幅的限制,暂时只能放这3个方向的了。

除了这3个方向的,牛客还汇总了 前端、测试岗位的考点汇总,50W字的汇总都在这里了(附答案):


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69981315/viewspace-2710201/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2020-08-08

  • 博文量
    1
  • 访问量
    141