研发工程师(C/C++)面试问答题集锦

C++

什么是多态?

多态可以用来做什么?

虚函数的实现机制?一个空的对象(包含虚函数的类的对象)占几个字节?(32位和64位机器分别是多少?)

什么是抽象类?

抽象类的作用是什么?

抽象类(abstract class)的主要目的是为它的子类定义公共接口。一个抽象类将它的部分或全部操作的实现延迟到子类中,因此,一个抽象类不能被实例化。(——引自《设计模式:可复用面向对象软件的基础》P11)

static关键词起什么作用?

new和malloc的区别?

C++中有哪几种数据存储区?

堆区存放什么?栈区存放什么?

什么是栈溢出?哪些情况下比较容易出现栈溢出?

“#include”后面跟引号与尖括号的区别?

你了解哪些编译器?

G++:如何编译一个文件?

gdb?

STL

vector内存管理方式?

list执行erase之后迭代器指向谁?

map和hash_map的内部实现原理?哪个效率高?

解决哈希冲突有哪些方法?

  1. 开放定址法
    (1). 线性探测法
    (2). 平方探测法
    (3). 随机探测法
  2. 链地址法
  3. 公共溢出法

什么情况下适合用map,什么情况下适合用hash_map?

hash_map的不稳定性表现在哪?

当hash_map的大小合适,并且计算算法合适的情况下,hash表的算法复杂度为O(1)的,但是这是理想的情况下的,如果hash表的关键字计算与表位置存在冲突,那么最坏的复杂度为O(n)。 map在一次查找中,你可以断定它最坏的情况下其复杂度不会超过O(log2N)。而hash表就不一样,是O(1),还是O(N),或者在其之间,你并不能把握。

数据结构

算法

主要以算法题的形式出现。

多线程编程

多线程编程需要注意哪些问题?

操作系统

sleep与wait的区别

http://www.cnblogs.com/plmnko/archive/2010/10/15/1851854.html

编译原理

动态编译与静态编译的区别?

http://blog.csdn.net/wuan584974722/article/details/7953213

计算机网络

TCP与UDP的区别?

TCP建立连接需要经过几次握手?过程是怎样的?释放连接需要经过几次挥手?过程是怎样的?

TCP中的timewait状态是怎么产生的?

为什么TCP叫做数据的“流”传输,而UDP叫做“报文”的传输?

GET和POST的区别?

用什么命令查看域名对应的IP地址?

nslookup

Linux

查看进程的两种命令?

如何设置定时任务?

/proc路径是做什么用的?

数据库

MySQL如何选择引擎?

MySQL有哪几种索引方式?

写SQL语句:查找两个表中都存在的QQ号?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值