2014年奇虎360服务端研发工程师面试真题【1面】

来源:cv.qiaobutang.com/post/55b1b7f30cf20b05d650f7d5

面试形式:一对一,聊天+写代码

面试题目:

1、C和C++

堆和栈的区别

new和malloc的区别

free和delete如何知道应该释放多少内存

写个类A,声明类A指针指向NULL,调用类A的方法会有什么后果,编译通过吗?

C++如何找到不同类型的成员方法?

什么是重载,相同参数不同返回值可以吗?为什么?

对不同函数编译器会加什么参数?

extern C

多态在现实中的应用,多态的实现原理sizeof空类为多少?为什么这么设计?

sizeof一个只有一个虚函数的类等于多少?

AB两个类各自有个虚函数,C继承A和B,sizeof(C)为多少?

构造函数能声明为虚函数吗,析构函数呢?为什么?

关于地址

对齐64位是什么意思,CPU64位指的是什么,操作系统64位指的是什么?

为什么要有地址对齐,CPU如何取址?哪些情况会遇到地址对齐,试举一例?

2、进程与线程

两者的区别——资源分配,调度,通信

os给进程和线程都分配哪些资源?

进程间通信有哪些方式(Linux)?分别怎么实现?

现有平行的几个进程,如果其中一个进程挂了,会影响其他线程吗?一个进程有多个线程,有一个挂了,对其他线程有影响吗?为什么?

3、TCP

画出三次握手,四次握手,为什么要三次和四次?

讲讲滑动窗口机制

关于time_wait为什么等待2MSL才关闭,如果有大量time_wait状态连接会出现什么问题?

4、数据结构

二叉树中序遍历的非递归实现

链表倒序输出,不能改表链表结构,不能用任何自己开的辅助空间

5、vim的替换语句,

abc换成def6、

PHP字符串分解

7、关于linux的调试和VS的断点调试原理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容