头条后端开发面经分享(面经重发)

头条后端开发面经分享

因为每个人的理解不太一样,所以我在这里就不给出所谓的答案了,大家可以根据自己的理解加以描述,我只在一些地方做出一些提示。有的问题已经忘了,大概也就这些了。

一面:

进程和线程以及它们之间的区别(我通过对比多个面经,发现这道是必考题,划重点)

进程间的通信方式和对应的同步方式,你用过吗?具体怎么用?

TCP和UDP的区别

三次握手、四次挥手,为什么?

TCP如何保证传输的可靠性?

TCP的拥塞控制,具体过程是怎么样的?UDP有拥塞控制吗?如何解决?

算法题:

一个链表,假设第一个节点我们定为下标为1,第二个为2,那么下标为奇数的结点是升序排序,偶数的结点是降序排序,如何让整个链表有序?(分离链表,合并两个有序链表)

假设我们有一个队列,可能存放几千万上亿的数据,我们应该如何设计这个队列?写出来看看?(提问:这个队列是只需要在头尾添加和删除吗?双向队列?答:是的)

一个二维矩阵,从左到右是升序,从上到下是降序,找一个数是否存在于矩阵中(类似于二叉查找树)

二面:

前面面试官已经问了你三道算法了,那我就随便问一道吧:翻转链表(面试官:能不能用c写)....(然后让我一边写一边跟他讲redis)

redis:

你知道redis有哪几种数据类型吗?你比较熟悉哪几种?为什么?

讲讲redis里面的哈希表吧

一个URL从浏览器输入到响应页面,整个过程是怎么样的,能讲得多详细就讲多详细。

你说HTTP可以进行多路复用,具体是怎么复用?如果服务器挂掉或者客户端挂掉,会怎么样?

HTTP的各种头你了解吗?每种头具体是什么作用?说一下

你说arp会进行广播,会造成网络风暴,那应该怎么解决?

你知道CDN吗?说一下

BIO NIO AIO说一下?epoll了解吗?用过吗?具体调用OS什么方法?webSocket呢?

创建进程调用的是OS哪些方法?具体说说

我们聊聊JAVA吧,你了解JVM吗?给我讲讲

JVM具体会在什么时候进行垃圾回收?JMM具体说说?

垃圾回收算法具体说说?各种垃圾回收器了解吗?什么时候执行STOP THE WORLD?

三面:

感觉应该是总监,很高冷。

说说项目?(没啥兴趣)

我们聊聊JAVA吧,现在我要求设计一个容器,容器满的时候生产者阻塞,容器空的时候消费者阻塞(我跟他讲了一下BlockingQueue和Condition,然后用Condition来写)

二叉树的最大路径。

好吧,今天就到这里了(哈???)

三面面完一度觉得自己凉透了,过两天收到offer call,然后就收到offer了。白菜价,很高兴了。

总的来说,个人感觉头条面试算法题不难(应该是给我放水了,谢谢面试官),不过绝对不能做不出来。基础一定要牢固,一些细节问题一定要搞清楚,一般还会问一些设计问题,这种问题就要靠灵机一动了(其实主要还是看对各种原理的理解,例如说那道队列的问题)。噢,对了,还有一件事,一面是要求自己写测试用例运行的,所以coding一定要快准狠。

#Java工程师##面经##秋招#
全部评论
问的还挺友好的
点赞 回复
分享
发布于 2018-11-25 18:19
深圳?
点赞 回复
分享
发布于 2018-11-25 20:28
联想
校招火热招聘中
官网直投
楼主,研究生还是本科生?
点赞 回复
分享
发布于 2018-11-26 14:54
好奇阿里的白菜价是多少😂
点赞 回复
分享
发布于 2018-11-29 12:36
反正算法题我不会,这里面的大部分知识都会,除了Java的,http报文还懂一点,我这样有希望吗
点赞 回复
分享
发布于 2018-12-07 00:47
请问是校招吗?
点赞 回复
分享
发布于 2019-07-28 00:01
楼主,那个千万数据的队列怎么设计啊,网上也搜不到
点赞 回复
分享
发布于 2019-08-16 14:43
一个二维矩阵,从左到右是升序,从上到下是降序,找一个数是否存在于矩阵中(类似于二叉查找树) 我觉得和二叉查找树没有啥关系吧,就是一个查找而已。
点赞 回复
分享
发布于 2020-05-23 23:18

相关推荐

点赞 评论 收藏
转发
11 293 评论
分享
牛客网
牛客企业服务