tcpdump 后台运行_腾讯、阿里、滴滴后台面试题汇总总结 — (含答案)

年底了,近期还是收到很多小伙伴发来的面试题,因为有很多大小厂的面试题,所以我这也大概整理总结了一下,把那些比较典型有特色且面试内容比较广泛对大家都有用处的面试题汇总了一下。以下便是汇总好的几个大厂的面试题。

9569feafebfbba994c04c913672a0f66.png

腾讯面试

万字长文,详细记录了第二次腾讯后台开发社招面试流程,虽然面试流程因人而异,但就我个人感受而言,腾讯的面试从考察内容方面来讲,还是有一定的共通性,这一点,可以从网上众多的面经可以看出。

腾讯的面试的流程持续一个多月,如下:

20190919周四 第一轮电话面试,技术面;
20191008周二 第三轮和第四轮现场笔试+面试,技术面(原定9月31号,国庆推迟一周);
20191021周一 第六轮HR面;
20191023周三 offer call;

腾讯第一面

晚八点半,电话面,开始项目介绍,技术难点、实现细节。大概说了20分钟左右,我讲的内容面试官似乎没有理解,可能是项目架构比较复杂,口述不是特别形象,又聊了10分钟,貌似双方谁也没说服谁。开始聊计算机网络、操作系统。内容包括TCP拥塞控制算法、TCP和UDP区别、进程和线程区别等等。都是常规的题目。这一块已经很好的复习过。没问题。时间过去50分钟,面试官总结说我网络协议这一块不错,原理和项目实战比较强,会有下一面。

腾讯第二面

距离上一面隔了六天。电话面,大概20分钟左右。内容如下,不分先后:

Q1. 构造函数可以是虚函数吗?

A:不可以。原因有两点:

构造对象的时候,必须知道对象的实际类型。而虚函数行为是在运行期间确定实际类型的,在构造对象的时,对象还没有构造成功,编译器无法知道对象的实际类型是该类本身还是其派生类。

虚函数的运行依赖于虚函数指针,而虚函数指针在构造函数中进程初始化,让它指向正确的虚函数表,而在对象构造期间,虚函数指针还未构造完成。

Q2. 网络字节序是大端序还是小端序?

A:大端序。

Q3. Linux中如何创建进程以及创建进程后如何区分子进程?

A:使用fork()调用创建子进程,fork()调用返回两个值,大于0的表示父进程,等于0的表示子进程。

Q4. fork创建的子进程继承了父进程哪些内容

A:子进程继承了父进程的地址空间,打开的文件描述符等。

Q5. fork创建的子进程继承了父进程打开的文件描述符,如何让这种继承不发生

A:可以在打开文件的时候,设置FD_CLOSEXEC标志位,如果文件描述符中这个标志位置位,那么调用exec时会自动关闭对应的文件。

Q6. c++虚函数原理

A:虚函数是依赖于虚函数指针实现,每个拥有虚函数的类都有一个虚表,类的对象存在一个虚函数指针,指向实际类型的虚表。虚函数运行的时候,会根据虚函数指针找到正确的虚表,从而执行正确的虚函数。

Q7. c++多态的实现

A:多态分为两种,一种是运行时的多态,一种是编译时的多态。前者称为动态绑定,后者称为静态绑定。动态绑定时由虚函数来实现,静态绑定是由函数重载来实现。

Q8. c++ vector和list的区别?

A:vector是动态数组,会动态进行分配内存,进行扩容操作。list是双向链表。

Q9. 访问vector的迭代器的时候可以删减元素吗?list呢

A:任何对vector的修改都将导致vector的迭代器失效。list因为是双向链表,所以不会失效。

Q10. c++ vector的底层实现原理

A:vector底层是基于动态数组实现。

Q11. c++ map的底层实现

A:map的底层实现是基于红黑树的。

Q12. 红黑树的特点以及常见的二叉平衡树

A:红黑树性能比较高,插入删除时间复杂度保持在logn。和AVL相比,要求不是那么严格,它只要求到叶节点的最长路径不超过最短路径的两倍。相比之下,AVL要求左右子树相差高度不超过一,简单的插入或者删除都会导致树的不平衡需要旋转操作。

(我只说这么多,后来的同学建议说下红黑树的五个特点)

Q13. c++空类的sizeof大小

A:c++空类的大小为1,如果含有虚函数的话,大小为指针的大小。32位系统指针大小是4。c++要求即使是空类,对象也要有存储空间。含有虚函数的空类则是因为对象由虚函数指针。

Q14. 快速排序的时间复杂度

A:快速排序平均时间复杂度位nlogn,最差O(n^2)

Q15. nLogn是排序最好的时间复杂度吗?

A:不是,还有O(n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值