9月底投岗腾讯后台开发,历经3面技术+HR面+offer审批,我却只花了7天时间就上岸成功了...
文末分享一些我的经验之谈,敬请期待...
9-22 投递简历
9-24 一面(大概1h50min)
- osi七层网络模型,五层网络模型,每次层分别有哪些协议
- 死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决
- 如何判断链表有环
- 虚拟机类加载机制,双亲委派模型,以及为什么要实现双亲委派模型
- 虚拟机调优参数
- 拆箱装箱的原理
- JVM垃圾回收算法
- CMS G1
- hashset和hashmap的区别,haspmap的底层实现put操作,扩容机制,currenthashmap如何解决线程安全,1.7版本以及1.8版本的不同
- md5加密的原理
- 有多少种方法可以让线程阻塞,能说多少说多少
- synchronized和reetrantlock锁
- AQS同步器框架,countdowmlatch,cyclebarrier,semaphore,读写锁
9-25 二面(20min)——一面完流程秒变二面待安排
- B-Tree索引,myisam和innodb中索引的区别
- BIO和NIO的应用场景
- 讲讲threadlocal
- 数据库隔离级别,每层级别分别用什么方法实现,三级封锁协议,共享锁排它锁,mvcc多版本并发控制协议,间隙锁
- 数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?索引会不会使插入、删除作效率变低,怎么解决?
- 数据库表怎么设计的?数据库范式?设计的过程中需要注意什么?
- 共享锁与非共享锁、一个事务锁住了一条数据,另一个事务能查吗?
- Spring bean的生命周期?默认创建的模式是什么?不想单例怎么办?
9-29 HR面(20min)
- 高并发时怎么限流
- 线程池的拒接任务策略
- springboot的启动流程
- 集群、负载均衡、分布式、数据一致性的区别与关系
- 数据库如果让你来垂直和水平拆分,谁先拆分,拆分的原则有哪些(单表数据量多大拆)
- 最后谈谈Redis、Kafka、 Dubbo,各自的设计原理和应用场景
因为是电话突袭,所以没有录音,主要还是问项目,明显感觉的出来是个技术大牛,问问题的角度很到位,基本上一刀见血,技术点一丝不熟都会挂的那种。
面完秒审批~哈哈哈哈~哈哈哈哈~爱死腾讯爸爸啦~~秒发offer通知上班~~
总结嘚瑟一番
其实在去腾讯之前,也是压根没想过会如此的顺利,仅仅7天就收到offer,及其迅速。而且大家应该都发现了,这次腾讯很是注重项目实战的经验,对于多线程、高并发、微服务、分布式、Spring相关等等之类也问的比较多,所以个人觉得除了这个项目实战,剩下的就是作死刷题,刷刷刷~刷到地老天荒~
关于刷题,其实朋友有分享刷题记,我自己也有整改收集,然后就搞了一整套:Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法,这应该也是最全的面试解析合集了吧...
注意一下:不论是[Java一线大厂高岗面试题解析合集],还是[JAVA进阶核心手册],还是[大型网约车的分布式实战项目搭建流程],还是[深入源码学习(Spring\kafka\MyBatis\SpringMVC等)]
还有白嫖最全的JAVA进阶核心手册:JVM、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB、Cassandra、设计模式、负裁均衡、数据库、一致性算法、JAVA算法、数据结构、加密算法、分布式缓存、Hadoop、Spark、Storm、YARN、机器学习、云计算
关于项目,给大家看一个大型网约车的分布式实战项目
- 搭建流程如下:
- 项目效果如下:
更多进阶源码学习
- Spring高级源码笔记
- MyBatis源码分析
- Kafka源码解析与实战