字节跳动
一面:
1. 简单介绍一下你的技术站?
2. Mysql的事务,幻读是怎么解决的?
3. Mysql中锁的种类,行锁有哪些,分别怎么实现的?
4. 分布式事务的实现原理?
5. 分布式锁的实现几种方式?优缺点?
6. Redis如果发生主备切换会有什么影响?
7. 了解Redis的主从复制的原理么?
8. Kafka和其他MQ的对比?
9. 分布式uuid有了解么?雪花算法的原理?
10. Netty的内存零拷贝技术的实现原理?
11. Netty有哪些组件,其分别的功能是?
12. Netty的线程模型描述一下?
算法题:leetcode 题目 打家劫舍2
二面:
1. jvm 和jmm有了解哪些,详细介绍下?
2. 创建对象的方法?
3. 线程池的作用和原理?
4. 设计一个线程池?
5. Mysql的聚集索引和非聚集索引的区别?
6. B+树的高度
7. B+树的结构
8. Https的整个过程?
9. a和b的联合索引,select *from table where A>1 and b=2是否可以使用到索引
10. Hash索引和b+树索引的区别?它们在使用方面的区别
算法题:完全二叉树最底层的最右边的节点
三面:
1. 项目介绍
2. 如果不想使用消息队列怎么增加mysql的性能提升?
3. 项目中的分库分表的实现原理?
4. 有什么想问我的吗?
阿里
阿里一面:(电话 面试)
1. 项目介绍
2. 项目中分库分表的实现,怎么实现聚合查询
3. 项目中怎么保证只提交一次,http请求的幂等性
4. Jdk的双亲委派模型,如何破坏双亲委派模型
5. 分布式锁的使用场景和原理,项目中是否有使用
6. Java多线程了解么
7. Mysql的索引介绍一下,在什么条件下索引失效,解释下最左前缀原则
8. 进程的内存占用过高,要怎么排查
9. Spring aop的实现原理
10. 有什么想问的
阿里二面(在线笔试题):
1个小时三道题,不允许使用idea,只能手写,所以有些函数会写错,在旁边注释下
1. leetcode原题第三题
2. 设计模式策略模式的实现
3. 多线程的等待通知的使用
阿里三面:
面试官有事直接到下一面了,幸运
阿里四面:(电话面试)
1.项目介绍,问的很详细,细节问题,优化点,如何优化的,性能对比,怎么实现的
2.rpc框架熟悉么,有了解哪些rpc的架构,分别说说优缺点,因为项目用了grpc,重点介绍了下这个框架
3. grpc的序列化protobuf知道是怎么实现序列化后很小的,有了解过底层的原理吗?
4.你们项目用的是Redis哪个版本 ,知道其新特性么?为什么选用这个版本?
5. Redis有几种部署方式,哨兵机制和集群的区别是啥?
6.有什么想问的么?
7.薪资和来杭州的意愿
阿里五面:(视频面试)
1. 项目介绍
2. 项目中是如何设计数据库的,其分库分表实现细节?要和具体到代码是怎么实现的?
3. 你刚刚提到的一致性hash算法能描述下么?
4. 在项目的过程中,你们项目是一个怎么样的演进过程?每年分别做了什么事情?
5. Netty的线程模型描述一下,口述一下一个netty的服务端启动流程?(需要知道代码是怎么实现的)
6. 怎么实现一个加锁的生产者消费者模型?口述一下condition的使用,消费者和生产者的代码
7. 线程是怎么被唤醒的?
将AQS和condition中的等待队列和同步队列描述清楚
8. Rpc了解么?说下rpc的流程
9. Zookeeper在rpc框架中的作用?
10. Zookeeper的写入过程是怎么实现的?
11. 有什么需要问我的么?
腾讯java
一面:(gtalent在线编程)
1. 分布式事务的实现?
2. Kafka如何实现消息幂等?怎么保证消息的可靠性?
3. Kafka架构介绍一下?
4. ConcurrenthashMap是怎么实现原理?
5. 有什么想问的么?
算法题:字符串整数相加,如果有小数呢?
二面:(视频面试)
1. 项目介绍
2. 如果服务现在响应很慢,怎么查看?
3. 如果是用户态cpu过高怎么解决,如果是内核态呢?
4. http为什么会出现大量的time-wait?2msl的作用是什么?
5. https和http知道么?为什么https要用证书?如果直接发公钥会怎么样?如果没有经过CA认证的证书访问会有什么风险?
6. 假设现在有1万个优惠券,每个优惠券只能由一个抢到,每个人只能抢到一张优惠券,如何设计?
7. 有什么想要问我的?
三面:(gtalent在线编程)
1. 项目介绍
2. 一致性hash算法
3. 算法题:leetcode(96题不同的二叉搜索树)
4. 有什么想要问我的?
四面:(牛客网在线编程)
1. 算法题:象棋8车问题
2. Java的类加载机制
3. Tomcat是怎么破坏的双亲委派模型的
4. Springboot的如何去掉不用的配置,springboot不是开箱即用么?怎么把不要的配置去掉呢?
5. Redis的主从复制原理?
6. 有什么想要问我的?