滴滴-橙心优选-java开发-1,2,3面(凉)
- 一面(常规)
- hashmap底层结构
- 为什么使用红黑树
- 线程安全的map
- jvm内存模型
- 栈溢出的情况
- java锁实现方式
- TCP和UDP不同
- 视频通话是TCP还是UDP
- 什么是死锁
- 聚簇索引和非聚簇索引
- Innodb索引结构
- 为什么使用B+树
- mysql查看sql执行计划
- spring aop原理
- 设计模式(手写线程安全的单例模式)
- 为什么要使用voaltile
- 有没有更好的实现方式
- 项目
- 代码:找出数组中的众数
- 二面(场景)
- 介绍项目的业务流程
- 项目难点
- 缓存不一致的场景和解决方法
- hashmap容量为什么为2的n次方
- 有关hashmap的使用场景(50个客服,每个客服最多可以服务3个客户,并且客户要求第二次服务的客服与上一次相同,如何设计)
- hashmap产生循环的具体场景
- 描述转账过程中A账户(转出)和B账户(转入)在整个事务过程中的数据变化
- 数据库隔离级别
- 用四个case解释这四个隔离级别
- java代码运行部署成功后,此时改变方法的局部变量(例如int a=3 --> a=5),那么这个改变能否生效
- jvm中哪些是预加载,哪些是临时生成的
- 三面
- 项目收获
- 对cookie和session的理解
- 进程线程区别
- 进程通信方式
- 网络模型
- TCP和http的联系和差别
- 父进程建立一个socket连接,frok的子进程可以使用这个连接发送数据吗
- 对mysql的使用心得
- 建立索引的条件
- innodb索引的数据结构
- 二级索引
- 解释一下幻读
- 层次遍历二叉树
- 百万ip地址并且不重复,加载到内存中,并且提供查询接口。要求查询性能好,内存小(位图)
- 总结
- 体验不是很好,一面等了10分钟,二面等了30分钟,30面等了20分钟。真不懂面试官不够还一天三面
- 其实二面没答好我都以为挂了,而且当时都不想面了,因为看上周的面经很多都三面完秒挂
- 果不其然,三面后秒挂