校招被大厂拒绝后,沉淀两年,终于拿下(腾讯、阿里、百度等offer)

  前言

  我是18届毕业的,普通本科,软件工程专业。刚毕业时我意气风发,觉得进大厂挺容易的,但是现实却给我狠狠来了一击。

  校招面了各种大厂,不是一面挂就是二面挂,连三面是什么样子都没见过,说实话,当时被打击的不轻,但是没办法,生活还得继续。

  认知到自己的能力只是个菜鸡,又迫于生存,最终去了一家三线厂做后端开发的工作。

  正文

  这次之所以想出来面试,一共有两个原因:其一是,心里一直有个大厂的梦0,想进大厂看看。其二是,自己想回南方发展了。还有就是顺便看看自己水平到底如何了。

  所以在今年2月份开始,我就以及开始复习面试的相关知识了,并着手准备相关材料。面试准备

  根据简历上的内容,尝试着自己对自己模拟面试,从基础开始,由浅入深,同一个知识点换不同的角度、逐渐深入,先问出自己能问的所有问题再尝试着解答,看看自己能够达到什么程度,对自己有一个明确的了解……向大厂投递简历

  到这里我是非常的慌的,我不认为自己还能进大厂,不过还是按照她的建议向阿里、字节等大厂投递了简历,没想到短短几天收到了几个大厂的面试邀请,突然对自己有点自信了!大厂面试

  大厂的面试问得真的很深,还要前面有所准备,一面的时候还有些紧张,后面就慢慢自信起来了,哪怕是和HR聊薪资也敢往上要了,最蚂蚁、腾讯、百度都通过面试拿到了offer,抖音二面挂了,滴滴HR面拒了。

  面试经历

  蚂蚁(三面)Zookeeper+微服务+消息中间件+高并发架构设计

  一面

  JVM数据存储模型,新生代、年老代的构造?java GC算法,什么时候会触发minor gc,什么时候会触发full gc?GC 可达性分析中哪些算是GC ROOT?你熟悉的JVM调优参数,使用过哪些调优工具?Java 有什么锁类型?描述下线程池的处理流程?类加载机制,一个类加载到虚拟机中一共有几个步骤,这些步骤的顺序哪些是固定的,哪些是不固定的,为什么不固定hashmap是线程不安全的,concurrenthashmap是线程安全的,怎么实现的线程安全?volatile关键字解决了什么问题,实现原理是什么并发容器有哪些,并发容器和同步容器的区别

  二面

  在工作中,SQL语句的优化和注意的事项哪些库或者框架用到NIOSpring 都有哪几种注入方式,什么情况下用哪种,ioc实现原理如何定位一个慢查询,一个服务有多条SQL你怎么快速定位聚集索引和非聚集索引知道吗?什么情况用聚集索引什么情况用非聚集索引Nosql引擎用的什么存储结构,关系型数据库和NoSQL各自的优劣点是什么,如何技术选型?微服务架构下,如果有一个订单系统,一个库存系统,怎么保证事务?分布式一致性协议raft,paxos 了解吗Zookeeper中的ZAB协议,选主算法

  三面

  自我介绍参与的并发项目,从设计到部署,按照流程讲一遍。项目相关你用过redis,用在什么场景,怎么使用的?mysql同步机制原理,有哪几种同步方法数据库主从同步如何实现,事务如何实现谈谈你对SOA和微服务的理解,以及分布式架构从应用层面涉及到的调整和挑战。阿里系中间件metaQ及原理与现有的kafka有什么异同在阿里有了解过什么中间件吗?实现原理?与其他开源消息队列有什么特点?为什么选择换公司?三年到五年的职业规划?你有想问我的?

  腾讯(三面)

  一面

  项目讲了20分钟,问你做了什么,项目细节、你的成长之类的Java锁 synchronized volatile快排如何变为稳定的排行榜如何实现如何查排行榜第2000个人的信息java游戏服务器 如何通信算法coding,反转链表

  腾讯二面

  工厂模式 场景hashmap treemap数据库索引 不用二叉树原因是因为 二叉树可能会变为O(n)数据库如何加快 查询 :cache 索引 ,分表分库,网络粘包网络两次握手不可以?Kafka水位(high watermark)ArrayList 和 LinkedList 遍历操作效率比较?ArrayList更快 操作系统预读

  腾讯三面

  算法:带父节点的二叉树 中序遍历查找的上一个节点?zookeeper如何体现AP

  百度

  一面

  【Spring】Spring的项目介绍一下加载扫描bean的流程Spring生命周期Spring的Bean的作用域MVC流程,@RequestMapping注解具体怎么实现的?@Transaction注解实现知道吗,具体怎么实现的?Spring的事务了解吗?Spring的事务传播,事务隔离级别Spring的IOC,AOP的思想讲一下Spring的bean依赖注入有哪几种方式?能说一下Java的反射机制吗?SpringBoot用过吗?

  【MySQL】MySQL四种隔离级别MySQL ACID说一下,AD实现MySQL InnoDB索引结构能说一下InnoDB和MyISAM他们的区别吗?能说一下表锁,行锁吗?

  【Redis】redis分布式锁了解吗

  二面

  【算法】二叉树的右视图

  【项目】博客有什么难点?数据库表设计,redis缓存,索引设计。博客项目的点赞功能怎么实现?如果两个人同时在使用admin修改一篇博客,前一个人的修改被后一个人的覆盖了怎么办?如果很多人修改如何保证提高并发性能呢?如果要调整博客的排列顺序,比如最后一个博客,排到第三个,你会怎么实现?为什么要在博客里使用redis呢。

  【redis】redis有哪些数据结构,你用过哪些?redis如何保证高可用,redis分布式锁,延申mysql分布式锁,zookeeper分布式锁。你可以比较一下他们吗?redis持久化?rdb,aofredis主从架构master和slave如何同步数据。

  三面

  说一下你加入的本科生团队?加入团队后你有哪些收获呢?你觉得在大学你有哪些提高?说一件你最遗憾的事情?说一件你努力过然后放弃的事情?你是怎么去管理团队呢,为团队的一些事宜写过相关的文档吗?你最不能容忍的团队中发生的事情?领导,老师让你做一件事,但你觉得没有意义,不想做,怎么办?你说渴望实战,不想读研学习概念性课程了,你觉得概念性的课程没有用吗?

  如何准备面试

  简历的准备

  由于平时自己也负责组内进行一些面试工作,作为面试官来说,简历真的很重要!!它是面试官对你的第一印象,所以简历的排版以及内容质量很关键。

  关于简历的排版,我总结起来以下几点:

  1.简历的格式一定要用 PDF !!;

  2.个人信息、联系方式尽量的放在前面,简历排版需紧凑,不要太松散;

  3.对于一些技术栈、关键词需加粗强调;

  4.简历整体内容尽量控制在两页以内,语句需精简,切勿啰嗦;

  简历模板

  

  主要复习点

  Java核心知识点整理

  篇幅限制下面我就只为大家展示下目录啦,需要完整版的小伙伴点赞+转发,关注我之后点进我主页私信【666】即可获取免费下载地址!

  最后

  面试其实是一个自检、自省的过程,期间会发现自己的优点和不足。这次面试经历暴露了自己在算法及专项领域技术思考的欠缺...所以今后还要加强这方向的学习和巩固,但同时拿到了三家"大厂"的 offer,也是对自己过去两年的工作的一个肯定,说明我是一名合格的螺丝钉哈哈。

  同时,面试的整个过程是很心累的,在这短短的一个月里,你会经历极度自信和极度失落的跨越,期间需要调整好自己的心态,面试没通过并不是你被全盘否认了,有可能是你的工作经历并不是很契合他的职位需求,所以还是要保持信心和斗志。

  祝愿大家都可以拿到自己心仪的offer呀。