腾讯面试:软件开发--后台

    加入腾讯2019暑期实习大军中,浩浩汤汤,虽然最终还是被刷,但至少也领略了鹅厂的风范。郁闷之至,写下这篇博客,聊以自慰,也为后来者提供前车之鉴。。。

提前批

    凭借着群里大神们发的内推链接,顺利搭上了内推的快车,进入提前批状态。今年3.30号是腾讯的提前批面试阶段,过了这一阶段,无论你是不是内推,还是面试到了哪个阶段,只要你没有在提前批截止之前拿到offer,就要在提前批结束之后,正式加入招聘大军中了。也就是,所有人在4月1号之后,就规规矩矩得给我参加笔试-->面试-->等待offer的正常流程啦。呵呵,我虽然在提前批阶段内推了,但无奈一直没有接到电话面试。之后一直反思是不是自己简历写得不好??还是相比其他人,简历逊色许多了?反正看了周围有的同学接到电话面试的通知,心里无不羡慕呀~~

笔试

      没办法,只能走正常流程啦。先是笔试环节啦。怎么准备也不用说了,刷下题目,该会的题就会,不该会的题怎么也不会的。为了准备笔试,我也是刷了刷题。笔试的时候有一些做过,一些实在是知识面有限也只能随机啦。不是很清楚鹅厂是怎么看笔试成绩的,好像周围的人只要参加笔试一般都会发面试通知的。哈,可能是学校原因还是真的实力吧??

一面

      笔试通过,鹅厂也发来了面试通知。整个过程只要在微信上关注“腾讯招聘”,就可以实时查看自己的状态的。一面时会显示是“初试”状态。一面准备也不是很多,之前零零散散的看会算法书,熟悉下一些面试的算法题,也上网搜了一下面经。就这样,第一次线下面试,内心忐忑不安。面试那一天,提前来到面试地点,是一家酒店,不得不说鹅厂选择在酒店面试招人是不是想“秀肌肉”哈?光看酒店一天住房费用就够将近一个月生活费了,也是够豪的了。不确定鹅厂是不是把整个酒店包了下来用于面试还是咋的,反正大半个酒店都用来面试倒是不假。面试的环境确实很好!面试来得早,就一直在等候区等着手机信息通知面试。等了将近一个多小时吧,终于轮到我了,根据提示坐电梯来到指定房间面试,敲门进去,发现有一哥们正在面试,面试官很客气得带我到另一个房间里等待,同时给了我一个编程题,让我做一下。

  •        编程题目大意如下:给定一个字符串s=“abcd”和字符数组words={“abc”,“ac”,"adc"},判断words中属于s的子串的个数。注意,这里的子串的含义是指子串中每个字符的相对位置与字符串s中的位置一致即可。即“ac”,"abc"是子串,“adc”不是。一开始看到编程怕得要死,看了这道题,幸好不难,写了一通,发现面试官还在面试之前的那个人,索性便把注释,时间复杂度,空间复杂度都写了上去。

        等了一会儿,终于轮到我了,面试过程涉及的问题主要如下:

  •         C++:虚函数是什么?new和malloc的区别(这个明明之前看过,但是忘了,后来面试官提示后才知道,new有调用到构造函数,具体就百度去吧)?深拷贝和浅拷贝?
  •         计算机网络:TCP和UDP的区别?游戏是用什么协议,会有什么问题?(游戏为什么不直接用TCP,这个不会)?丢包怎么解决?
  •       操作系统:进程和线程的区别?进程通信的方式?锁?(锁这方面了解的不多,所以老老实实说不熟悉pass了)
  •       数据库:往数据库中写数据时,突然断电或突然错误时怎么办,如何解决(也就是数据不一致问题,回答时说到Mysql为例,说有一个日志,mysql启动时会检查日志,并对执行错误的操作重新执行一遍或回滚之类的,还讲到数据库中事务的概念,讲到数据库利用事务的特性解决这一问题,但好像面试官对这些回答不是很满意)?锁(也是不熟,pass了)
  •       人工智能:由于简历中说到上过人工智能的课程,面时官让我说一下实际如果应用这些算法。(GG,人工智能没先做功课,突然没想起来怎么用,支吾半天没说出。) 
  •       网络编程:数据加密的方式(讲了SSL,但发现这部分没做准备,也忘了具体是什么来着)?服务器如果处理多个进程的请求,或者如何解决大量请求访问?客户端与服务器通信的方式?(这部分不是很懂,答的也不好)
  •       算法:大量的单词,找出频率最高的前10个?(明明看过,但又忘了。。答的不是很好)如何解决哈希冲突?面试中自己谈了位图,随便让我解释下位图。
  •       其他:面试过程中,面试官还打开了我的笔试卷,让我把第一道编程题重新做一遍。(其实就是推导出一个公式,很简单的,但涂涂改改推导出来还是费了点时间。所以笔试还是要认真做下);设想情景,在支付中,如何防止重复支付的问题?(同样回答了数据库中事务的特性,利用这一特性保证数据正确写入,即保证一次支付后数据依旧一致,同时服务端向支付的客户端回传类似ACK的应答。但好像不是这种回答??);设想情景,客户端向服务器发送消息,如何保证客户端不会重复发送同一消息?(回答了类似TCP协议,服务端接收到一条消息后回传ACK应答之类的相应?但这回答好像不是很完整?又说通过在客户端对每条消息加上序号用于计数,防止同一消息多次发送之类的情况??但这回答不知可不可以?)

   最后,面试完,询问有什么需要提问的,问了面试官几个问题后便走人啦~~ 

      总结:一面基本上是基础面,面试官都是根据面试题记录来提问的(看他时不时看着电脑提问),期间可能会根据你提到一些想法提出别的问题。所以还是要看你会不会引导了哈~~~一面回答一半一半吧,但发现面试官对于那些如何保持数据一致,服务器与客户端数据通信,同步之类问题还是挺感兴趣的。。

        注:一面都没让我自我介绍,但面试官看上去觉得挺和善的哈,虽然面试官过程中不怎么笑。

   

二面

      一面结束后一直刷新状态,发现一直是初试。直到晚上发现变成复试了,在23点快凌晨时才收到二面面试的通知短信。兴奋之余,也带着紧张。终于到了面试那一天,还在现场看着算法相关的书籍,但也漫不经心。过了半个多小时,终于收到短信,根据楼层指示来到了面试房间。走到房间前,只见大门大开着,面试官正在面试一哥们,见到我只是示意在外面等着。等了一会轮到我了,在面试官面前坐下。相比一面的面试官,他显得更为高挑瘦弱,瘦削的脸带着一种凌厉的严肃感。面试开始。

        自我介绍。(不知道为什么,自我介绍显得有点心不从力,不知道是不是被面试官的严肃震住了哈)

        接下来才是噩梦的开始。面试官抛出一道编程题。如下:给定一颗二叉树的根节点和树中的任意两个节点,找出这两个节点的公共父结点。(GG,应该是脑袋抽筋了,一开始就一直想着通过递归来做,磨蹭许久,还是没能想到较好的处理方法。整个过程面试官也是一直安静着坐在我对面。唉~~)

        知道我无能为力后,面试官也对我放弃了吧。(他也没有给任何提示)唉,只见他看着简历,便要开始提问了。,,(啊,什么?!!!二面会问简历的吗?简历上的内容并没有这么准备啊!!)但也是自己才疏学浅吧,对于自己简历上的,并没有引起面试官太大的兴趣。(唉,项目经历少真的是硬伤~~~)问了一些,也只是草草结束。

        面试官也试着转移话题,提到数据库,问我数据库有哪些表???(??完全不知道,数据有哪些表)

        看来面试官也无能为力了,又问到平常看什么技术类的书或者了解过什么没?因为最近区块链炒的很火,所以我谈到了区块链。但面试官问起区块链加密方式。咳咳,没了解那么深啊。又问自己对区块链的理解。扯了一通。他又问道比特币现在多少钱?咳咳,母鸡。。

        呵呵,你有什么要问的吗?唉,我问了几个问题便灰溜溜的走人了。

        总结:二面会问经历多点。一直以为不怎么会问简历上的内容,所以没怎么准备。后来和同学谈起,说要把面试官把简历上引导。唉~~~都没怎么准备,就不敢引了。项目经历真的很重要,没有的话,根本无话可聊的啊!!程序的自我修养,没事多看点技术类的书也挺重要的啊!!现在想想,二面的面试官也挺好的,整个过程已经在尽最大努力引导我了,给我很多机会了。

 末

        虽然二面结束后就不抱太大希望了,但微信上的状态一直是复试。真的是“希望给的不充分,绝望给的不彻底”。提心吊胆得等了二天还是三天,看到群里一大群说三面了,真的只有羡慕的份。终于,刷到状态显示为“没有适合你的岗位”。唉,成败与否也就此尘埃落定了。只能来年再战了。



    

        

    

猜你喜欢

转载自blog.csdn.net/kachuan/article/details/79999126