#牛友投递互助,不漏校招机会# #软件开发投递记录#时间线: 7.25投,8.8一面,8.22二面,8.29hr面一面:1.自我介绍和简单沟通项目2.Java基础:基本数据类型有哪些;如何理解范型的,为什么需要范型,C++的范型和Java范型有什么区别。异常和错误的区别是什么,常量池是什么。3.mysql:InnoDB的底层结构是什么,为什么选择B+树不是B树;事务的隔离级别有哪些,里面有没有锁,锁的作用是什么;常见的索引优化方式有哪些,有没有优化过sql,有的话怎么遇到怎么解决的;4.spring:谈谈spring的特性,aop和ioc是什么,Mybatis中有没有sql注入,为什么存在,怎么解决。常见的bean注入的方式有哪些。5.中间件:redis了解么?数据类型,作用,什么时候会用redis;谈到解决缓存,聊到缓存穿透、缓存击穿、缓存雪崩,介绍了一下出现的场景和内容。6.反问:公司技术栈,业务内容。一面整体感受中规中矩的八股文,稍微会有点偏实践一些的内容,这部分就看自己背的咋样了,感觉不是特别难。二面和一面时间间隔比较长,等的很心焦。二面:1. 自我介绍2. 问项目,说出几个项目里几个亮点,然后说项目里用了mq,然后就在问哪种消息机制比较好,聊到kafka,又问kafka和其他消息队列的区别,为什么我选的rabbitmq,然后问Kafka的原理,问的很深,很多东西之前也没接触过。面试官慢慢引导,凭着自己的理解和了解的rabbitmq的原理慢慢沟通。很明显和一面不一样。3. 问最近看了啥书,我说在看java并发编程之类的内容,然后就开始追问,问麻了。强烈建议说自己的会的别给自己挖坑。然后聊到分布式的内容,问有么有接触过这类系统和论文。4. 反问:技术栈,上班感受。相对来说比一面就聊的更深了,需要你真的做过一些东西并且清楚原理,要是从网上copy的项目还没实际做过,就很容易问露馅。建议不要瞎编,介绍自己熟悉的内容,朝深了沟通。三面HR:1. 自我介绍,家在哪,大学期间做的项目2. 最大的挑战是什么,怎么克服的3. 成就感的来源,职业规划,城市选择5.兴趣爱好,找工看重哪些因素,薪资期望这些。HR面问了很多场景化的问题,记不清具体都问啥了,一顿瞎吹,感觉HR面问的还挺深的,没有想象中的那么水。