嗯,春招两次腾讯面试都挂二面了,分享下我失败+傻傻的面试经历

这个春招估计也要介绍了吧,本身投的公司也很少吧,投简历的时候,若是你提早批和正常网申都投的话,可能会得到两次笔试/面试的机会,我投了两次腾讯,不过,两次都在二面挂了,特别是第二次二面,我真的决定本身太他妈傻了。做为一个新人,谈谈我面试过程当中犯过的一些错吧,或许对你也有点收获。前端

提早批笔试java

腾讯提早批的面试应该是一个月前就开始的,我第一个投的公司就是腾讯了,人生的第一次笔试和面试也献给了腾讯。先说下笔试吧,笔试是 5 道编程题,我的以为,腾讯的笔试题比较简单吧,也就是说,得到腾讯的面试机会应该算是不难的吧,5 道我好像是作出了 3道 + 一道90%测试用例经过 + 一道也是百分之几十来着的,忘了。面试

最后的结论就是,我的感受腾讯笔试不怎么难,投了以后得到面试的机会应该很是大,个人简历背景是没有任何亮点的,没有啥比赛,没拿过啥奖,非211/985,普普统统。这里建议秋招有兴趣的必定要投一下,万一面试也过了呢,好像我据说腾讯技术研发是 2轮技术 + 一轮HR面,万一2轮技术面过了拿offer机会仍是挺大。redis

固然,我据说前端的 HR 面是综合面,据说比比前面的两轮还难还难过。算法

提早批一面spring

一面是视频面,人生第一次面试,能够说我是很紧张的,一面我彻底就是个小白啥套路也不懂,面试官问啥我答啥,彻底不会引导,面试完后我感受本身是真的傻,主要是问了一下问题:sql

一、浏览器输入一个地址回车以后都发生了啥?编程

这个能够说是很是高频的面试题了,我以为本身这方面还能够,压抑本身的紧张,好好详细秀一波,然而,因为我事先并无去准备过这个问题,而这个问题又涉及到不少步骤,因此我在逻辑上讲非很是很是很差,卡住了好几下,最后无论三七二十一,就说关键词了:有DNS转换啊,ip网络寻址啊,三次挥手啊,可能还有NAT地址转换啊,还有ARP啊。windows

可能平时看我文章的人会发现,我是喜欢把这些技术一点点推出来,有逻辑着连起来的,这样说出来会特别舒服,不过我此次面试的时候,连不起来的,归根到底就是,没有准备,头脑以为本身都懂,可是不意味着讲的出来,因此我在这里是建议各位,对于那些高频的面试题,本身最后尝试着口头去表述一下,或者文字书写一下,要是你来回答,你会怎么说?浏览器

二、TCP 和 UTP 有什么区别?

我在回答这道题的时候,也是很是简单着回答他们的区别,例如一个面向链接一个非面向链接,一个可靠一个非可靠,很是简单就答完的。

不过这道题是一个高频题目,按上面的那个回答,就算回答出来,我以为也是一点优点都没有。由于这些简单的区别,99%的人都懂,我以为咱们应该再往深刻回答,例如TCP有流量控制,拥塞控制,面向流以及基于这些区别,他们的使用场景等等。

不过我并无回答,不是我不知道,而是我想伪装不说,等着他来问,由于我据说面试官都会一直往深问到你不会为止,然而现实是他并无问,换话题了。感受本身错过了一些表现的机会。

这里我想说的就是:若是你知道,你能够多说一点,千万别像我这么傻,等着别人来问。

三、写个快速排序

和算法有关的,我以为本身还好,写的虽然不是特别快,但感受本身写的还好,不管是从代码的排版(由于这个通常都是在笔记本写的,不可能给你IDE),以及代码的简便程度,我以为都不错,这里我想说的就是,本身平时写代码的时候,必定要注意排版,别总是依靠IDE给你一键排版。

虽然我已经写出来了,不过他以后让我说下快速排序的步骤,我老实说了,不过我以为,这些题都太简单,若是面试官的很基础,你也答的很基础,我以为没啥优点,对于快速排序,我原本想补充的,例如对中轴的选择问题,与其余排序算法的一些比较,应用场景等,不过,我是想着等他来问我……

按照我这样写文章的话,估计得上万字,我下面简便说下就好了。若是大家感兴趣我这么啰嗦的话,下次我再来吐槽说说我回答的不够好的地方。

四、一条SQL执行的很慢的缘由?(以前写过文章,建议看看)

五、MySQL有哪些存储引擎以及他们之间的区别(我其余引擎忘了名字叫啥)

六、如何查看SQL语句的执行状态,知道这条命令吗?(我当时MySQL其实几乎没学,不少都不知道)

七、qq用的是tcp仍是udp(两种都有涉及)

八、说说jvm内存模型(其实并无JVM内存模型,只有Java内存模型以及JVM内存结构,你要问清楚是哪一个再答,我当时是答了Java内存模型,面试官一面懵逼)

九、JVM内存结构中有栈堆等,为啥要用栈这种数据结构?(主要是操做简便,快速)

十、说说垃圾回收?(老年代,新生代,永生代的区别等,各自使用的回收算法,新生代又分eden和survivor区等)

十一、说说aop和ioc

十二、大体看过哪些书?有逛技术论坛的习惯吗?说几个你常见的技术博客平台?有去逛过国外的技术博客吗?看的懂文档吗?

整体上一面比较简单,面试官没有深刻问,不过问的很广,这里问一些,那里问一下。感受本身答的还好,也顺利过了。第一次面试收获仍是挺大。

一、对于懂的必定要多说,能够延伸,只要面试官不打断你的回答。

二、对于高频面试题,必定要本身模拟说一下,并且这些题通常不难,必定要多延伸,否则没啥优点。

三、感受之后面试不那么紧张了,也就这么回事。

提早提二面

几天后收到复试通知,二面是电话面,二面操做系统和Linux问的有点多,我二面感受本身就挂在Linux上,我Linux不大懂,被问了好几个个基础的问题都不懂,本身也是醉了,感受本身应该和面试官说一下我Linux还没学😹。操做系统不少细节也忘了,说说二面的面试题吧。

一、说下四次挥手,何时会出现time_wait状态?(我扯了一下,面试结束后,发现本身弄错了,真想给本身一巴掌,主要是,其实我对三次握手和四次挥手没去准备过,虽然看过挺多文章,可是具体的没记住,凉凉)

二、红黑树知道吗?说说,为啥有了平衡树还须要红黑树?(平衡树太严格,插入很容易打破平衡,常常须要调整,而红黑树是一种折中方案……)

三、红黑树是如何保证查找效率不会过低下的?(我后面再写一篇关于红黑树,B+树,平衡树这些的文章吧,如今先给出这些遇到过的面试题)

四、红黑树在调整的时候,不是会用到左旋右旋吗?说说会不会出现无限左旋右旋的状况,若是不会,那最多旋转几回?

五、为何索引能加快查找效率?

六、说说B+树是怎么分裂、合并的,知道具体步骤逻辑吗?

七、你项目用到redis,知道跳跃表吗?说说他是怎么实现的,查找时间复杂度?

数据结构这部分我以为本身答的还行,几乎都答出来的,不过下面的Linux和操做系统有点惨,怪本身没准备,不过面试就是一个查漏补缺的过程吧。

八、Linux的proc目录有啥用?(忘了,,,,)

九、怎么查看端口的状态?(有条啥命令来着的,忘了)

十、怎么查看某个进程的状态?(也忘了,呵呵,,,,,)

我简历上是写着熟悉Linux经常使用命令,然而一个也没答出来,尴尬啊,其实我会用的是那些 ls, cp, mkdir, tar等经常使用命令,对于线程、网络相关的都不会,感受危险了,这么基础的问题都不会。

十一、说说什么是进程,进程包括哪些数据?进程切换的过程是怎么样的?

十二、若是想要让多个线程执行到某个点,都达到以后再继续执行,能够用java的那些类来实现?(CountDownLatch和CyclicBarrier这两个)

1三、什么是反射?反射有啥用?

1四、说说垃圾回收,jvm是如何知道这个对象能够回收的?计数法有啥问题?若是咱们想要指定某种垃圾回收算法,该怎么设置?

15说说aop(这个问的刁难了,我该说的都说),他说,那我也能够经过本身配置文件来实现这种切面啊,为啥就要用AOP呢?(他问的问题就至关于,我用servlet也能使用实现一个网站啊,为啥要用spring这些框架呢?我当时应该要吹一波spring中AOP带来的好处的,不过我没说,感受本身应该吹一下的)

1五、接着是问了我那个高并发秒杀系统的项目,说了里面的线程安全问题,而后我这个项目早忘光了,本身也没准备,代码我不是本身敲的,直接看视频的。本身没作过什么项目,就充当了,结果面试官问了一下线程的问题,我一直没get到点,搞的本身也好懵,最后才知道他说的是啥,不过项目这块答的也很差,主要本身也没动手弄过,又是去年快速看视频学的。

整体上,二面除了Linux答的很是很是很差,还有四次挥手说错了,线程包括哪些数听说的也不全以外,以及项目感受有点被认为不是我作的以后,其它感受还好。不过。一个多星期后,结果出来,挂了。

不过我也不意外,知道本身有不少须要补的,面试有时运气很差,可能连续问到好几个很差的,估计就得挂了,不过这没方法,最好的作法就是面试事后把本身不足的补上来。

常规网申一面

常规网申的笔试题中是20道选择题+3道编程题,过几天就收到面试通知了,有了前面两次以后的面试经验以后,也了解到腾讯是特别喜欢问操做系统+计算机网络+Linux的,因而我把这方面的高频面试题都好好准备了,Linux 进程等相关都准备了,操做系统也大体准备了,下面说说此次涉及到的面试题。

一、说说网络创建链接以后是怎么关闭的(其实就是四次挥手,我详细说了,以前写过文章)。若是出现大量time_wait 状态的链接是怎么回事?(我说了第四次挥手出现了丢包、超时等),假如不会出现丢包、超时等,网络很是流畅呢?(说了短链接致使的)那怎么解决?(我说了限制最大链接,用队列来缓冲),问我还有其余方法吗?(我不大知道,好像面试官不大满意个人回答。不过最好的作法应该是修改 time_wait 等待的最大之间,把时间改小一点)。

二、说说IO阻塞与非阻塞是什么?各自有啥好处?知道多路复用吗?了解过 select 吗?说说他与 epoll 的区别。

我知道的也不是很深刻,就常规答法,他问啥就答啥。这里我要说一下,我以为不少人可能混淆了阻塞、非阻塞与异步、同步的概念。我实话,我以为本身已经理解了,结果我看了好几篇文章,发现本身反而不懂了,懵了,总以为缺了点什么影响我对阻塞非阻塞与异步同步的理解,说实话,我看了大概有10篇文章,有80%我以为都没有说清楚阻塞非阻塞与异步同步的本质区别。这会影响你对同步阻塞,同步非阻塞,异步阻塞,异步非阻塞的理解。有时间我再来写一篇文章说说他们的区别,相信看了你就必定懂了。

三、知道乐观锁吗?说说他们适合应用的情景。

四、说说自适应锁,与其余锁相比,他的优缺点,什么状况下你以为能够用自适应锁?(以前写过几种锁的文章,不懂的建议看)

五、你平时开发是在Linux上开发的吗?(我靠,Linux上开发??那不是得对Linux上很熟悉?我虽然准备了Linux面试相关,但是这Linux上开发压根没体验过啊,我立刻怂了,立刻说没有,而且还加了我对Linux不熟,这门课刚学没几天。以后他就不问了Linux了,而后接下来我就扎心了)

六、那你平时就是在windows下开发了,那若是你平时项目要上线,这个项目的性能忽然不好,你是怎么定位问题的?(我靠,在下历来没有上线过项目,连用心写过项目都没有,这下完,我迟疑了一会),他补充说,例如你能够经过观察你电脑的cup, 内存,IO 的指标来进行行定位,能够分析下吗?(能够打开任务管理器来查看cup等的运行状况,而后…..其实我没有上线过项目,也没有这样的经历),他说没事,假如遇到这种状况你会怎么分析?(我下面说一下我是怎么扯的)

心想,扎心了,其实我不大知道究竟要分析啥,好吧无论三七二十一了,而后我开始扯了:

一、若是cup一直很高而其余地方内存,IO很低的话,那颇有可能项目里面有某些东西在疯狂运行,但却没啥用,颇有可能就是本身设计了乐观锁,但竞争的线程太多,致使一直作无用功。

二、若是磁盘操做很高,但cup很低,这是意味着项目一直在作IO操做,颇有多是SQL语句写的很差,致使扫描了大量的磁盘,而后我就针对SQL语句的问题开始扯了,例如没有用上索引啊,选错索引啊,扯了一大堆,哈哈。(心想,舒服,恰好写过sql语句执行的很慢的缘由有哪些)。

七、说说进程与线程的区别?进程有哪些通讯方式,(我说了共享内存,消息队列,管道,信号量,套接字,信号驱动),他问还有吗?(我说其余的不知道了),描述下这些具体的通讯方式(我有些具体的给忘了,大体描述了几个)

八、说说快速排序的思想,删除单链表倒数第二个节点,你会怎么作?

九、了解MySQL事务吗?说说ACID是啥(我靠,我对事务的隔离理解还强,研究过隔离是如何实现的,然而,,,我忽然短路,ACID的D忘了啥,就像你高中那会对一首古诗背的很熟,而后忽然就忘了哪句,内心有点扎心),那你具体说说ACID是啥(原子性是,,,隔离性是,,,,一致性?????,我靠,我以为本身对这四大特性很理解,感受看名字就知道是啥了,而后说到一致性的时候,我本身的心中产生了疑问,感受本身并无真正意义上理解了一致性,而后我没说出来)

心中那个苦,一致性都没说出来,其实我是能够说出来的,可是我总以为缺了点什么,就像你看了几篇文章以为本身懂了,结果让你在看几篇文章,你感受本身有点醒悟了,而后忽然发现本身并无真正意义上的懂,我查了好多篇文章,呵呵,千篇一概,都不能解答个人疑惑,说实话,别以为本身懂了,其实你根本就没有懂,最后是懵逼了很久,才以为本身应该是懂了,有时间也要写一篇事务的四大特性的文章。

说实话,网上的不少文章,真的是千篇一概,当你产生了疑惑,很难找到解答,由于你会发现,这几篇说的都是同样的,那个你感受特别重要的疑惑都没有说到。好吧,不吐槽了,等下要被大佬门怼我写的文章了。

一面大体说了这么多,有些忘了。比起提早批一面,我以为本身在表述上好多了,也会扯了,这里我想跟你们说的就是,问题就那些,必定要搞懂,延伸,要理解,该背的要背,例如进程有哪些通讯方式。若是要面试腾讯的时候,计算机网络、操做系统,Linux这些底层的,要学好,尽管你是面试 java 岗位的,可能他一个 Java 的问题都不问的。

想杀了本身的二面

二面我应该就是个傻逼吧,本身给本身挖坑了,最近这些题一直在刷题,复习基础,对于数据结构,算法题,Java,操做系统什么的,本身也想看看有哪些不足,而后他一开始就叫我介绍项目。

一、说说你作的项目。

其实这期间我为了应付之后的面试弄过作过一个项目,不过还没弄好。而后我以前不是说了本身有个很水的高并发秒杀系统项目吗?我本身也没啥项目经验,而后我以为高并发也是很牛逼的样子,就打算用它了,简历上也写了。不过这个项目我本身没实操过,看视频的,很短,几个小时而已,用到了redis等,不过我已经准备了不少redis相关的知识了,怎么优化的也准备好了。

现实是,呵呵,我被怼的体无完肤。

优化之一就是经过减小事务持有锁的时间来优化的,例如咱们秒杀一个物品的话,若是减库存和插入订单两个操做都成功的话,表明秒杀成功,这两个操做会在一个事务里完成。问题来了,是先减库存呢?仍是先插入订单呢?

我说了先插入订单在减库存可以减小事务锁的持有时间,而后我就被面试官怼死了,以下:

面试官:你以为你这个优化有用吗?

我:有啊,能够减小锁的持有时间(确实能够减小锁的持有时间)

面试官:那你说说提升了多少并发量?

我:这个,,没测试过(我是看视频的,本身也没有这样的测试工具,有点尴尬,连测试过都没有??)

面试官:那你说说这条事务执行须要多少时间

我:我,,好像忘了具体数据,大概是0.00几秒吧。

面试官:你本身都说0.00几秒了,这么短期,你以为你的这个优化,用处大吗?有数据来支撑下吗?

我:,,,,,(真的本身给本身挖坑了,早知道随便介绍下就行了,不主动说本身的优化了过程了,毕竟本身没实操过)

面试官:你这个系统能扛多少并发量?

我:…没测试过(我以为,面试官以为这个项目是假的了,可能以为我是从网上随便找的,而后来应付面试的,我以为本身凉了,欺骗但是很是严重的)。

面试官:那你说说,完成一条请求用了多少时间(测试最大的并发量可能须要相应的工具,他可能为了再次确认个人真伪,故意是一条请求的?这样就不须要工具了)

我:…..没测试过(好吧,个人心已凉)

面试官:好吧,就说到这里,你用过lowJS吗?

我:啊??lowJS,什么鬼东西?并且他的声音有点小,我再次确认,是指lowJS吗?他说是,我说没据说过(后来才知道,他说的是Node.js,,,,,,麻痹,,,)。

面试官:你还有啥问题要问的?

呵呵,,,已经凉了,此次面试真的是本身给本身挖坑,面试官确定是知道我项目是伪造的,这是很是严重的事情,而后这个面试大概是持续了10几分钟,其余的面试官的也没问了。想找给人吐槽下本身。

而后,明天就查到挂的信息了,以前二面是一个星期多才查到挂了,此次是十二个小时以后就收到挂了,我也知道10000%挂的了。此刻须要一波安慰!!

总结

总结就是一首凉凉送给本身,还有就是有一些建议,固然,这也是我本身给本身的建义。

一、高频面试题,别停留于表面,你们都懂,说的很表面没啥优点。

二、别觉得本身懂了,若是能够,最好本身尝试描述一下,你可能会描述的很没有逻辑。

三、好好准备一个项目吧,必定要本身脚踏实地作一下, 别像我,被怼的体无完肤。

四、框架真的问的不多,好好打基础,数据结构与算法,计算机网络,操做系统,Linux 进程等相关的命令。

五、面试的第一关是笔试,通常都是编程题,建议要刷刷题,否则面试的机会都没有。

先写到这里了,通过此次的面试我整理了一些面试相关的题,建议最好看,虽然你看过相关文章了,但看个人,可能你也可以有新的收获!须要的朋友能够加群:1017599436免费获取面试资料(有答案的哦),还有就是祝各位大佬面试顺序,很差的运气我来帮大家包揽就好了(留下了委屈的眼泪)

相关文章
相关标签/搜索