主要问题
项目和场景题:
- session的概念,项目中session怎么保存的,session过期时间设置多久?
- 分布式Session怎么理解“分布式”?
秒杀接口隐藏怎么做到的? - rabbitMq?RabbitMq和RocketMq、Kafka的区别
- 项目怎么保证高可用,怎么做负载均衡?
- 数据怎么分库分表,垂直分表和水平分表
- 腾讯视频数据量很大,如果存在一张表上,会出现许多新的属性,那么怎么来设计数据库表
- CAP理论了解吗
- 40亿个qq号,怎么查找到重复的?设计的布隆过滤器多大?
Redis相关问题
- Redis的hash表的渐进式Hash
- Redis的Zset的底层数据结构、说一下跳表、Redis持久化方式
操作系统、网络和Mysql数据库
- 进程间通信的手段,详细说。共享内存优缺点,并发安全问题怎么解决(锁)
- 死锁怎么产生的,怎么避免?
- mysql的聚簇索引和非聚簇索引
- 所有的存储引擎都有表锁和行锁吗?什么时候用表锁什么时候用行锁?
- MVCC说一下
- Mysql主从同步原理
- Mysql事务的隔离级别
- TCP的Time_Wait状态和Close_Wait状态分别在什么时候?TCP的拥塞控制?
- Https的CA证书主要为了解决什么问题?Https加密用的是对称加密还是非对称加密?
- Epoll了解吗?
Java八股文
- java运行时数据区,哪些对象是GCRoots
- 为什么使用分代收集方法来垃圾回收
过程
- 自我介绍(30秒)
- 介绍实验室的项目和算法(面试官不care),开始问自己写的秒杀
- 问了一下秒杀系统中的一些设计,根据这些设计发散了一些问题,特别问了很多分布式架构相关知识(内心戏:我的项目是单体的啊,喂?在吗?能听到吗?其实我说了不懂分布式,但是他还是一直问)
- 项目相关的问完了就问了很多常规的八股文,问的面特别广,而且如果感觉你会的话,他就直接进入下一题,比如MVCC、Tcp拥塞控制,都只说了一半。
- 最后出了2道算法题
- LeetCode 678
- LeetCode213.打家劫舍2
- 做了第二题,第一题不会
总结
- 分布式的知识需要多补充,因为简历上面没写,有的部门可能也会问
- 八股文难度不是很高,但是知识面要广,细节要把握
- 面试的时候,我的表述不是很清楚,心里想的东西要短时间内整理并流畅地表达出来还是存在挑战性的
最后,第一次面试的缘故,开场的时候有点紧张,不过到后来心态放平了其实也挺ok的。面试也是一种锻炼,希望下次表现能够更好,语言好好组织起来,早点结束春招。
全部评论
(11) 回帖