背景
在老东家五年了,总共工作整七年,经验两家公司。2021-5-30日到职。公司规模较小,我的项目压力不大,因为不是985/211毕业,统招本科,计算机专业。指标:中大型公司,最好是大厂,哈哈哈,不过不抱心愿,毕竟背景不太好。接下来我将以写日记的形式记录我的面试经验,心愿可能给大家带来帮忙!
筹备
撰写简历,每天上班回家 7-12点看视频,刷博客,看面试题。学习内容:Java学习视频+面试真题。筹备内容:Java 根底,线程池,锁,MySQL索引,事务,Spring,汇合等。
2021-5.30
提了到职曾经有二十多天了,明天老板签了字,办了到职手续,《某某直聘》上传简历,刷新简历。《某东供应链部门》打电话问了问我的学历是否统招本科,约我今天下午去面试。不过他也算是大厂吧,没有面试教训咋办,心里很忐忑,没关系,开始加油吧!咦,有条音讯,我一看是我同学给我发的截图,原来他刷到我的简历了,他说帮我内推,心田还是挺冲动的。内推公司:《打车》
2021-6-01
早上五点半爬起来了,开始看视频,刷材料,筹备面试,始终到12:00,没吃饭。公司太远了,在亦庄,要两个小时能力到,出了地铁口,映入眼帘的便是他们的大楼。找到部门,给了张面试题。
- HashMap,HashTable,ConcurrentHashMap的共同点和区别?
- Spring的 init-method,destroy-method的实现形式?
- 说几种实现幂等的形式?
- 说几种分布式锁的实现形式?
- 有一个List汇合,多线程计算总和,说出你的思路和应用到的框架。
- 一个凋谢题目,数三角形的
做完题目,感觉还比拟OK,来了一个面试官,大略三十多左右。
- 自我介绍
- 介绍一下我的项目
- JVM内存模型
- MySQL事务隔离的底层实现?
- MySQL索引介绍一下?
- 命中索引要留神什么?
- List<int style="margin: 0px; padding: 0px;">去重,手写代码,考查根底</int>
二面:部门负责人
- 简略聊聊,介绍团队业务,有什么要问的吗?期待告诉。(说好的《打车》内推呢,咋还不给我打电话呀,算了,可能简历没过,不过当初来看没去也是侥幸的)
总结:MySQL事务隔离底层实现细节还要多补充一下,JVM细节在多看看。
接到《某某租房》公司面试邀约。下周一下午面,正好周六日在筹备筹备。
2021-6-04
坐地铁辗转到了公司大楼。你好,来面试的。领到一份面试题,来到三楼休息室,一大堆人跟菜市场似的。我擦,竞争压力这么大啊,看了一眼面试题,好多不会的,算了,不做了,走吧。来都来了,试试呗。开始做题。
- String new String 的关系 ==,equals
- 两个链表相交,求交点
- 三个线程程序打印ABC
- 如果aab,aba相等,给两个字符串,判断是否相等
- 画一下RPC的架构图
一面:一位谈话比拟轻柔的技术官。
- 自我介绍
- String ,new String 这道题为什么这么选?起因?
- 说一下我的项目
- 手写一个单例
- JVM内存模型,JAVA 栈能调配对象吗?
- 说一下类加载过程,双亲委派模型源码看过吗?介绍一下
- 什么状况下栈会溢出?
- 栈帧介绍一下?
- MySQL索引理解吗?画一下?
- 从业务角度登程,如何设计MySQL数据库?有哪些优化点?
- 垃圾回收理解吗?介绍一下?
- 讲一下AOP的原理?Cglib能代理final办法吗?
面试官对我说:我感觉还OK,你等一下,咱们领导散会,让HR告诉你改天二面吧。:好的,启程回家。
同学微信:咱们HR给你打电话了吗?:没有,那我让他约你。
HR:你好,为了不耽误时间,约您电话面试。(同学染指)
HR:你好,周五间接来公司面试。。。。
2021-6-05
相安无事,帮表弟的敌人扣了我的驾照9分。。。下午去某公司面试,后果面试官没有接到电话,保安也不让我去问,算了,走人吧。
2021-6-06
《某某租房》复试。面试官很年老,比我大两岁,人家曾经是研发经理了,看看我。哎。。。。
- 我的项目为什么不必RPC框架?
- 理解RPC吗?,画一下流程图?
- RPC和HTTP协定有什么区别?
- 长连贯是物理实在存在的吗?
- 介绍一下我的项目?
- MQ 音讯丢了怎么办?发消息是原子操作吗?
三面:研发总监
- 锁介绍一下?有哪些?
- 线程阻塞从操作系统的角度介绍一下?
- 其余的记不清了
下午四面:技术总监
- HTTPS的流程
- 你认为你还欠缺什么?
- 如何学习的?
- 瞎扯淡,行了,签字,录用了
HR谈offer,回家喽。
2021-6-07
《某某优鲜》下午两点,找大楼找了半天。公司好几层,我擦,没见过这阵仗。上楼等一会,没有面试题。
一面:
- 你的我的项目如何拆分的?为什么这么拆?
- 如何保障服务高可用?
- MySQL挂了怎么办?(挂就挂了,很羞愧,公司没实现数据库高可用。。。。)
- 我的项目经验有点差啊,就不问你互联网我的项目问题了
- 说一下 WebSocket协定
- 说一下HTTPS协定
二面:
- SpringBoot理解吗?和Spring的区别?
- 如果想做定制化开发,怎么做?
- @Conditional 说一下
- 事务的流传机制?
- 说说MySQL索引?
- 可重入锁的原理?(state ,AQS)
- 拆分服务,服务治理有理解吗?
HR:简略聊了一下,为什么五年不到职?你这样的很少见啊。还有一轮部门老大面试,你先回去吧,电话面。
早晨收到告诉,周五6点电话面试。
2021-6-08
该来的终于来了,要面对最终BOSS了。不过还好不必坐地铁了,上午看了几个视频,筹备了一下,中午12点,洗个澡,拾掇拾掇。骑车登程,情绪很忐忑。骑车到了中央,公司LOGO映入眼帘,两座大楼。给HR打电话,接待,上楼,等了一会,一个年老的面试官过去了。
- 设计一个秒杀零碎,讲一下你的思路。(我擦!!!)
- 如何设计限流?
- 库存怎么扣减? decrby 能够吗?
- 库存扣减失败怎么办?
- 画一下我的项目构造?
- a,b,c 联结索引, a=1,b=1,c>1 能命中索引吗? a=1,b>1,c=1能命中索引吗?
- JVM 堆说一下?触发Full GC 的场景有哪些?
- 说说G1垃圾回收器?老年代,年老代如何调配?
- Redis 锁出错怎么办?
- Redis 扣减库存有问题怎么办?
- 设计一个转账零碎? A->B转100块,有没有思路?
- Redis 有哪些长久化形式?
- Redis 数据会寄存到磁盘吗?
- Redis为什么这么快?
- Linux 统计top10 IP拜访日志,用到哪些命令?(不会)
- Linux 本人用过哪些命令呢?
- 如何查看Dump日志?怎么产生的?命令有哪些?
- 一个线程池 ,10个外围,100个最大线程数,100个队列,10000个申请打过去,形容一下线程池如何运行? 回绝了怎么办?
- 考查一下基础知识吧,String new String 的区别? (== equals )
二面:(和一面问了好几个反复的问题,害的我又讲了一遍)
- 我的项目你认为有哪些难点?(流动报名超员,联想到秒杀)
- 秒杀场景如何解决?
- 能够用Redis decrby 做库存扣减吗?如何做?(能够用 lua保障原子性)
- lua太重,有别的计划吗?
- 库存如何复原?
- 避免超卖还不行,未领取的订单如何解决?
- 用户名明码如何避免被盗?(js加密,不行,还是能破解,哦,https。。。。)
- 说说https的流程?
- 有理解过哪些非对称加密算法?对称加密算法呢?
- c,b,a 索引问题,c=1,b=1,a=1 能命中索引吗? c>1,b=1,c=1 能命中索引吗?为什么?
- 评论业务如何辨别模块的? (bizId)
- 某个业务打爆数据库了怎么办?(分库,拆分服务,独自部署,还有呢?MQ)
- 理解限流吗?降级?算了,你也没接触过,不问了。(ORZ)
- Linux 统计top10 IP拜访日志,用到哪些命令?(不会)
- 说一说你对HashMap的构造了解,如果Key雷同怎么办,链表是前插还是后插?红黑树呢?
- 用过哪些Linux命令?(mkdir,ll,等。。。。linux的确是我的弱项,当前要恶补了。)
- 1 2 2 3 3 4 4 5,如何确定3的索引地位? (计数统计,O(N) O(N),还有更好的办法吗?循环吧。(正确答案二分法,我提到了,然而思路却错了,被批了一顿)
- GIT 团队开发如何去做?如果有个 feature 不必上线怎么办呢?
- maven 如果包抵触,不解决会有什么问题?如何解决包抵触问题?
- 设计一下Dubbo的线程池? 每次申请50ms 200 QPS,客户端500ms超时,如何设计? 间接打入200个申请呢?队列多大?线程池多大?(答复的不好)
- Integer a1=10000 Integer a2=10000,他俩 == 后果? 怎么能力相等呢?(equals,== 比拟的援用地址,考查Integer 缓存)
- Integer a1=100 Integer a2=100 呢? 参数能够设置吗?如何设置?
部门老大面:
- 你是某某同学吧?(舍友)
- 说一下当前的打算?
- 技术成长?业务方面有哪些抉择?
- 不能光看技术,要熟悉业务
- 如果DB要挂了,用哪些形式去解决?(说了一些我认为的计划,然而显著不是。。毕竟没接触过,所以只能本人了解)
- 如何统计QPS?有没有理解市面上的框架?如何实现,原理呢?
- 他们该问的都问了,聊聊非技术的吧
- 等一下,我让HR找你。
HR面:
- 到职起因?
- 五年怎么到职了呢?
- 冀望薪资?
- 周一等音讯吧。
和同学简略聊了聊。同学说我的答复还能够,只不过教训少一些。(哎,小公司业务量小,的确吃亏)。慢慢来!我说,有这次面试机会我曾经知足了!!!要不然我的简历必定是过不了的。
总结
面试之前的确要多做筹备,不过有实战经验的话更佳,怪不得大厂跳大厂较为容易一些。小公司也不要泄气,一些公司不看我的项目,看你对高并发我的项目的了解,哪怕本人没做过,有本人的计划也能够。根底必须扎实,不要只背实践,深刻理解,理解的越深越好,虽说面试造火箭,工作拧螺丝,你有造火箭的能力还怕拧不好螺丝吗?
面了整整一周,总共四家公司,最终后果本人还是能够承受的。 JVM,MySQL必须把握,其余基础知识要牢固,并且要用到实战上,要不然学再多也是实践,Linux操作系统要恶补一下,因为本人高并发场景教训较少,这个只能在业务量较大的公司能力学到。
另外,市场上的材料,不论是付费的还是非付费的的确对面试很有帮忙,然而如果本人有个好我的项目搭配的话,更好一些,要不然面试官都没法问。
别问我为什么五年不到职,我也不晓得,是坏事还是好事?
整体面下来,感觉本人筹备的勉强及格了,但还是不够好,应该能答复的更好的,让我想起了一句话,你原本能够做的更好。所以,告诫本人不要再浪费时间,多学习,多总结。很侥幸,再次感激同学的内推,谢谢你。
在此给大家举荐一下我的学习材料,让我播种了很多,也让我在面试过程中可能对答如流【Java学习视频+面试真题】
2021年6月11日更新
曾经收到 offer。很开心。往后持续加油,像大牛看齐!