头条JAVA后端实习生面经

当初刚考完研就去投的简历,头条他们反馈很快,考完研第三天就得去面试了,没来得及准备多少。大家想去头条实习的最好先准备准备再投啊!!

一面:

1.设计模式有哪些?具体说一下。(我简历上有写学过这门课程,常见的设计模式说了一下。掌握不太好的课程别写到简历啊!面试完小哥哥说其实他们不太注重考查设计模式)

2.Linux操作命令知道哪些。(Linux全忘光了,只能瞎掰几个简单的命令)

3.Linux如何进行线程调度?(这个当初不会,好久没碰Linux了)

4.Mysql数据库是如何实现索引的?(这个好像很常考,我讲了下底层的实现)

5.聚簇索引和非聚簇索引的区别。(上一题我提了一下这个,大家可以准备一下答题内容,适当引导面试官问你)

6.事务的ACID解释一下。(数据库基础题)

7.在分布式系统如何实现事务的ACID?(分布式挺热门的,可惜我没了解,不会)

8.解释一下DNS和网关和子网掩码。(计网基础题)

9.输入域名对应能找到多少个IP地址?

10.解释一下http的get和pose方法。(瞎答了,都忘了)

11.cookie和session有什么区别?(上一题我提了下这两个东西)

12.解释平衡树和动态平衡树。(问的挺详细的,不记得我怎么答的了,就看你对课本基础知识的了解深不深,变式了不了解)

 

13.给定一个单链表如何找到中间结点?写出代码。(网上好像有很多对链表的操作的算法题)

14.写一个单链表的翻转算法。(数据结构基础题)

15.取数据库某属性正序的第二条数据,写出指令。(数据库基础题)

 

二面:

1.求图的最短路径有哪些算法?(数据结构基础题)

2.分别说一下Prim, Dijkstra, Kruskal, Bellman Ford, Floyd算法。(上一题我提了下这几个算法,数据结构基础题)

3.讲一下操作系统的内存管理。(我那个学校考研初试不考操作系统啊啊,忘了,后来准备复试看看好像是操作系统基础题)

4.讲讲分页、虚拟内存。(操作系统基础题,当时我也不记得)

5.Mysql索引怎么实现的?(常问题)

6.为什么大家用B+数而不用红黑数和AVL树去实现它?(上一题我说到了B+树,这题我只讲了下为什么用B+数,看你能不能灵活运用课本知识了)

7.B+数查找的时间复杂度是多少?(数据库基础题)

8.比较排序算法的时间复杂度下界是多少?(当时我脑子里只记得常用排序算法中时间复杂度最低的是多少,不知道对不对)

9.如果我要低于这个界限,应该怎么改进?(不会啊啊啊)

10.讲一下桶排序算法。(数据结构基础题)

11.查找算法时间复杂度的下界是多少?(和第八题一样)

 

12.写一下Dijkstra算法。(啊数据结构基础题,可是我只记得大概,写得不是很通顺)

13.求一个无序数组中第k个数,写出其实现过程。其最优算法的复杂度是多少?(这个好像经常问到)

14.写一个shuffle算法。(写了个最简单的乱序的算法,自己都看不下去了)

15.实现一下,有一棵二叉树,每个结点都有一个next指针,用该指针把每层的结点连起来。(哎写出来有好多小错误,一看就编译不了,写了好久)

 

然后二面就挂了,他们对手撕代码还是很看重得,不能只知道怎么实现。我走的时候小哥哥说要多在网上练练算法啊编程,要能很快的写出来。像数据结构、计网、数据库、操作系统要很熟地掌握,他们会尽可能地挖深。他们好像不怎么问项目,都是在考察基础,可能因为我还没毕业。大家加油啊!!

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(头条JAVA后端实习生面经)