2014 奇虎 360 校园招聘一二面面试真题
面试时间:2013-10-29 下午 4:45 到 晚上 7 点半
面试地点:360 大厦,酒仙桥路 6 号院 2 号楼
面试职位:服务器端研发工程师
面试形式:一对一,聊天+写代码
面试题目:
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 换成 def
6.PHP 字符串分解
7.关于 linux 的调试和 VS 的断点调试原理