背景
在老东家五年了,总共工作整七年,经验两家公司。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。很开心。往后持续加油,像大牛看齐!