您的位置:首页 > 职场人生

腾讯2016校招面试经验分享(一面)

2015-09-16 23:15 671 查看
今天去参加腾讯公司的面试,我投的后台C++的岗位,今天就一面,总共80分钟。(面试官问了50分钟左右 + 30分钟做个一道编程题)。



面试如下:

M (面试官)

W(我自己)

。。。。。。(代表我当时的回答,这些细节就不再写出来了。)



进去之后把简历递过去。

M:先做一下自我介绍。

W:。。。。。。。。。。(ps:自我介绍了大约2分钟,刚开始感觉有点紧张)。



M:看你简历,你C++应该还不错,先问你点C++方面的问题,C++的public继承和private继承有什么区别?

W:。。。。。(ps:第一个这个简单的问题,我感觉都没答好)



M:你知道C++中可变参数怎么实现的呢?

W:我没有理解,可以再说下一下吗

M:比如sprintf函数,是可变参数的,底层怎么实现的呢?

W:(ps:这个真不知道,就说了不知道,心里默想,前两个问题答得都不好,这怎么办呢)



M:你说一下,C++的虚继承吧

W:。。。。。,说完虚继承,我又顺便提了一个多态。

M:那你说一下,多态你怎么理解的吧?

W:多态就是,真正运行的时候,才实现函数的动态绑定,。。。。。。。

M:什么时候要把函数定义为虚函数呢?

W:有时候,析构函数需要定义为虚函数,。。。。。。。。(ps:当时应该把虚函数的底层实现再说一下的)

M:还有什么情况下要用虚函数呢?

W:(ps:想了一下,真的没有想出来,就说了不知道。)



M:你说一下,C++的const使用吧。

W:那我先说了一下,C语言中和C++中的const的区别,C语言中定义了一个变量,属性只读不可写。C++是定义个一个常量。 Const还可以定义类的成员函数。。。。。。。。。

M:那你说一下,const定义类的成员函数,有几种写法呢?

W:我写了一下,const voidfun() const; 和void fun() const;(ps:我也不知道这样写对不对)

M:这两种写法有什么区别呢?

W:(ps:这个我真不知道,就给他说了指针常量和常量指针的区别)。



M:你说一下,数据结构中常用的几种排序算法?

W:常用有。。。。。。。。。。,我顺便着把它们的复杂度说了一下。

M:那你说一下,快速排序的实现原理

W:。。。。。。

M:那你再说一下,堆排序的实现原理。

W:。。。。。。。。。



M:假如现在有10000个数据,要把10个最小的数据找出来,你说一下你的思路。

W:(ps:窃喜,因为在剑指offer上看过这道题目的解题方法)

M:那你计算一下时间复杂度

W:。。。。。。



M:现在有两个单链表,是无序的,你把两个链表中相同的元素找出来。

W:(ps:当时没有理解题意,又问了一下他,会不会有重复的数据)

M:可以有重复的数据。

W:先把最笨的暴力匹配的算法给他说了一下,时间复杂度为O(m*n)(ps:知道这样肯定不行)

M:还有其他的思路吗

W:(ps:想了一下,我也不知道最优解,就给他说了想法)。先把两个链表排下序,然后定义两个指针,再分别遍历一下链表(ps:具体的细节,就不再说了)



M:Linux你熟悉吗

W:还可以

M:就问,要想查看系统网络的命令是什么

W:我说ping,nestat,可以查看系统开放的端口。。。。。。。。,经常用到。。。。

M:nestat命令,可以查看到什么信息,比如端口有什么状态

W:(ps:这个我没有注意过,就给他说不知道)



M:那你说一下,如何查看Linux I/O的使用情况,有什么命令

W:df,du命令(ps:又给他扯了下,文件系统方面的东西,说了两个命令的区别)

M:这个是查看磁盘使用情况,不是查看I/O的使用情况

W:(ps:这个真不知道了,就说了不知道。)



M:你说下进程和线程的区别吧

W:扯了一番(ps:感觉这里,应该分点来说的)

M:线程怎么实现同步?

W:。。。。。。。

M:进程的通信方式有哪些?

W:。。。。。。。

M:那你写一个管道的用法吧

W:是写有名管道还是匿名管道呢

M:匿名管道。

W:就写了父子进程通信,(ps:这些东西,有点遗忘了,真写的时候,一些细节就忘记了,写的不全)



M:进程间会出现死锁,怎么可以避免?

W.。。。。。。。。

M:进程锁有哪些?

W:pthread_mutex

M:还有其他的吗?

W:(ps:我就知道这一个,就说只知道这一个)

M:那你写一下与锁有关的函数吧

W:pthread_mutex_initpthread_mutex_lock pthread_mutex_unlock pthread_mutex_trylock,接下来给他介绍了一下,这些函数的用法。。。。。。。。(ps:我也不知道有没有写错,等会再看一下笔记吧)





M:mysql数据库有没有用过呢

W:使用过。。。。。。。

M:那你知道它有什么搜索引擎吗

W:MyISAM InnoDB,接着说了两者的区别。。。。。。。(ps:本想装装逼的说了两者的区别,以及在什么情况下使用哪个比较合适,但是,面试官一深问,就露馅了,逼也没有装成)

M:你说MyISAM支持索引,InnoDB不支持吗

W:也支持,但是在查询的时候,MyISAM效率比较高的。。。。。

M:你说MyISAM支持的索引,是怎么实现的

W:(ps:虽然说看过书,但是也没有看这么细,这些东西还是不懂,就停顿了下)

M:没事,你知道多少,就说多少

W:。。。。。。(ps:这些东西,看书不能只看个皮毛,面试官一问,就露馅了)



最后让我写了一个编程题目,是函数接口如下

int str_tok(char* strLine, char* strPep,char *ret[], int* num)

实际上就是实现C语言的strtok库函数。





今天面试地点在浙大玉泉校区旁边的黄龙饭店,技术面是单人面,非技术面是群面,看到那些非技术面的,一下进去14个人面试,感觉技术面还是挺幸运的。

总体来说,感觉面试问的挺基础的,也没有问项目方面的问题。



Ps:我在一旁写编程题目的时候,另外一个同学进来面试,他的自我介绍是这样的。

(我叫***,本科是上海交大的,现在在浙江大学计算机学院读研究生,研二,研究方向是**,前段时间在阿里巴巴实习,现在已经拿到阿里offer了,不过我更愿意去腾讯公司,更喜欢深圳那里,接下来就和面试官在聊现在做的项目。。。。。。。。。。)

听到这些,心里一万只草泥马奔腾而过,真牛逼呀,他和面试官在聊项目的时候,那些名词,一个也听不懂。自己还是默默的复习,准备下一场面试。

静静的等待一面的结果吧。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: