上周面经(网易有道,腾讯)

网易有道

一面:(很久之前的了)(45min)

1.上来手撕一个链表反转

2.问tcp拥塞控制,流量控制

3.数据库事务隔离级别,可能出现的问题

4.由3问题导出mvcc的概念,让说出自己理解的部分

5.SpringBean生命周期。

6.git命令,没答好,其实他想问我gitmerge与git rebase的区别

7.再次写代码,给定一个字符串,输出最长回文子串

意外收到二面现场面通知

二面

问的比较深

1.代码实现根号2,保留小数点后10位。

2.手撕一致性hash

3.问数据库的锁机制,从表锁问到行锁,每讲一个点都需要说清楚为什么。就这个扯到了mvcc,binlog,redolog,undolog。

4.synchronized关键字底层原理,从无锁讲到重量级锁。synchronized这种悲观锁为什么开销大,你是怎么理解的。

5.Java8新特性,用过哪些。

6.jvm虚拟机除了可以用在Java上,还可以用到其他语言上吗?

7.加锁解锁过程中,线程内具体的操作了解过吗?(真的很深层次了,考察你对常见的问题的深入理解)

腾讯

一面:csig,中间件

1.项目

2.项目中单进程模型,怎样做到的高并发。(这个我没考虑过,下来查了一下,servlet是单实例多线程的模型。具体的可能会涉及到tomcat最大连接数,最大线程数的概念)

3.代码中有线程池的概念吗?如果结合你的项目设计线程池,你应该怎么设计

4.redis集群中保证高可用,哨兵概念,持久化机制,redis是单进程的,持久化过程怎么进行。redis中有哪些数据结构,简单说一下,你项目中存的内容都用过哪些数据结构。redis 有序集合的底层是什么,跳表的特点有哪些,具体实现是什么。比如插入过程说一下。

5.redis的IO模型,从select讲到了poll,epoll,详细将epoll。为什么epoll只拷贝一次,而另外两种需要拷贝多次。具体是通过什么机制实现的。回调,哪里体现到了回调。回调函数源码看过吗?写过吗?

6.分布式系统了解过吗(csig中间件团队,我这真没搞过)

7.TCP 拥塞控制,流量控制说一下,滑动窗口

8.怎么判断网络上发生了拥塞,重传?失序?(提示了quic算法 ppi算法)

9.tcp_reuse ,timestamp参数(具体的time_wait参数相关)大量time_wait需要做的处理

10.为什么time_wait是2MSL,2MSL时长是多少,为什么需要将time_wait设置减小,调整时间有什么意义。(需要再深入再详细一些)如何让time_wait快速回收。

11.tcp里面的接收窗口(没get到点)。接收窗口如果是0,什么情况。详细说一下。

12.tcp粘包(没看过啊)

二面(T3.3大佬面的,佩服佩服,状态已灰)

1.Java中异步调用或者说异步IO实现了解吗?我说了说咱们项目中,做异步解耦的一个思想。

2.TCP中RTT,RTO相关计算公式,给解释一下。给了提示,tcp传输一组数据要用多长时间。

3.操作系统层面,CPU调用线程完成任务的过程,面试官提示我软中断,我感觉回答不上来。

4.讲一下DFS过程,口述。说思想即可。然后问了一个有向图判断循环引用的问题。我回答拓扑排序和dfs都可以。然后让我讲了讲在实际应用场景中,哪一个效率更高,为什么。

5.线程上下文切换为什么越频繁越耗费资源。

6.一开始还问了一个比较开放的题目,结合gc回收机制,说一说你在java编码过程中需要注意的规范

#腾讯##网易有道##面经##Java工程师#
全部评论
厉害
点赞 回复
分享
发布于 2019-08-26 09:28
好难啊,问的这么细节
点赞 回复
分享
发布于 2019-08-26 09:33
联想
校招火热招聘中
官网直投
这些问题是真的难,每个点都很深入了。。。 问一下LZ,git merge 和git rebase的区别要怎么讲呢,看了一些博客感觉不是很明白
点赞 回复
分享
发布于 2019-08-26 10:05
楼主本科还是研究生呀
点赞 回复
分享
发布于 2019-08-26 14:47
请问楼主有道二面以后有消息了吗,进三面了吗
点赞 回复
分享
发布于 2019-08-27 09:11
请教楼主,腾讯一面里面“怎么判断网络上发生了拥塞,重传?失序?”quic算法和ppi算法都是什么啊?
点赞 回复
分享
发布于 2020-04-05 19:04

相关推荐

7 105 评论
分享
牛客网
牛客企业服务