C++后台开发最常问到的面试题

一、C/C++方面

1、说说C++中的多态及其实现;

https://blog.csdn.net/u010864559/article/details/70242984  

https://blog.csdn.net/menyangyang/article/details/24779257

3、带虚函数与否的空类大小;

    不带虚函数:sizeof为1;带虚函数:sizeof为4(32位)。

https://blog.csdn.net/dahai_881222/article/details/7856525

4、字节对齐;

    https://blog.csdn.net/gykimo/article/details/8809129

7、static、const的用法?

    https://blog.csdn.net/jobbofhe/article/details/50981700

8、指针和引用

    https://blog.csdn.net/qq_27678917/article/details/70224813

10、智能指针、对象管理资源;

    https://www.cnblogs.com/wxquare/p/4759020.html

    https://blog.csdn.net/HLW0522/article/details/51862665

11、深拷贝和浅拷贝;

    https://blog.csdn.net/lpp0900320123/article/details/39007047

13、类型大小(long、int等在32和64位系统中)。

             32位系统   64位系统 (单位Bytes)   

char           1                1

short          2                2

int              4                4 

指针           4                 8

long           4                 8

float          4                  4

double       8                 8

14、拷贝构造函数与拷贝复制函数需要注意的事项?

    https://blog.csdn.net/cjy0000/article/details/37595091

15、析构函数虚函数为什么,构造函数为什么不能是虚函数

    https://www.cnblogs.com/liushui-sky/p/5824919.html

    https://www.cnblogs.com/lirong21/p/4035031.html

17、new和malloc的区别

    https://blog.csdn.net/chance_wang/article/details/1609081

    https://blog.csdn.net/nie19940803/article/details/76358673

18、C++11特性

    https://www.cnblogs.com/feng-sc/p/5710724.html

    https://blog.csdn.net/zdy0_2004/article/details/69934828

20、子类构造函数具体调用了啥

    https://www.cnblogs.com/wqtzhaoqiang/p/6742984.html

21、函数指针和指针函数的区别

    https://blog.csdn.net/luoyayun361/article/details/80428882

    http://nevel.cnblogs.com/p/6370264.html

22、虚函数的调用时机

    https://blog.csdn.net/u011475134/article/details/76347803

24、内存溢出和内存泄漏

    https://blog.csdn.net/ruiruihahaha/article/details/70270574

25、程序的内存结构

    https://blog.csdn.net/ufolr/article/details/52833736

    https://blog.csdn.net/zjutczj/article/details/51956645

26、虚函数的底层实现

    https://blog.csdn.net/iFuMI/article/details/51088091

27、 弱类型、强类型、动态类型是什么

    https://www.jianshu.com/p/336f19772046

28、RAII

    https://www.jianshu.com/p/b7ffe79498be

    https://www.cnblogs.com/jiangbin/p/6986511.html

31、C语言中的指针和数组的差别

    https://blog.csdn.net/chocolate2zz/article/details/60803318

    https://www.cnblogs.com/lonny0406/p/6835345.html

32、C++编写一个string类

https://blog.csdn.net/caoshangpa/article/details/51530482

 

二、STL方面

1、说说std::vector底层机制;

2、说说std::list的底层机制;

3、说说std::map的底层机制;

4、说说std::deque底层机制;

5、std::vector的自增长机制;

https://blog.csdn.net/TQH_Candy/article/details/52387714

 

12、STL用过吗?map和hashmap的区别,查找的时间复杂度分别是多少

    https://blog.csdn.net/qq51931373/article/details/44196859/

14、二叉搜索树与哈希表

    https://blog.csdn.net/kinbosong/article/details/62446189

    

三、数据结构方面

1、二叉树前、中、后、层序遍历递归与非递归实现;

https://blog.csdn.net/will130/article/details/51488142

3、两个栈实现一个队列(考虑线程安全);

    https://blog.csdn.net/hanjing_1995/article/details/51539578

4、B树与B+树的区别;

    https://blog.csdn.net/random__walker/article/details/52051556

    https://blog.csdn.net/yangshuangtao/article/details/48766831

5、红黑树的性质;

    https://blog.csdn.net/Sun_TTTT/article/details/65445754

    http://blog.chinaunix.net/uid-26548237-id-3480169.html

    http://www.cnblogs.com/skywang12345/p/3245399.html

6、AVL树的单旋转;

    https://blog.csdn.net/collonn/article/details/20128205

7、分别说一下7种内部排序;

    https://blog.csdn.net/jia_xu_/article/details/78166127

    https://www.cnblogs.com/onepixel/articles/7674659.html

8、有序表查找;

    https://blog.csdn.net/sayhello_world/article/details/77200009

10、红黑树和avl树的区别

    https://blog.csdn.net/mmshixing/article/details/51692892

11、map底层为什么用红黑树实现

    https://blog.csdn.net/wu936754331/article/details/49529809

12、介绍迭代器失效。push_back会导致迭代器失效吗

    https://blog.csdn.net/qq100440110/article/details/50936631

13、哈希冲突的解决方法

    https://www.cnblogs.com/novalist/p/6396410.html

14、哈夫曼树

    https://blog.csdn.net/lzw66666/article/details/78934893

 

四、算法方面

1、逆转单链表;

https://blog.csdn.net/m0_38099899/article/details/80957235

2、链表带环检测以及环入口;

https://blog.csdn.net/m0_38099899/article/details/80957255

3、链表排序(nlogn不退化);

    https://blog.csdn.net/one_piece_hmh/article/details/52384016

4、KMP字符串匹配;

    https://blog.csdn.net/fx677588/article/details/53406327

5、词频统计(使用trie树);

    https://blog.csdn.net/hguisu/article/details/8131559

6、lru cache(list+map);

    https://blog.csdn.net/acs713/article/details/41941541

    https://blog.csdn.net/renwotao2009/article/details/52814322

7、100亿个整型数排序(外排);

    https://blog.csdn.net/nigelyq/article/details/52766879

8、100亿个数,找出其中最小的1万个数(构造大顶堆);

https://my.oschina.net/letiantian/blog/333091

10、不重复数值排序(位图)。

    https://blog.csdn.net/yangtrees/article/details/8000653

    https://blog.csdn.net/songzitea/article/details/8759635

11、如何判断一个图是否连通

    https://www.cnblogs.com/hxsyl/archive/2012/09/20/2694832.html

12、char*s1, const char *s2,删除s1中s2出现过的字符

    https://blog.csdn.net/m0_38099899/article/details/81231886

13、删除单项链表中重复的节点 (1 2 2 3 3 9) -> (1 2 3 9)

    https://blog.csdn.net/m0_38099899/article/details/81304558

14、求二叉树的深度

    https://blog.csdn.net/m0_38099899/article/details/81306252

15、判断一个数是不是回文数

    https://blog.csdn.net/m0_38099899/article/details/81315579

16、求一个数组的最长连续子序列

    https://blog.csdn.net/m0_38099899/article/details/81315770

17、有两个链表,怎么求交点

    https://blog.csdn.net/m0_38099899/article/details/81316298

19、假设有两个数组,各有十万数量级的整数,如何求交集

    https://blog.csdn.net/itbuluoge/article/details/20566007

21、假设有一个排好序的数组,数字都是两个两个出现的,只有一个是单独出现的,求这个数

    https://blog.csdn.net/m0_38099899/article/details/81316499

22、写两道题,一道快排,一道字符串反转

    https://blog.csdn.net/qq_36528114/article/details/78667034

    https://blog.csdn.net/szu_aker/article/details/52422191

24、手写strcpy函数

    https://blog.csdn.net/u010159842/article/details/47133759

30、快排算法最差情况推导公式

    https://my.oschina.net/hosee/blog/1648072

32、讲讲DFS/BFS区别,需要用啥数据结构

    https://blog.csdn.net/qq_16949707/article/details/51490764

 

五、网络及其编程方面

1、IP分片和重组;

https://blog.csdn.net/github_35124642/article/details/52006185

2、TCP的3次握手、4次断开及其状态转移,Linux下TIME_WAIT和CLOSE_WAIT区别是什么;

    https://blog.csdn.net/a987073381/article/details/52206215

    https://blog.csdn.net/sszgg2006/article/details/56015112

3、timewait状态;

    https://blog.csdn.net/u013616945/article/details/77510925

4、拥塞控制算法;

    https://blog.csdn.net/lishanmin11/article/details/77090316

    https://blog.csdn.net/sicofield/article/details/9708383

5、说一下地址栏输入一个URL,接下来所涉及到的全部协议,尽可能详细;

    https://www.nowcoder.com/ta/review-network/review?tpId=33&tqId=21195&query=&asc=true&order=&page=7

    https://blog.csdn.net/wuhenliushui/article/details/20038819/

    https://zhidao.baidu.com/question/162261722.html

7、select、poll、epoll模型;

    https://blog.csdn.net/drdairen/article/details/53694550

8、说说如何设计一个tcp服务器程序(迭代、并发范型);

    https://blog.csdn.net/tennysonsky/article/details/45671215

9、进程间通信

    https://blog.csdn.net/wh_sjc/article/details/70283843

12、GET和POST的区别

    https://blog.csdn.net/qq_33417547/article/details/69055518

13、TCP的三次握手四次挥手 ,拥塞,流量,可靠性的原理

    https://blog.csdn.net/ITermeng/article/details/77973279?locationNum=7&fps=1

14、tcp的缓冲区

    https://blog.csdn.net/ysu108/article/details/7764461

15、端口是干什么用的

    https://www.jianshu.com/p/1e622bb64614

16、网络七层协议

    https://www.cnblogs.com/carlos-mm/p/6297197.html

    https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E4%B8%83%E5%B1%82%E5%8D%8F%E8%AE%AE/6056879

17、http、TCP、UDP的区别和联系

    https://blog.csdn.net/hai_chao/article/details/79626161

18、TCP和UDP各自的优势,知道哪些使用UDP协议的成功案例

    https://www.cnblogs.com/xiaomayizoe/p/5258754.html

26、   网络层、数据链路层、传输层的设备有哪些

    https://blog.csdn.net/xw20084898/article/details/39438783

29、   epoll中ET模式与LT模式的区别

    https://blog.csdn.net/wangxmin2005/article/details/7587525

30、为什么是三次握手

    https://www.nowcoder.com/questionTerminal/dd2e0e9a1618496baabad2abc56d9609

 

六、LINUX及操作系统方面

1、进程和线程的区别;

    https://blog.csdn.net/zhou753099943/article/details/51771220

https://blog.csdn.net/yaosiming2011/article/details/44280797

2、堆和栈的区别;

    https://blog.csdn.net/Fiorna0314/article/details/49757195

3、fork的底层实现(写时拷贝);

    https://blog.csdn.net/hello_bravo_/article/details/52887184

    https://www.cnblogs.com/wuchanming/p/4495479.html

4、fork、vfork和clone的区别;

    https://blog.csdn.net/gatieme/article/details/51417488

    https://blog.csdn.net/gogokongyin/article/details/51178257

6、gdb、coredump文件使用;

    https://blog.csdn.net/sunxiaopengsun/article/details/72974548

    https://www.cnblogs.com/wangjian8888/p/5950912.html

7、查看机器负载的命令(top、ps、tcpdump、netstate、lsof等);

    https://blog.csdn.net/qq_36357820/article/details/76606113

14、Linux虚拟地址空间

    https://www.cnblogs.com/smartjourneys/p/7196868.html

17、grep、sed、awk的使用

    http://man.linuxde.net/grep

    https://www.cnblogs.com/xudong-bupt/p/3721210.html

    https://blog.csdn.net/u011630575/article/details/52034020

18、    用户态到内核态的转化原理

    https://blog.csdn.net/u014142287/article/details/51934940

20、    线程共享进程的什么,不共享什么,CPU共享吗

    https://blog.csdn.net/wangqyoho/article/details/52598859

22、    线程分配什么:tcb?

23、   线程的基本组成是什么?寄存器堆栈

    一个标准的线程由:线程ID,当前指令指针(PC),寄存器集合和堆栈组成。

24、   线程有什么状态

    https://blog.csdn.net/sinat_36042530/article/details/52565296

25、   多线程同步和互斥方法,内核态下有什么方法

    https://blog.csdn.net/u011200925/article/details/55518294

28、   缓冲区溢出是什么?会造成什么危害呢?出现原因是什么

    https://www.cnblogs.com/clover-toeic/p/3737011.html

29、   守护进程、僵尸进程、孤儿进程,守护进程的作用是什么

    https://www.cnblogs.com/wannable/p/6021617.html

30、   死锁条件,解决死锁的方法?按照四个方面来解决

    https://blog.csdn.net/guaiguaihenguai/article/details/80303835

33、   一个文件被删除了,没有被释放是什么原因呢

    https://www.cnblogs.com/kevingrace/p/6511220.html

38、   linux 文件查找指令

    https://www.cnblogs.com/huninglei/p/5824205.html

39、   top显示出来的系统信息都是什么含义

    https://blog.csdn.net/csdn066/article/details/77171018

42、   讲一下线程池

    https://www.jianshu.com/p/210eab345423

43、   线程之间的通信方式

    https://blog.csdn.net/yang_teng_/article/details/53325280

47、   Linux下常用的命令有哪些

    https://www.cnblogs.com/yjd_hycf_space/p/7730690.html

51、   互斥锁和读写锁说一下吧?哪个效率高呢

    http://blog.chinaunix.net/uid-28852942-id-3756043.html

52、   说一下ping这个命令底层是做了什么吧,ping本机和ping远端过程上有哪些区别

    https://blog.csdn.net/ss343fd/article/details/75208684

54、   大内存申请时候选用哪种

    mmap

55、   mmap映射底层源码

    https://www.cnblogs.com/itcomputer/p/6477290.html

56、进程调度算法

https://www.cnblogs.com/Blog-day/p/My_Blog_Days1-11.html

57、内存分配原理

    https://www.cnblogs.com/dongzhiquan/p/5621906.html

 

七、数据库方面

1、说说数据库的4大范式;

    https://blog.csdn.net/hyqsong/article/details/52245195

    https://blog.csdn.net/yahohi/article/details/7529710

2、说说事务的4个性质;

    https://blog.csdn.net/xiaoyu714543065/article/details/8211265

http://www.360doc.com/content/16/1122/08/35497398_608435095.shtml

3、mysql中innodb和myisam这两者db引擎的区别(优点和缺点);

    https://www.cnblogs.com/kevingrace/p/5685355.html

    https://blog.csdn.net/liu857279611/article/details/51558927

4、mysql的4个隔离级别以及脏读和幻读;

    https://blog.csdn.net/johnstrive/article/details/46724315

5、查询优化有哪些方法;

    https://www.2cto.com/database/201606/514022.html

6、如何定位耗时过长的查询(使用慢查询日志);

    https://blog.csdn.net/jucrazy/article/details/6773960

    https://www.cnblogs.com/qmfsun/p/4844472.html

7、视图、索引等的作用;

    https://blog.csdn.net/u014698348/article/details/51956329

    https://www.cnblogs.com/SanMaoSpace/p/3147059.html

8、了解哪些NoSQL的db(非关系型数据库)?

    http://uule.iteye.com/blog/2144148

9、讲讲MySQL和NoSQL

10、数据库事务

11、索引是什么。多加索引一定会好吗

12、MySQL死锁的原因和解决方法

13、数据库存储引擎

    https://blog.csdn.net/kobejayandy/article/details/51064268

 

 八、其他

1、如何把一个文件快速下发到100w个服务器

2、爬虫怎么防止爬到重复的网站

    https://zhidao.baidu.com/question/1759804428870914348.html

3、gdb调试用过吗。什么是条件断点

4、XSS原理

    https://blog.csdn.net/phpfenghuo/article/details/41959971

5、数字证书是什么,里面都包含那些内容。

        公钥,过期时间,签发机构等

6、加密方法都有哪些

    https://blog.csdn.net/dirk2014/article/details/53525378

7、对一堆文件名(字符串)做哈希,怎么样可以减少冲突率

8、   gcc选项

    https://blog.csdn.net/uisoul/article/details/60135383

9、   假设我想要缓存web服务器的访问记录,该如何实现这个数据结构

    https://blog.csdn.net/jinzhencs/article/details/50461117

10、   讲一下负载均衡的设计

    https://blog.csdn.net/change_on/article/details/72958821

11、   容灾如何处理

    http://blog.chinaunix.net/uid-20675977-id-3066055.html

12、   如何加权控制后台服务器负载的平衡性的

    https://blog.csdn.net/jiange_zh/article/details/50849919

13、   程序内存崩溃了怎么办

gdb core dump文件,backtrace可以查看哪里有段错误

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值