很多同学让我分享腾讯的面试经历,刚好有个朋友写了一篇这样的文章,拿过来给大家看看
前言
说起深圳腾讯面试,只有2个字坑爹,晚上投腾讯的python云平台开发,早上收到人事的电话,问还看机会不,这边有后台开发岗位,因为在路上有点吵,而且昨晚投了简历,所以我以为就是要我去面试云平台,结果去到那里笔试(题目都是c++,还好过了),第一轮面试完才知道弄错了,面试的岗位是qq后台,是他们在前程无忧搜到我简历,才打电话要我来面试的。。不过因为读书和刚毕业就是做到c++,第一个公司又是做路由器的,所以还好,不过2年多弄了有点生疏
面试过程
腾讯的面试流程,说实话会把你耐心耗尽
笔数
第一轮面试
第二轮面试
等候安排
腾讯的面试安排很正规,打电话通知你面试后,会给你发短信面试邀请短信(短信上面有时间,地点和邀请码)
我面试时间是下午2点半,地点是腾讯的万利达大厦,面试部门-即通平台部
我两点到了,在前台自己打印面试涵(需要输入短信的邀请码),然后上去,到他们部门的楼层,需要身份证登记,然后打电话给负责你面试安排的人事(短信上面有)
笔试
进去后,人事后给你一个笔试题,2小时之内做完
笔试题:
const int const method(const int const ¶m) const;
上面所有const的作用一个位图数组,unsigned int BIT_MAP[MAXSIZE],写一个宏,判断其中第x位是否为1.
定义一个返回值为float,参数为int的函数指针
程序改错题,程序记不得了,错误就是关于内存泄漏的
程序结果输出题,考察字节指针,系统大小端,程序大概如下
int main() { int a=1; char *b = &a; short *c = &a; print("a=%x, b=%x, c=%x", *a, *b, *c); a = 256; print("a=%x, b=%x, c=%x", *a, *b, *c); a = -1; print("a=%x, b=%x, c=%x", *a, *b, *c); }有个字符串,写一个函数,去掉字符串中的空字符,并返回空字符的个数,不能重新申请内存
写出一个二叉查找树
假设电信每分钟登录次数是60w次,现在要提醒5分钟内重复登录的用户,如何设计程序缓存和查找算法?
笔数题写完,给了人事,没等多久,就来个面试官,貌似是他们的组长,开始第一轮面试
第一轮面试
自我介绍
讲下笔试题最后一题的缓存设计
介绍之前的项目,问了项目的问题
多线程,多进程,协程
进程间通信
设计一个数据库结构,用来存储用户位置,用于获取微信附近的人列表
Linux系统和一些命令
有什么想问的(这里我才知道我的岗位是c++后台,😓)
。。问的太多记不清楚了
这个面试官不错,说我最近工作都是做python,如果后续还有面试我需要好好复习下,后面就是回去等消息。
晚上九点的时候,我收到人事的电话,说我通过第一轮面试,约时间参加下一轮,我约的是第二天下午4点
第二轮面试
约的四点,但是我三点半就到了,准备休息下上去的时候,就收到他们的电话说面试官准备好了,如果到了可以提前上去。
不过我上去后,等了大概半小时面试官才来,😓,面试官好像是他们的项目经理,不过普通话确实不敢恭维
自我介绍
问了tcp/ip协议
tcp连接过程(三次握手)
服务端调用accept()之前,如果服务端sleep(),客服端connect()是否成功
服务端调用accept()之后,如果服务端sleep(),客服端connect()是否成功
客户端连接成功后,如果服务器sleep(),客户端发送send(),是否可以成功
如果服务器主动关闭连接,那么客户端关闭连接过程
进程间通信有哪些
共享内存的地址是否连续,物理内存什么是时候分配的,如何通知另一个进程内存更改
数据库记录了用户的登录和退出,如何通过这些数据画出时间段之内,在线用户数
写出一个快速排序法
写出一个算法讲句子反序,入“i am ABC” 反序成“abc am i”, 记住空格也要返回,如果abc后面有2个空格,则反序后空格在abc前面
大概面试了半个多小时,面试官说今天的面试到这里,后面等候通知
等候安排
下面就是等候安排了....
登录 | 立即注册