2019腾讯春招暑期实习提前批笔试和面试经验。岗位:PC客户端开发

终于轮到我来写笔试经验面经了,就在7个小时前结束了第一轮面试。这个博客也将是我博客生涯的开篇,之后应该还会有源源不断的博客,包括日常记录以及知识总结。

我现在大三,参加了腾讯的暑期实习的提前批招聘。笔试是在3天前进行的,我以为会有一些填空题或者一些主观题,但是事实证明考察内容很硬核:五道编程题两个小时。

第一道编程:无限的面值为1,2,3……n的n种硬币组成金额为S,至少多少个硬币。

非常简单,不要想复杂了,当时一看到觉得不会第一道题就要考动态规划吧。其实就是一个很简单的条件判断。

第二道:求一个序列-1,2,-3,4,-5,6……的第i项到第j项的和,也很简单。

第三道:第三题就开始有难度了,具体题目不细说了,比较有迷惑性,但是实际上就是要你算一个数学表达式C_{n}^{s}\cdot2^{(n-s)}

n和s的范围都是1到2000。我当时就感觉这道题估计是想让我们写大数加法和乘法,我在不久写过,但我当时估计了一下时间,因为不是很熟我可能要半个小时,加上Debug甚至要飙到一个小时,就随便用long long写了一个,跳到了下一题。

第四题:求一个整数序列(数值不超过n,包括0的自然数)中包括1到n的所有数字的最小连续子序列。

这道题猛戳我的痛点,实际上这道题的类似的字符串版本我是在leetcode看过的,而且是笔试当天看到过,但是当时就没想出来,想要留着之后再想,没有想到笔试就直接考到了……很无语。

这道题的思路我当时其实有想到,需要维持一个滑动窗口,并且需要一个数组或者map来记录每个数的出现次数。

这里贴上leetcode的链接 https://leetcode.com/problems/minimum-window-substring/

这道题我花了很多时间,因为当时觉得自己能AC。结果后来爆了零,而且最后没有时间做第五题和完善第三题,第三题得了60分。

第五题的题目稍微瞄了一下,没有时间做了,是说有n个高度不同的楼从左向右排列,还有不同的颜色,观察者在很左边远处。问题有点记不住了,大概是问观察者能看到多少种颜色。

总之最后我只得了260分,不过最后还是通过了笔试……

面试部分开始,线上面试的。先是让自我介绍,然后问项目经历,感觉自己的项目经历答得很不好……之前看到一句话说我们的简历就是面试官考察内容的目录,的确是的啊……

问题有:

C++的特性有哪些?多态的具体实现?

排序算法有哪些,各自的时间复杂度和空间复杂度是多少?

问完这个题就紧接着让我在左边的代码编辑框里面写一个快速排序。

死锁是什么,死锁避免可以怎么做?

TCP和UDP的区别有哪些?

还有一个编程题是给定两个字符串A到B,从A变到B所需要的最少操作数是多少,操作包括增加插入和删除

是的,我又在leetcode上看过,而且我又***当时没做出来也没看解。我知道要用动态规划,可当时就是没做出来。

就在刚刚没看答案,自己写了出来,感觉其实很简单。哎

leetcode:https://leetcode.com/problems/edit-distance/

还问了一个C++内存的问题,求sizeof(A)+sizeof(B)+sizeof(C),A B C都是自定义的类,类里面有属性,也有函数,还有虚函数,C继承了A和B。

这道题我是完全不知道。之后会查资料。

还有一个问题是,现在每个用户有一个日志,有些日志中有时间错乱的情况,让我思考用机器学习的方法来找出来这些日志。

我当时就懵逼了,一点思路都没有,现在也是……就胡乱说了一些东西。

估计第二轮面试是和我无缘了,总结起来还是觉得数据结构和算法是第一位的,然后leetcode真的要多刷!好好复习一下操作系统、计算机网络还有自己的项目经历吧。

发布了9 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Code_Tookie/article/details/88432377