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

网易有道

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

相关推荐

03-30 20:53
东南大学 C++
一、自我介绍 / 岗位匹配 / 方向选择1.请做一下自我介绍。2.你之前主要投的是后台岗位,为什么后来转向客户端?3.你说自己和后台岗位匹配度不高,主要差在哪些方面?4.你对移动客户端开发岗位是怎么理解的?5.你为什么会考虑客户端 / SDK / AI 应用这些方向?二、实习项目整体理解:端侧特征平台做什么6.你在字节这段实习主要做了什么?7.你们这个 SDK 的定位是什么?是跨端的吗?8.你们这套东西更像 APM、数据采集,还是特征处理平台?9.你对这套业务在线上产品里的完整流程理解到什么程度?10.原始事件是怎么转成特征,并最终被业务方使用的?三、本地数据库 / SQL / 特征查询链路11.你们端上的数据是怎么存的?为什么用本地数据库?12.这个数据库用的是什么?它是普通数据库,还是有针对性能做特殊设计?13.你看到过哪些查询 / SQL 优化相关的内容?14.你做的 SQL 复用优化,本质上是在优化什么问题?四、设备特征缓存优化:设计、指标、并发问题15.你讲一下设备特征缓存优化这个需求的背景和方案。16.为什么会想到做 2s / 10s / 90s 这样的分层缓存?这些数值是怎么定的?17.你这个缓存是怎么检查过期、怎么更新的?18.这套缓存是你们第一次上线的吗?19.最终的优化收益是怎么测出来的?30%、Android 4.8%、iOS 2.5% 分别代表什么?20.你这里用到的智能指针和 concurrent hash map,线程安全和内存安全是怎么理解的?21.如果缓存瞬间失效,又来了很多并发请求,会不会出现类似缓存击穿的问题?你怎么处理?22.如果让你继续优化这套缓存,你觉得还能怎么做?五、特征 SQL 结果缓存 / 事件驱动失效 / TTL23.你说的特征 SQL 复用具体是怎么做的?24.所谓 SQL 签名化是什么意思,为什么要这么做?25.这个查询结果缓存的 key 和 value 分别是什么?26.查询结果缓存怎么判断是否还能复用?27.事件驱动失效机制具体是什么?为什么事件变了缓存就会失效?28.你这里有两个 TTL:设备特征缓存 TTL 和特征查询缓存 TTL,它们分别是怎么设计的?29.后期你提到不是直接删缓存,而是把最新结果插入缓存,这个思路具体是什么?30.这里有没有用队列或者别的方式维护事件变更?六、实习中的挑战 / 自动化测试 / MCP & Agent 生成用例31.这段实习里你遇到过最大的挑战是什么?32.这个需求是你一个人做的吗,还是 mentor 带着推进的?33.你提到自动化测试用例,这块具体做了什么?34.这些测试用例属于什么级别,是接口测试、单元测试,还是别的?35.你做的 MCP / Agent 自动补全测试用例,大致思路是什么?36.如果测试失败了,你们后续有没有自动分析、自动修复,还是主要人工处理?七、AI Coding:工具使用、代码占比、主要问题37.你现在 AI 用得多吗?平时会付费用哪些工具?38.你在项目里手写代码和 AI 生成代码的比例大概是多少?39.你主要用什么 AI coding 工具?40.你觉得 AI 写代码最大的优点和最大的问题分别是什么?41.如果 AI 生成的代码不符合你的预期,你一般怎么改进?八、多 Agent 项目:设计、评估、稳定性42.你这个 AI 投资分析系统整体是怎么设计的?43.多 Agent 的分工和整体执行流程是什么?44.你是一步步确认它生成的内容,还是一次性让它完成?45.你怎么判断一个 Agent 是否满足你的预期?46.Agent 和 Agent 之间通信的数据格式是谁定义的?47.多次运行的时候,Agent 之间输出的格式和结果能保持一致吗?48.如果模型不按你定义的格式输出,你会怎么优化?49.你这里 prompt、rule、skill 分别用在什么地方?九、上下文窗口 / 滑动窗口 / 记忆管理50.你高并发 AI 聊天系统里提到的“滑动窗口”具体是怎么做的?51.为什么要做这个滑动窗口?它解决了什么问题?52.这个窗口的 size、起点和终点是怎么定的?53.你怎么判断哪些上下文该保留,哪些该裁掉?54.你这个设计是不是严格来说不算真正的滑动窗口?55.如果让你重新设计这块上下文管理,你会怎么优化?十、C++ / 网络库 / 并发框架56.你这个高并发 AI 聊天系统里的网络库,是自己写的还是现成的?57.你给我讲一下这个网络框架的整体设计。58.epoll 在这里起到了什么作用?59.你的线程池是怎么设计的,为什么要动态扩容 / 缩容?60.你的网络库里,最核心的几个组件和职责分别是什么?十一、弱网排查 / 网络链路 / 协议优化61.如果用户反馈“很卡”,你怎么判断到底是不是弱网问题?62.如果线上只能看到网络日志,你会重点看哪些指标来排查?63.从输入网址到页面加载完成,整个网络链路里会经过哪些步骤?64.DNS、TCP 建连、资源下载这些环节分别可能出什么问题?65.如果 DNS 慢或者查不到,有什么优化思路?66.如果服务端响应慢或者 TCP 层有问题,你会怎么排查?67.对于弱网场景,有没有一些客户端侧的兜底优化手段?68.你了解哪些协议层面的优化,比如多路复用、QUIC 之类的吗?算法题:滑动窗口最大值面了一个半小时,面试官整体比较和蔼,不追问。转面客户端整体强度还是小了很多,不管了,现在能赚几年钱赚几年,有了AI以后哪个方向都是危机了,还是争取拿个好背书吧
点赞 评论 收藏
分享
评论
7
104
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务