这是群里一个朋友分享的博客,讲述了他进入大厂的故事。(为数很少的,让我真心佩服的人)java
他以前就一直就想进拼多多工做,没别的,就冲着优渥的薪资待遇去的。mysql
我是2021届毕业生,大专学历,没啥背景,当初选择“计算机软件工程”这个专业就是冲着程序员的高薪去的,穷学IT富学商。nginx
感受这是见效最快的一个行业了吧。git
找工做那点事简单介绍一下本身的背景:农村家庭,我是长子,下面还有一对双胞胎妹妹,她们两是在我初二是时候降生的,原本就算不上富裕的家庭压力更大了。程序员
可是我很喜欢她们,只但愿本身能快点有出息,为家庭分担压力。面试
就我自身条件来讲,并无什么优点,学历通常, 技术通常,在校期间也没有作什么项目,仅有的时间我都在作家教工做赚钱,社会专业性工做经验也很少。算法
从春节前那段时间我就开始找实习了,都是看的大厂。当时就比较看好拼多多这家,感受这是一个新起之秀,对学历可能会相对宽松一点吧。sql
可是我仍是被刷了三次,倒不是由于学历,实在是本身的能力有不少不足。docker
下面讲一下个人面试经历。数据库
四战拼多多
放寒假没多久,此次没啥经验,就投了三家,腾讯,百度,拼多多,这基本上算不上“战”吧,对方拒绝了个人挑战书……(大写的尴尬,简历没人捞)
看了一下网上大佬写的面试指南,照着大佬的简历的简历模板把本身的改了一下,强调了本身能加班,学习能力强,勤劳这些品质,又投了拼多多。同时期还投了另外几个厂,其中有网易,腾讯新闻,微视,快手,贝壳找房,小猿搜题等。
第一次投的少,应该是脑壳被门夹了,怕应付不过来。此次本着广撒网的原则,投的有点多,还有不少家记不住了……其余的就不说了吧,只拿到了两三家的意向书,都是没听过的小厂,惟一一家“大厂”是和腾讯挂了点钩的外包,岗位,待遇什么的都不理想。
本文只记录我和拼多多的“爱恨情仇”。
拼多多的此次接到了电话过了二面,下面是个人尴尬二面:
面试官前面问了几个基础问题,感受我进入状态后,问到了屏障(这个我不会啊,我感受卡了好久)
面试官也看出了个人窘迫,换了CountDownLatch问我 (也不会。。。)
后面断断续续又问了一些其余的,差很少半个小时就结束了,让我回去等通知。
因而一个星期左右,又收到了感谢信。(好歹走了一遭,仍是有进步吧)
上次的面试经历让我深入的意识到了本身的不足,此次准备的时间稍微长了一点(半个月),多刷了一些题,零零散散找了一堆面经,看了很多。
此次却是没有发生太大的意外,虽然也有几个答不上的题目,但仍是比较幸运的一路苟到了三面。可是,这一次面试官特别注重项目和源码,我那单薄的学校做业式项目根本不够看的。
这个三面比我前面说的二面还要尴尬,面试官好像也比较忙,不到三十分钟就结束了。
因而回去后一个多星期,又见到了老朋友:感谢信。
我本身都佩服本身,竟然还有勇气投拼多多(主要是,经历这么多的面试,仍是感受拼多多的可能性更大吧,并且前面的两次面试也积累了不少经验,我也在一直提高本身。)
此次我考虑的比较多吧,足足准备了两个多月。
期间找了不少免费的Java资料和面试题来刷,同时在B站上看了不少的视频教程。再去面试的
此次一开始仍是蛮紧张的,我不知道本身若是再次失败还怎么面对家人,不过,面试进行的意外的顺利,虽然也有卡壳的地方,可是,整体上仍是比较顺吧。也算是功夫不负有心人。
下面分享一下我和拼多多相爱相杀的决战!
感受挺难,面试官全程严肃还时不时叹气(弄得我很慌)。。。
1.自我介绍
2.简单介绍项目,怎么作的,为何要作这个,用到了什么技术。
3.乐观锁、悲观锁、举例讲讲,CAS
4.异步同步、阻塞非阻塞,他们之间有联系吗,说说区别,再从内核的角度说说看(私下查了资料答错了)
5.synchronized,放在各个地方锁的是啥,一个synchronized静态方法,一个普通的synchronized方法,访问静态方法后还能访问普通方法吗,锁的对象是同样的吗。
6.synchronized的底层实现,知道多少说多少,和ReentrantLock的区别
7.Redis单线程为何这么快(以前美团问过,可是仍是有点记不清。。。)
8.最后一道算法题是二叉树方面的作了很久。。。
求一个二叉树里的2个节点的距离,二叉树每一个节点的值是惟一的。
当时写的是用递归的先序遍历方式去写,面试官说往这个方向想是对的,就继续卡了挺久,面试官提醒说能够吧走过的路径记录下来,
提醒到这差很少有思路了,就用栈去记录遍历的节点,仍是递归先序遍历,当遍历到2个节点中的一个时当前的 栈轨迹就是那个节点的路径(从根节点开始算起的),最后比较这2个栈轨迹就行,相似最近公共祖先,好比找节点4和5的距离若是得出是[1,2,3,4]和[1,2,5] 那他们的距离就是3,及4->3->2->5.
其实还有不少底层的问题记不起来了,一面问的都很底层基础。
一度觉得一面能过的几率不大,结果过了仍是比较惊喜。
二面面试官特别和蔼,心情很好,上来就活跃气氛,说我这里天气很好啊,在寝室吗。。。
自我介绍
1.问项目,问具体实现,怎么使用Redis的,myqsql有优化过吗,说说过程,登陆流程,拦截器,jwt,2级缓存,部署,docker,git,
2.都是简单的聊,没有深刻,这些技术是怎么开始去学的,碰到问题怎么解决的。
3.问了个ConcurrentHashMap
4.问了项目的实际使用状况,一个在商用一个没落地
5.问何时能够实习,能实习多久(我还觉得结束了。。。)
6.继续问了几个底层:讲讲volatile,JMM,垃圾回收过程,字节码角度解释return i++,mysql的事务原理;
7.为何喜欢java,怎么开始学的(感受面试官特喜欢java)
8.算法题,面试官吧函数啥的都码好了,例子也给我写了
9.一个字符串,找是否存在一对AB-BA或者一对BA-AB, 重复的不算
10.直接遍历一遍吧AB和BA出现的数量记录下来,根据他们出现的次数分类讨论
(算法是可行的,复杂度O(n),面试后发现有更好的方法,双指针2端往中间扫描(左边有AB则右边就找BA这种思路))
面试官看着就像大佬
1.问项目,项目里哪里能够优化,第一个项目若是落地了,如何保证高可用,数据库主从,后端服务多开几个,
2.怎么保证前台访问的接口必定能找到后端服务,用一个网关,怎么保证网关高可用,。。。(不清楚了,下来想了下,nginx+keepalive就能够,当时咋就想不起来泥。),
3.引入了Redis,Redis挂了怎么办,系统还能正常运行可是很慢,全部Redis异常都被捕获了,最终都会查询数据库,当时候人工维护。
4.怎么部署https的。https的加密流程。
5.最近在看什么书,推荐下,并发编程的艺术,学到了什么,里面不少思想都和操做系统的联系起来了与学校的纯理论课相比更加形象(实践起来了那种,好比阻塞队列,cas,管程)
6.何时能够实习,有什么想问的
7.什么技术栈:dubbo,没学过,面试官说SpringCloud那一套也能够,消息队列是自研的,去学RabbitMQ就行,缓存用的C++,
8.实习有新项目吗,看部门,有的有,有点就维护老项目就行。
尘埃落定
此次等的时间比较长,期间另外的offer拒绝了几个,包括贝壳找房,小鹏汽车问了下,仍是能够保底吧。
而后差很少快两个星期了吧,终于收到了offer!
最后我想说的是:功夫不负有心人!不枉我闭关刷了66天的题目(哭了)
另外,须要资料的朋友,下面是我那段时间找到的一些我的以为还算比较系统,质量还比较高的资料,免费分享给你们,大家能够本身去看一下,看对本身有没有用吧。
长风破浪会有时,直挂云帆济沧海。祝你们拿下心仪公司的offer。
其实感受本身要学的东西还有不少,但愿进去后能跟着大佬们好好学习,有所收获吧。