感谢Crawley同窗分享本身的面试经历供广大同窗参考,在这里也恭喜Crawley同窗,成功拿下阿里offer。面试
同时也欢迎广大同窗积极投稿,分享本身的面试经历、技术成长的感悟。算法
1、初出茅庐,初临帝都数据库
2、闭关深造,再临帝都缓存
3、厚积薄发,初试牛刀网络
4、逆流而上,大肆收割数据结构
5、回眸再看,全程复盘架构
去阿里是我一直以来的梦想,今朝获得实现,这一路来要感谢太多人,也感谢这三年来一直努力的本身,这里记录一些心得,但愿可以帮助到你们。并发
2015年10月8日,一我的拖着行李踏上了去北京找实习的路,由于基础太差,屡战屡败。
框架
最后好不容易入职了一家算上我共2人的外包公司,作了两个月,以为太没发展,毅然离职回校;分布式
从北京回来深受打击,认识到本身是多么的差,若是在这么下去毕业就是失业,下定决心闭关学习,不成功不出关。
先去淘宝上花了9.9买了一套视频,天天除了下午去健身一个小时,其余时间都在啃视频,花了2个多月作出了一个博客网站,并成功发布到网上,当时喜悦的心情如今都铭刻在心
以后就是开始天天把学习的笔记发布到博客网站上,没过多久忽然有我的留言说:他们最近正好在招实习生,以为我还不错,若是感兴趣能够加他聊聊。
我想聊聊也没什么损失,最后聊得还不错,是一家上市央企,想让我尽快去北京实习,我以为也还能够,收拾了下再次踏上了去帝都的高铁
去的路上内心只有一句话:天道酬勤,必有回响,真的是只要付出努力,必定会有回报收获
在这家央企实习了差很少半年的时间,毕业直接转正,过了差很少一年的时间,原先的高级开发和技术经理陆续都离职了。
而后我由于平时表现挺积极,因此领导逐渐把团队交接给我带领;
这样带了半年团队,以为技术上出现了瓶颈,团队里没有人能指点我怎么继续走下去,因而产生了跳槽去互联网的想法,而且一发不可熄灭。
可是由于是在央企,技术跟互联网仍是有很大区别,因此花了几个月时间收集了网上全部能搜到的面试题,上千道题,反复的刷,反复的理解。
有些题实在不理解,就疯狂的找书和视频看,也正是这段时间的积累,把个人基础和技术宽度打得无比扎实。
由于是传统企业出身,只拿到了3家互联网公司的面试邀请,都成功的拿下了offer,其中有一家是TOP5,通过对比offer,最后入职了这家。
入职这家公司后,发现身边处处都是大神,太多的牛人,太多要学习的东西,在其中就像一块海绵,疯狂的吸取所见识到的全部技术、流程、作事方法等。
而后这里有一个很重要的节点,2018年11月公司组织架构调整,换了新总监,新领导带来了一批原先人马,致使发展受到局限。
因而我又产生了离职的想法,而且开始默默准备。
2019年过完年回来后,开始投简历。由于背景还不错,因此接到了不少的邀请,可是我只面了D轮的4家独角兽和5家大厂。
除了头条二面挂在了算法上,基本都到了offer阶段,下面简单介绍下状况:
如下是此次面试经历的一些我的总结体会,有些东西是实打实的面试过程当中亲身的感悟,在此分享出来,但愿能帮到各位:
一、千万不要裸面
不作任何随便写份简历就出去面试,挂的几率高达90%以上,除非你特别牛。
二、简历书写,不要以为简历描述清楚就好了
一样的一我的,普通的简历和优化后的简历,面试官对你的定位和问的问题也是不同的。
这个是我亲身体验,我以前拿着一份普通简历出去面试,面试官就只能把你当成一个普通的3年经验的来面,问一些特别基础的问题。就算你知道不少东西,可是面试官根本不问。
而优化后的简历,面试官一看这简历写的这么牛逼,先随便问几个问题,你都能回答不错。
而后,就直接开始问底层源码、架构设计等比较open的问题,这样对你的定位和档次一下就上去了。
三、精心准备2个你作过的项目
对于你写在简历上的项目,必定要反复的梳理。对项目的业务边界、技术架构必须了然于胸,并且用到的技术都保证不能被问倒
四、Java基础
基础的重要性我就很少说了,可是我想说的是,像集合、线程、volatile、锁、网络IO等这些,不要停留到网上博客的那种表面程度。
必需要深刻到源码级别,这样才能突出,跟其余候选人拉开差距。
五、数据库的各类机制
ACID、事物隔离级别以及原理、索引原理、常见分库分表姿式等
六、JVM里的各类东西
分代、回收算法、垃圾回收器搭配和对比优劣、线上问题排查、类加载等等。
这些东西,最低要求都要流畅的说出来,可是若是要和其余候选人拉开差距,还要突出亮点。
好比,我以前作过垃圾回收器的调优,从CMS换到G1。
我把CMS的分代、垃圾回收算法过程这些基本东西说完以后,而后说出CMS有两大缺点:一个是会产生内存碎片,另外一个是会产生浮动垃圾。
而后就开始说为何会产生这两大缺点,由于这两大缺点致使RT升高,换成G1以后有啥优势。
接着再把那些原理喷一遍,调优以后性能上有多少多少的提高,这在面试官心中档次一下就上来了,跟其余候选人拉开了差距。
七、框架
你使用过的框架都要作到了然于胸吧,Spring最基本的IOC、AOP、Spring事务必定得看过吧。
Mybatis、Tomcat经常使用的姿式要知道,Redis常见的部署方案、集群原理、持久化机制、5种数据类型对应的底层数据结构。
Reactor模型运起色制、常见的缓存问题解决方案。
Dubbo、ZooKeeper的使用姿式和基本原理要知道吧。若是你研究过这种RPC的源码,不管是Dubbo仍是SpringCloud全家桶,那就更好了,直接说出来,碾压面试官,让面试官听你聊。
八、分布式相关的问题
若是研究过大数据相关的框架那就更好了,绝对的加分项。
好比,我深刻研究过Kafka的底层机制,面试蚂蚁的时候,直接就问我Kafka的底层:
还有分布式锁常见的方案要知道、分布式事物经常使用的方案都要研究过吧。
好比:面试蚂蚁的时候,就问我TCC的机制,直接说出使用姿式,使用场景,使用TCC的优缺点;
九、算法
这个我也不是很精通,只熟悉常见的查找、排序、链表、队列、堆、二叉树等这些简单的。
那些动态规划、01背包问题之类的我也就知道基本概念,头条二面就挂在这了。
十、相信本身
最后还有一点,就是面试过程当中必定必定要有自信,给面试官一种特别有底气,作什么事都没问题的感受。
记得当时面58的时候,那个vp说我身上有一种特种兵的气质,他特别喜欢,哈哈哈,我也不知道那是啥气质。
以上就是这一路面试走来的一些经历感悟总结,但愿对你们有一些做用!
一大波微服务、分布式、高并发、高可用的原创系列文章正在路上,
欢迎关注公众号:石杉的架构笔记
周一至周五早八点半!精品技术文章准时送上!!!
十余年BAT架构经验倾囊相授