高德,京东,百度面经,已offer
声明:最后选了美团的offer,因为怕美团的同事发现,就不放美团的面经了
京东
一面:
二叉树还原,右侧投影打印
说下线程池类型,拒绝策略
CAP理论是什么
consul是ap还是CP的
常见设计模式,优缺点,为什么要用
索引最左匹配原理
HashMap为什么线程不安全,HashTable为什么线层安全
TCP三次握手,4次挥手,为啥要3次握手
二面
介绍下自己
说一个实际sql调优的例子,生产的
遇到了那些比较大的挑战
上面你说的挑战如果要完全避免你觉得应该怎么解决
kafka怎么用有哪些问题,则么避免
算法 二叉树的层序遍历
数组的所有子数组(没做出来)
二叉树判断结构是否相同
三面
聊项目
mysql生产调优的例子
说下spark了解那些东西,这块没说好,因为之前一直没问着大数据的东西,没复习
实现一个延迟发布的功能,一开始没想出来,面试官说用redis才想到zset
100亿数据判断一个数字出没出现过
百度
一面
JVM配置哪些参数
FullGC次数比较多怎么查
JVM内存分区
CPU占用比较高怎么查
查看端口命令
包含ip的日志,查找前10个I出现的IP
类加载器
锁的状态(这块想问的其实是markdown的状态)
有什么多线程编程
map有哪些便利方法
HashMap扩容过程
NIO的原理,从操作系统说(想问fd系统)
零拷贝
自定义注解
Mvcc流程
Spring事务传播机制(没说好)
索引类型
B+树结构
分布式事务解决方案
Redis持久化机制
笔试 把一个数组构造成二叉树查找,并且打印倒数第N大的阶段
二面
项目里的技术难点是什么
经历过项目后哪方面的技术进步最大
项目的时序性怎么解决
AOP的原理,织入点和切面点代表什么意思
网关了解吗,有什么用
ThreadLocal原理,用法
mysql分库分表原则
redis槽位是什么,为什么需要槽位
缓存穿透,缓存雪崩解决方案
Oauth2.0了解吗
高德
一面
聊项目,项目里各个设计点
如果现在让你来重新做这个项目,你有哪些设计上的进步或者能够弥补的缺陷
在你最得意取得进步最大的项目里,你是有哪些收获和成长
除了技术上的成长,别的方向上的成长
netty的一个连接能消耗多少内存
netty为什么能保持这么多的连接
tcp发送数据流程,拥塞控制
undo log,redo log作用
说说mysql的锁
java不用锁能保证线程安全吗,怎么做
平时怎么学习的
你对你的最近两年的成长怎么规划的
你说你想做leader,那是技术leader还是业务leader,还是偏管理
这个面试官问了很多项目里的细节,怎么负载均衡,怎么做水平扩展等等。常用的框架和源码倒没怎么问
算法
数组,将奇数和偶数分离,要求空间复杂度O(1),时间复杂度O(n)
二面
聊项目
mysql索引,事务隔离级别
没了,对就这么一点,向
算法
两个栈实现队列
链表翻转
三面
聊项目,说说你在项目里最得意的设计,我列举了架构设计和AOP技术。
mysql B+树
redis,缓存淘汰机制,持久化机制,跳表
总的来说没怎么问八股文,可能前面都问的差不多了
算法
有序数组,找到和为target的指定值。我直接双指针,面试官说应该先判断升序降序,再二分。
滴滴
一个看起来像是搞技术的男人
Synchronized锁和Lock的区别,什么时候怎么选择(我觉得我把该说源码的都说了,他还在问到底怎么选择)
aqs实现,获取不到锁会一直cas,等待,cas吗(我答从代码上看是)
线程池说一下,你们服务器怎么配置的。线程池怎么监控
对象内存分配规则(分配的过程,不是类加载机制)
spring 事务原理(没答上来)
spring事务什么时候失效(想问异常类型的分类?)
redis怎么用,加入你们服务器主节点挂了会怎么样
redis分布式锁有哪些问题,怎么解决(我答了锁过期,锁续期,设置value识别锁)
redis过期删除策略(我答了随机删除和惰性删除说还有别的,这块问的很细,应该是想问内存淘汰)
mysql隔离级别,给了个场景,问我到底会怎么样
mysql乐观锁sql语句怎么写
CMS有什么问题,怎么解决(我答了浮动垃圾和并发标记阶段引用变更的解决方案,他问那具体是怎么解决,重新标记时会扫描所有老年代吗,没有的话怎么解决,我猜是靠卡表,这块应该直说我不会CMS,但知道G1是怎么解决的,面试官没理)
写代码,2线程交替打印1a2b3c4d
说下环形链表怎么解决,快慢指针
CPU 100%快速排查(我答了dump然后jstack分析,说不对)
说说你项目里最出彩的地方
感觉这个面试官面试攻击性很强,有些心不在焉,一些我答了的问题还问我怎么解决,我又复述一遍
快手
大概说一下项目
webflux 怎么配置的线程池(只是简单使用,没有配置)
aop的用法,用来做什么了(搜集日志)
怎么做的服务器监控,从整体说说(没说好,应该从流量入口SLB,服务内的指标设计,暴露的接口,健康检查,服务调用这块来说,这块可以从流量监控,怎么限流,熔断说说)
Mesos的资源分级(这块不理解)
aop方法内调用为什么会失效(动态代理的原理,这块没说好)
一堆数字,不会有重复的,大概19W-20W内存不够,实现一个数据结构能够判断出一个组字在不在这个数据结构里,且查找最近插入的数字要比之前插入的快(这块我答了bitmap,面试官说还有其他解法)
总的来说面试官态度比较好,比较温柔
字节
redis那些常用数据结构
redis为什么快(我答基于内存,单线程,对于特定的数据结构做优化)
为什么电脑需要内存
你自己实现一个redis的内存数据库,你怎么做
redis持久化方式,aof具体步骤细节
红黑树有哪些特点,和平衡二叉树有什么区别
mysql事务隔离界别有哪些,都有什么问题
repeat read有幻读问题吗
http常见错误码,502为什么表示网关错误
随机链表复制
总的来说面试官很nice,并没有网上传的那么凶残,