腾讯暑假实习后端面经(初试、复试、HR 面)

UPD2:效率挺高的,一天就收到 OC 了,菜鸡本科生就求一个暑假实习涨涨经验,也不打算投别的了

UPD:今天(3.19)中午收到短信,HR 面的时间是今天下午,也就面完啦~

岗位:后端开发(ACM计划内推)

至于是不是ACM计划我也不知道……毕竟投的原因是一个腾讯的HR微信加了我说是ACM计划要不要来玩玩……(希望不要是骗内推的

初试

  1. 算法题:如果一个处理器同时只能处理一个进程,现给出每个进程的时间戳,问最少需要几个处理器才能全部处理完毕?(leetcode 253)

没刷过leetcode,但第一反应是贪心练习题的看最多能安排几个进程……

凭着ACM选手的直觉,回复了句:贪心,按结束时间排序(

面试官十分不解的听了我讲完了思路,并叫我写了代码(用的本地IDE),然后过了他的样例……

面试官:你再造一组数据吧

我手滚键盘按了一组数据以后发现不太对……

我:应该是按开始时间排序,我改下

改了下就很快过了

面试官:时间复杂度?

我:,其中是进程数。

  1. 算法题:如果进程很多呢?但是时间范围很小呢?比如一天只有个小时。

那就用一个数组记录每个时间点的进程数,然后取max,但是每一个进程是整个区间+1,所以可以用差分的方式只更改两个端点值。

讲了一通,面试官一开始没跟上来还叫我重讲了一遍怎么就差分了(雾

听明白了就叫我写了

时间复杂度:,其中是进程数,是时间区间范围。

  1. 算法题:滑动窗口的最大值问题。(leetcode 239)

还是没刷过leetcode,但是知道这是个单调队列板题啊

直接说是单调队列,然后写了一下

面试官:你要不手写一个队列的类,因为这里的弹出条件好像比较复杂

我:啊……我先用deque写着,一会再改吧

然而写完以后也没改……面试就结束了

  1. 有什么想问我的吗?

聊天ing……

面完10分钟不到看状态变成了复试,一个小时以后接到电话约复试

复试

复试其实自我感觉很差……毕竟基础很垃圾,但面试官当场说过了,心里安稳点

  1. 一面对你评价很高,我想聊一下除了竞赛之外的事情,我想了解一下你想要做的事情具体是什么

上来问这个其实自己挺懵的,当时的反应是“你为什么要来我们这啊”,就说想借暑假实习的机会除了ACM这些多了解开发相关的

  1. 后端开发也有很多种嘛,你现在有什么初步的印象对什么东西感兴趣?

啊……我人傻了啊……根本没仔细了解啊……就瞎扯了下对神经网络相关的有兴趣,上学期作业用过

  1. 你对多线程开发有经验吗?

之前大作业套板子做过一个linux下TCP协议的IM工具,服务器那要多线程监听……其他就不知道了

  1. TCP协议有可能会有一个问题,你在那个大作业里怎么判断TCP传输过来的数据消息是完整的?

我是在发送的时候带了一个校验码,类似于字符串的Hash值,当服务器端接收到消息的时候,是会对他进行一次校验的。(实话实说……的确作业都是DDL的产物)

  1. 那你怎么保证那个消息发一次你都接到了呢?因为其实比如消息很长,那你怎么保证那个消息没断呢?

没有……

  1. 那你搞ACM的话应该主要是在Linux下写代码的吧?

  1. git用过吗?

用过

  1. 你平时写代码写c++比较多还是写c比较多,其实都无所谓对吧

对,c++多点,毕竟有STL

  1. 那对于数据库有了解吗?了解多少

上学期有数据库相关课程。其他……除了自己没事喜欢搭OJ玩玩看过,就不是很了解了

  1. 那你搭OJ的时候会有很多问题,第一个问题就是代码隔离怎么做,你也不能保证用户提交的代码会很安全,我万一写一个rm -rf之类的呢?

OJ基本都扔docker里跑

  1. 然后那OJ的话会有一个任务队列,你不可能用户交的时候就有多余资源,那这个队列你怎么维护的?

emm……主要参考别人的代码,好像是redis多一点吧……(心态逐渐崩溃

  1. 那用redis的哪一块去做的?是push pub还是hub sub之类的

啊啊啊啊啊啊啊啊……我为什么要提这回事)没怎么太注意

  1. 那你用redis会有很多问题,那你数据库如果挂了,你怎么保证等待的任务会执行完呢?

我只是搭oj不是写oj啊哥哥……我记得我装过一个oj然后数据库挂过……然后跟着挂了,剩下的题都没判了

  1. 来问点c++的吧,我想实现一个c++的模板函数,他会根据输入的类型不一样做不同的事情。当他输入的是整数的时候,要返回的是他乘2,如果输入的是浮点数,要返回他乘3,具体上来讲怎么实现?

typeid.name获得变量的具体类型,然后对类型进行判断。

  1. 那其实你说判断是if else对吧。那如果用if else的话模板展开会全部展开,我刚刚举的例子你这么做是没有问题的,但如果模板函数这个T是继承自某一个类的话执行某个函数,继承自另一个类的话执行另一个函数。那如果直接if else的话,不同分支都展开,那边分支是编译不过去的。这种情况怎么办?

我想的有两种办法。第一种是用虚函数方式的继承,但是这样会改变原有的类的设计结构。第二种是用类似于map的映射,把类型名映射到一个函数指针上,这样展开的话是直接调用哪个函数指针,这样展开的话我不知道会不会好一点。(当时的确前面被问得很懵……这里真的是一脸懵逼的说的)

  1. 你了解python吗?

了解,用过,但不精细(求求你别问了,让我挂吧

  1. 那你写没写过c++的比较大的东西?

做过,但也不怎么算,主要是用的qt,比如之前的那个聊天工具,当然其他课也有……balabala

  1. qt的话你当时是用的QtCreator+qMake对吧

  1. 你了解qt的事件循环是怎么做的吗?

不了解,都是用触发器搞得

  1. 就是signal fault是吧,那这也一个比较有意思的地方,他其实是链接两个对象的,一个对象有一个信号以后另一个对象进行处理,这里面其实有一个问题就是,他析构的时候会怎么做?比如说A和B两个对象,那析构的时候是怎么把这个链接给拆开,还是他就没有拆开?

瞎编了一通答得是堆的形式父子窗口的判定

  1. 有什么想问我的吗?

就这么结束了啊……哎就不管我这最后能不能过,可能都还有一段时间,这方面再去学习的话,有什么推荐去学习的吗?

答:我这面反正过了(其实我自己很吃惊),然后说了一些推荐学习的路线之类的

整个面试带最后提问加起来才20分钟……就结束了以后还是不相信自己过了

20分钟以后查变成GM/EVM/面委会……然后吃了个午饭以后再查变成了HR面……周一面得,现在周五了还是没消息……慌张

HR 面

感觉是聊天,问了学习经验,你自己觉得而自己的优缺点,最早什么时候能入职,之类的问题

#腾讯2020春招##腾讯##实习##C++工程师##面经#
全部评论
终于 HR 面了,等 OC 吧~
1 回复
分享
发布于 2020-03-19 22:59
腾讯只有两轮技术面嘛?
点赞 回复
分享
发布于 2020-03-14 00:13
联易融
校招火热招聘中
官网直投
还有这个神秘的计划吗。。。完全没听过1面居然全算法没问基础。。不过复试感觉就是问问你的广度?感觉dalao答的还可以不过最近好像hr都很忙。。大家都在等的样子(?)
点赞 回复
分享
发布于 2020-03-14 01:04
大佬就是大佬
点赞 回复
分享
发布于 2020-03-14 02:53
实在tql
点赞 回复
分享
发布于 2020-03-14 03:25
这属实是大佬,tql
点赞 回复
分享
发布于 2020-03-14 12:01
我复试也以为凉了,他问到我https的破解方法我就哭了……然后还问了我https的加密算法。
点赞 回复
分享
发布于 2020-03-14 18:34
我也变成了面委会,已经四天了
点赞 回复
分享
发布于 2020-03-15 11:37
我字节也被问了类似第一个的问题,上来反应就贪心堆,然后说了一会怎么排序怎么维护堆,面试官似乎不敢苟同,然后问我能不能用O(N)的方法做,于是就说了怎么用差分前缀和了😅
点赞 回复
分享
发布于 2020-03-21 12:57
PCG吗?好像PCG好多是两面技术的
点赞 回复
分享
发布于 2020-03-21 16:28
啊啊啊啊 我也是wxg 两面完就变成hr面了 焦急等待
点赞 回复
分享
发布于 2020-03-24 16:17
大佬为啥直接跳过面委会了。。。我从hr被变成面委会的
点赞 回复
分享
发布于 2020-03-25 20:49
是金牌爷吗 
点赞 回复
分享
发布于 2020-04-02 22:52

相关推荐

9 65 评论
分享
牛客网
牛客企业服务