6.20CSIG腾讯云后台开发实习一面面经 C++50min

一、自我介绍

二、了解C++的STL吗?

1.vector的底层是如何实现的?

(√)

2.vector初始默认申请多大的内存?

(不知道。)

3.map的底层是如何实现的?

(√)

4.红黑树是什么样的数据结构?

(√)

5.list的底层是如何实现的?

(答是双向链表,应该√)

6.为什么要用双向链表,单向不可以吗?

(没说出来原因TAT)

三、实习相关

1.先是问了实习项目相关的,因为是面试官没接触过的领域于是滔滔不绝,反正说错了他应该也听不出来。

2.那你对redis和mysql有了解吗?

(只是用过图形界面,没有系统学习过。)

3.你有涉及到多线程通信的问题吗?怎么保证线程安全的?

(支支吾吾只能说出来用了锁,怎么用的,不知道面试官想问哪方面的知识)

四、你了解TCP协议吗?

1.三次握手是什么样的原理?

(√)

2.为什么是3次,不能是2次和4次吗?

(不能是2次答上来了,不能是4次不知道为啥。)

3.断开连接的时候为什么必须4次而不是3次?

(√)

五、了解HTTP协议吗?说一下你对HTTP的理解。

没具体提问,只让我说理解,于是开始吟唱。讲了HTTP的报头、讲了HTTP1/1.1/2.0/3.0,QUIC、GET/POST。

面试官问我你是对HTTP研究很多吗?

我说就是学一点连这一点就学了这么多了。

问:为什么学http不学mysql和redis啊?

答:看面经问这个比较多;回学校的时间太短了,想先把简单的解决了。

六、手撕一个非递归的快排

以为自己十拿九稳,结果差点没想起来怎么写,写了12分钟。最后还有一些瑕疵,但是以为没法编译,所以面试官大概看了一下思路对就下一步了。但是回来复盘的时候发现一个大问题:面试官要求非递归,我写成递归的了。但是面试官也没说什么,估计他自己也忘了自己的要求了。

七、熟悉linux操作系统吗?常见命令熟吗?

1.怎么查看某个文件中有没有某个字符串?

(不知道)

2.查找某个文件夹中有没有某个文件?

(不知道*2)

3.如何查看某个端口有没有被占用?

(不知道*3)

4.了解过管道吗?管道如何实现的?

(不知道*4)

5.查找某个进程在哪个目录下面?

(不知道*5,linux命令全军覆没)

八、智力题

某一个二维平面上分散很多个点,判断这些点连在一起是不是一个凸多边形。

我说了两个办法,一个是遍历临近的五个点(3个角),查看它们的锐角在不在同一方向。第二个办法是遍历每个角,去掉他们让他们左右的点连起来,对比这个角是变大了还是变小了。

面试官评价这两个办法都不可行,首先如何相连如何遍历就无法简单的解决。

九、反问

1.部门是做什么的?

记得一些关键词:Hadoop、分布式、数据库……

追问:所以mysql和redis比较重要?

答:那倒不是因为这个,只要是后台mysql和redis都重要。如果针对我们部门的话大数据、分布式比较重要。

2.如果我想能胜任这个职位的话,应该往哪个方向学?

(1)linux的命令要熟,这是基本能力,至少要有独立写shell脚本的能力。

(2)MySql和redis还是很需要了解的。

十、总结

面试官人很好、很温柔、感觉很尊重人,五星好评。感觉整体问的全面而浅,并没有很深挖的问题(估计也是看出来了我没有几斤几两)。这是我一年以来第一次面试,也是第一次正常的面试(去年的那几次面试都因为啥也不会所以纯是浪费时间),可以说很大的缓解了我的面试焦虑吧,也暴露了很多问题。虽然感觉应该没有二面了,但是很高兴参加了这次面试。

#腾讯##面经##csig##实习##后台开发##C++#

#面经##腾讯##后台开发##C++##后端#
全部评论
是csig什么部门哇
点赞 回复 分享
发布于 06-21 23:55 辽宁
base哪里啊兄弟
点赞 回复 分享
发布于 06-22 10:13 重庆
老哥过了吗
点赞 回复 分享
发布于 06-25 16:40 辽宁
感觉像是一个面试官,问我的题也是非递归快排,部门也是做大数据相关工作的
点赞 回复 分享
发布于 07-02 23:06 北京
兄弟想问下你知道一面挂了会脏面评吗会不会被直接打入冷宫啊
点赞 回复 分享
发布于 07-26 11:32 江苏
这个面经写法挺好,我下次也给自己这么总结
点赞 回复 分享
发布于 09-05 13:39 陕西

相关推荐

腾讯-暑期实习-推荐算法-初试(已offer)暑期实习的面经现在才有空发出来哈哈哈个人背景:双985Timeline:2.25投递,3.4通知初试,3.5初试,3.8复试,3.10 HR面,3.12 HR电话沟通offer,3.15 正式offer邮件面试部门:PCG腾讯会议面了一个半小时,过程如下:1.先简单介绍一下自己。2.挑一个你觉得最能体现你的能力的项目经历展开讲讲。我挑了我正在投稿的论文来讲。然后面试官让我先介绍一下研究任务的背景。因为面试官对我做的任务不了解,所以我几乎是边讲边给他解释一些生疏的概念(在这种时候怎么简短有效地向别人解释新概念就很体现个人表达能力了)。之后就是深挖项目,问的很细,处理的数据集是什么格式,模型输入是什么,样本是什么,模型怎么训练的,full-batch还是mini-batch,有监督还是无监督,数据集太大为什么用 CPU 训练不用 GPU,怎么优化等等(氪金,买 v100 卡、mini-batch、分布式多卡训练)。然后问我 F1-macro 指标怎么计算的(F1是precision 和 recall 的调和平均,F1-macro 和 F1-micro 求平均的计算方式略有不同)。我看你的 AUC 指标挺高的,你觉得这样的性能提升幅度算大吗(AUC 的提升幅度比较小,一点点的提升都是突破)?AUC 指标的数值意义是什么,不用库函数的话具体计算公式是什么(具体计算方式我只记得一个大概的要做排序什么的了,面试官说基本上是这样)。3.对推荐系统感兴趣吗?了解推荐算法吗?(因为我的简历里有写了解具体的推荐算法),自己挑一个算法展开讲讲(我挑了 YouTubeDNN 进行介绍)。然后问 YouTubeDNN 和 DSSM 的区别是什么(我从两者双塔结构的区别、对 Item embedding 处理的区别进行了分析)。4.面试官口头表述出了两道 medium 代码题,都是动态规划:)力扣对应题目见下方。我是直接在 vscode 上写然后讲思路的。5.可以实习多久,什么时候可以开始实习,有在考虑其他公司的机会吗?我说这个不太方面透露,面试官笑了:)所以这个问题一般怎么回答比较好。有什么想问的问题,我问了一下部门的业务方向是什么,面试官说是QQ的部门,做QQ短视频推荐的,然后让我打开QQ看一下就知道了。我打开QQ找了一下才看到,面试官说你是不是把QQ卸了:)我说我平时比较忙,QQ基本上只用聊天功能哈哈哈哈哈哈哈(好吧)。力扣对应题目:【1143. 最长公共子序列】(原题,代码见图片)给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。如果不存在公共子序列,返回 0。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的公共子序列是这两个字符串所共同拥有的子序列。(我直接用二维 dp 秒了,然后面试官问我 text1 和 text2 的当前字符不相等时的状态转移方程求 max 为什么不加一个 dp[i-1][j-1],我还想了一点时间怀疑自己的代码,最后说 dp[i-1][j-1] 的情况已经包含在了 dp[i-1][j] 和 dp[i][j-1] 里了。然后面试官问我如果要求最长公共子序列具体的序列是什么怎么求,然后我就蒙了,思考了很久,觉得可以用 dfs 爆搜,然后还是用 dp 的话可不可以将 dp 数组的 int 改成 string,但是这样字符不相等的时候状态会分裂,所以应该比较难做,最后面试官说把这个当做课后题我回去再思考一下吧)【最长公共子串】(好像没找到 string 类型的原题,但是有数组类型原题【718. 最长重复子数组】,代码见图片)直接把上一题【1143. 最长公共子序列】的求公共子序列改成求公共子串。(面试官还是继续从上面那题展开考我变体,问我把求公共子序列改成求公共子串要怎么求。我一开始还想着用扩展 kmp (z函数) 解,但是发现这样需要把其中一个字符串的所有子串先求出来,多此一举,就还是用二维 dp 秒了。其实代码就是把【1143. 最长公共子序列】的第二个状态转移方程变一下,然后用一个 maxLen 实时更新求到的最长公共子串)复盘:1.前面经过几次面试, 现在对面试的流程和自己的简历内容已经比较熟悉了,但是因为对推荐算法的知识是新学的,所以遗忘很快,需要抽时间复习一下。2.这次直接出了两道中等动态规划题,差点招架不住,因为动态规划真的是我最弱的知识点,动态规划的题只要一难一变化我很容易就歇菜:)所以还是多练练动态规划吧:) #腾讯#  #暑期实习#  #面经#  #算法#
查看4道真题和解析
点赞 评论 收藏
分享
8 41 评论
分享
牛客网
牛客企业服务