当前位置:   article > 正文

2020年毕业生腾讯校园招聘提前批——后台开发——面试经验——分享给大家交流经验。_腾讯2020秋招提前批

腾讯2020秋招提前批

个人博客地址:

代码集结地,点击访问我的个人博客,不定时发布各种信息嘻嘻。

前言:

本人现在也已经大三下学期了,从大一下学到现在,也算是学了两年的编程,间间断断学过很多编程知识,C语言能说掌握有点自大,但是毕竟很经常使用STM32,所以也不差。掌握的很好的有Python、LinuxShell(Bash)、Django(Python的一个WEB框架)、爬虫(使用Python的requests和selenium),数据库也了解SQL Server,熟悉MySQL、Redis。数据结构也是比较熟悉,计算机网络当时学的理解的感觉还不错,自己写过小型的网络聊天室。当时为了学Django,顺便学了HTML、CSS、JS、JQuery还有BootStrap等前端的知识,还有人脸识别(OpenCV做的)杂七杂八自己都有了解,就打算报名这个腾讯校园招聘的提前批来试一试自己到底有什么地方不足,如果能进入腾讯深造当然是最好的事情,如果没有通过说明自己能力不够,还需要自己更加努力的学习。

本人还是学校的物联网创新实验室的负责人(任期一年),这期间带领团队做了很多项目,平时做嵌入式开发(使用SMT32和树莓派都有),参加了大大小小的比赛(使用ROS机器人),国家一等奖也是有的,二等奖也是一大堆。

PS: 这一部分介绍了一下自己的大学的大概经历,有一点乱,但是本篇文章的重点在于面经,所以希望大家不要在意,在这里给大家说声抱歉。

-------------------------------------------------------------------------------

面试题最后一个大数计算的链接在这里,点击查看

------------------------------------------------------------------------------------

填写简历、笔试:

我一个学长是在腾讯上班的,曾经和他一起做过一个腾讯的项目,至于主要做什么就不便透露,毕竟是别人公司的工作,当时做了两个月,由于期末等等事情就不跟着学长做了,填写简历时,让学长帮忙给我了一个内推的名额,然后就是完善自己的简历,报了后台开发的岗位。等待提前批的笔试通知。

没多久就接到笔试通知了,在线的笔试,3月9号晚上笔试。

按照腾讯官方说的,提前批笔试成绩只作为一个参考,不参加也可以,但是为了保险,还是决定参加这个笔试,笔试题目我大概都记下了,全部都是ACM的算法题,感觉前两道题一会儿就写完了,第三道花费了点时间,后两道完全没思路(个人的算法比较菜,如果大神认为4、5两题很简单,请不要喷我,哈哈哈)

第一道:牛家村的货币是一种很神奇的连续货币。货币的最大面额是n ,并且一共有面额为1 ,面额为.....面额为n , n种面额的货币。牛牛每次购买商品都会带上所有面额的货币,支付时会选择给出硬币数量最小的方案。现在告诉你将要购买的商品的价格,你能算出支付的硬币数量吗? (假设每种面额的货币都拥有无限个。)

第二道:有一个奇妙的数列,这个数列有无限多项,数列中的第i个数字为i*(-1)^i。比如数列的前几项为-1,2,-3,4,5.....输入一个区间,把区间内的所有的数字的和算出来输出。

第三道:一个剪刀石头布的游戏,游戏用卡片来玩,每张卡片是剪刀, 石头,布中的一种,每种类型的卡片有无限个。A从中选了n张卡片排成一排,正面朝下,B也会选择n张卡片排成一排,然后B和A的卡片会依次进行比对,第一张对第一张,第二张对第二张...如果B赢,B会得到一分,现在已知A的每一张牌以及B最终的得分 ,请问B有多少种选择卡片的方案(多少不同的排列)

第四道:给你n个数1 2 3。  。,n,代表n个楼,第i个楼的高度为i, 每个楼会有一种颜色。现在问有多少的排列满足从左往右(站在左边很远的地方看)看能看到L种颜色(即看到了L-1次颜色的变化),答案对1e9+9取模如果两个相同颜色楼的高度分别为H1,H2(H1 < H2),H1在左边,且H1 H2之间的楼都比H1矮,那么站在左边来看就是一种颜色你能看到一一个楼的前提是这个楼之前的楼都比它矮。

PS: 好吧我承认第四题没看懂题目。

第五道:A在进行射击气球的游戏,如果A在连续T枪中打爆了所有颜色的气球,将得到奖励。( 每种颜色的球至少被打爆一只)。这个游戏中有m种不同颜色的气球,编号1到m。A一共有n发子弹,然后连续开了n枪。A想知道在这n枪中,打爆所有颜色的气球最少用了连续几枪?

PS: 第五题题目看懂了,但是总是没有思路,好像有哪一点想不通的样子。

 

接到面试通知:

严格来讲,我只能算是做对了两道半题,因为第三题有一些测试用例没通过,所以感觉自己的笔试凉凉,没想到几天后接到了面试通知,3月18号的,一下子来了信心。

准备面试:

因为自己平时习惯记笔记,学习到新的知识点后,一定要弄明白并且在笔记本上记下后才会学习下一个知识点,所以我现在有十本笔记本写满了,而我是第一次面试,根本就不知道面试官会问什么,所以面试前一天就开始准备了,把我的笔记本全部拿了出来,上面的用例重新看了一遍,代码又重新融汇贯通,幸好是自己的笔记本,虽然面试前没有看完,但是Linux系统管理、运维、自动化、Shell、MySQL、Redis、爬虫、多线程多进程、前端、Django、网络通信等所有东西都重新过了一遍。

不知道是校园网还是什么原因,那边面试的页面测试网速就只有60KB/s,但是没事,幸好到最后没有发生掉线的情况。那时我刚刚收拾好自己的笔记本,面试官上线了(因为我提前十分钟进网页在等待了)。这时候开始面试了。

面试过程:

面试官看起来很随和,让我的紧张瞬间消失了一半儿,他的第一个问题让我介绍一下自己,我就按照顺序说流水账一样把自己的大学的比赛和学习经历说了一下(由于面试网页面试官的画面在屏幕右边,我的摄像头在中间,所以在画面里我的脸全程看起来是斜着的,希望面试官不要误会,我只是想看着你的脸,如果有下次,我一定会提前说清楚这个事情。唉。)

介绍完自己后,提问开始了。

PS: 由于我不记得问题顺序了,所以顺序可能会和当时不一样。

Q:你介绍一下你大学里最引以为傲的项目吧。

A: 

我最引以为傲的项目是这个寒假自己做的一套智能家具的系统。分为四个部分:手机APP、网页端、服务器端、本地端。

手机APP可以访问我们的网页,查看我们的家庭内部的环境以及家电状态。

网页端使用响应式布局,使得从手机或者电脑端都能正常访问。

服务器端,服务器搭建在树莓派上,使用反向代理(我用的是ngrok)做内网穿透,让我们的设备可以被外网访问的到,让我们的设备真正的做到可以被远程控制,无论我们在哪里。树莓派上使用Django搭建的网站,功能有三:云端留言板、家庭状态查询、家电控制。另外,还有OpenCV做的人脸识别,用于识别人脸开锁。使用2.4GHZ的频段和STM32(即本地端)进行通信,当识别人脸成功或者我们在网页上发出了控制家电的指令,都会给STM32发送一个数据包。

本地端,有各种检测的传感器,每秒一次更新我们的数据到服务器,做的有语音识别、指纹识别,当指纹识别通过后,发送数据包到树莓派,调用人脸识别,接受到树莓派的人脸识别成功的数据包后即开门,做到很高的安全度。语音识别关键字去控制家电等等,以及自动控制模式。

PS: 面试时只顾激动了,没有说的这么详细。下一次面试我一定做个演讲稿,也是个经验,面试之前一定要为自己最引以为傲的项目做一个稿子。然后到时候只需要对着念。

Q:我看到你的简历里有一项是:腾讯业务外包,你在项目里主要做的什么工作,这个项目是什么。

A:

PS:涉及到那个项目的东西,我就不再给读者介绍了,大家见谅。笔芯

Q:讲一下你的比赛吧,都用了什么知识。

A:

我比赛使用的是ROS机器人,有很多功能是集成好的,一般这个比赛都有我来做,我对这个比较熟悉,所以他的那些实例代码我都读过,去改成需要的功能不成问题。

还有无人机的项目,这个无人机是厂商定制的,使用Arduino板子和飞控通信,我负责Arduino里面判断飞机的位置,是否应该抓取物品,放下物品等等一下算法的东西。

PS:有很多东西因为紧张忘记说了,其实我还有防性侵教育娃娃,灵感来源是《奇葩说》的那个防性侵的海报,使用STM32和压力传感器,她能判断出来,我们是侵犯还是来自亲人的触碰还是无意的触碰,并根据情景说出不同的话语,曾经在幼儿园拿出去展示过,反响还不错。还有我还负责非标准战斗机器人,需要判断自己是否在台上,如果在台下,怎么上台,判断敌人位置等等这些我都忘记介绍了啊啊啊啊啊啊啊生气,下次面试一定不能忘记。

Q:C语言中static关键字的作用。

A:

这个关键字是声明一个静态变量,有这个修饰符的声明只会被执行一次,比如我有一个死循环,一直调用另一个函数,另一个函数中第一句是static int num = 0;后面对num这个变量操作,这个num不会每次执行函数时都被赋值为0,如果不加static,则每次执行都从num=0开始。我经常使用这个在STM32的定时器里做定时。

Q:如果static修饰函数,会是什么效果。

A:

(我当时想到答案了,但是不确定,所以这样回答的:)因为我平时使用STM32时才用到C语言,没有使用这个关键字修饰过函数,所以我不知道。

PS:正确答案是:static修饰的函数,无法被别的文件包含使用,只能在本文件内使用,当时没自信,怕说错,以后就算是错的我也要说。

Q:C语言中引用和指针的区别

A:

(这个我还是很熟悉的)比如我们定义了一个指针变量int * p = 1234;那么,这个p 存放的就是这个1234存放的地址,*p指向这个地址中的内容也就是1234。引用就是去指向另一个地址,修改另一个内存中的内容,比如我有一个函数,参数是引用类型,那边传值是指针类型,这边做的修改就可以在那边直接看到。

PS:其实引用还能拿到变量的地址,最典型的案例就是 scanf("%d", &a); 这个就是引用,传递地址。当然我说的也没错,所以答案应该是两个都说。进一步理解,我们就认为引用是给某个变量起了个别名吧。这样解释,应该不会错,如果说的不对,请在评论区提出来,我会改正。

Q:说一下你知道的排序算法吧。

A:

我常用的是冒泡排序,快速排序。我知道的还有选择排序,堆排序,希尔排序,选择排序。

PS:其实排序算法有很多,我也就能想起来这么多了。

Q:说一下这些算法的时间复杂度吧。

A:

(这个问题难道我了)我学习时关注了一下时间复杂度,没有刻意去记。

Q:那你说一下快速排序的算法。

A:

(这个百度一下都有,我说的答案是正确的,因为在实验室时给学弟们讲过几次课,都是关于这个的,所以对于这个算法的理论很了解。)

Q:算一下冒泡的时间复杂度吧。

A:

(我也是很无语了,我知道怎么算的,但是也好久没算过了,我记得应该是nlog2n,就说了这个答案。最后发现错了。)

Q:说一下TCP的链接方式。

A:

(我以为是要口诉Python使用socket进行TCP通信的代码,我就背了一遍,结果他说讲解三次握手四次挥手,这个概念我有点模糊,也忘记了当时怎么回答的。)

Q:为什么三次握手,两次为什么不行。

A:

如果两次,你不能确定他是否收到你的确认信号从而无法得知你是否接收到他的信号。

Q:TCP和UPD的区别。

A:

TCP是一对一的链接(好吧,应该是面向连接的,当时说错了),每次发送数据后会进行校验,如果出错或者没有接收到都会重发。UDP不会,只要发出去就不会管你是不是接收到。TCP会进行三次握手链接,四次挥手断开连接。

PS:这个答案不准确,大家去百度下正确的。

Q:进程间通信有几种方式。

A:

有三种,队列、文件、数据库(好吧,这个我也回答错了。)。我一般用队列和文件,队列使用multiprocessing中的Queue(其实有很多,大家可以百度下)。

Q:一个关于线程的小问题,我忘记问题是啥了。

A:

很简单,随口带过。

Q:说到数据库,你redis分布式怎么样。

A:

我当时做项目用redis也只是达到会用,还没做分布式。

(最后我思考了下,分布式不就是远程连接?不就是把数据库放在一个主机上,然后其他机器远程连接这个数据库读取吗,真是秀逗了。当然开玩笑,这个我真的没做过,大家最好也去了解下。)

Q:给你一个列表,拿出其中第二大的,你会怎么做,把代码写出来。时间复杂度多少。

A:

如果可以修改原列表,那么我先找到最大的,然后使用remove的方法,把这个移除,然后找到剩下的最大的。由于只比较了两趟,所以时间复杂度是n。(我记得常数是不要的,所以说的n,否则应该是2n,之比较两趟应该就是这个)。

PS:代码就不贴了,很简单。

Q:说一下栈吧。

A:

栈是一个先进后出的顺序表。

Q:堆呢。

A:

我的回答是:堆是一块内存空间,存放的是对象的实例,我们实例化对象时会拿出一块存储,不用时就还回去。

(这个地方真是血亏,我当成面向对象的堆空间了,现在想想,前面提问的是数据结构,后面怎么会是堆空间的呢,真的是忘记了现在提问的是数据结构,教训啊。)

PS:正确答案应该是:堆是一个完全二叉树,父节点一定小于等于或者大于等于子节点,所以根节点一定是最大的或者是最小的。这个地方大家一定注意,不要把堆想成堆空间,血亏啊,血亏啊,血亏啊,如果面试官能反应过来你说的是堆空间还好,反应不过来就会认为你在瞎编呀。

Q:(这个地方给我出了一道题,让我写一个链表,做一个四位数加三位数,每一个数都在链表里表示。有进位。)

A:

面试那天中午刚复习了链表(面试官让链表的数据结构也是自己写的),到我真写的时候,却完全忘记了,没办法,只好说忘记了。

然后面试官直接就说到这里,就走了,我就知道凉凉了。

-----------------------------------------------------------------------

这道题已经做出来,链接在这里:

www................................

-------------------------------------------------------------------------

后话:

半个小时后看到结果,果然凉了,但是我吸取了教训,回去准备常规批的笔试面试,争取一定进腾讯。

把这篇经验分享给大家,也希望大家都能面试时超常发挥,不论去哪个公司,都能顺利拿OFFER。

PS:

等本人常规批笔试面试结束后还回来给大家分享的,关注一波等待最新消息哦红红火火恍恍惚惚哈哈哈哈。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/323699
推荐阅读
相关标签
  

闽ICP备14008679号