搜档网
当前位置:搜档网 › IT互联网名企经典面试题汇总:C,C++篇

IT互联网名企经典面试题汇总:C,C++篇

IT互联网名企经典面试题汇总:C++篇

一、百度(查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

(1)、写算法,二叉树按层遍历,用双向链表把节点连起来

(2)、一个无序自然数数列,给定一个数M,选取自然数数列中两个数,其中他们的和是M,打印所有这样的自然数对

(3)、TCP和UDP的不同,TCP的三次握手与四次挥手

(4)、设计一个汽车摇号系统,当一个人摇了6年后抽到的概率会翻倍。(5)、Linux命令在一个文件中,倒序打印第二行前100个大写字母

(6)、static_cast和reinterpret_cast区别

(7)、char c = 255;

unsigned short b = c;

cout<

(8)、继承中析构函数最好为虚函数为什么?

(9)、构造函数为什么不建议调用虚函数?

(10)、TCP UDP端口扫描的实现方式

(11)、守护进程的概念,怎么创建守护进程?

(12)、利用条件变量,实现线程间同步方式

(13)、性能优化思路

(14)、将一个数M转换转换成N进制

(15)、STL内存分配方式

(16)、迭代器++it,it++哪个好?

(17)、二叉树排序树逆序打印

(18)、STL中仿函数有什么用?和函数指针有什么不同,哪个效率高?(19)、select和epoll区别,select为什么慢?

(20)、fwrite write fread read fopen open 区别,可移植性哪个好?(21)、多线程,一个线程往一个数据中输入一些数字,另一个线程取出最大的两个数,用什么算法?

(22)、堆的创建过程,怎么将无序的数组转换成一个堆?

(23)、动态规划的应用举例

(24)、iptables的实现原理

(25)、快排是稳定排序吗,举个例子说明

(26)、实现一个Stack类,要求push pop max操作时间都是O(1)。

(27)、Linux 读写锁的作用,适用场景

(28)、考虑一个Int64的整型。

若计算一个数的各位数上的平方和,通过不断迭代最终得到1,则称这个数为有趣的数。现给定一个数,判断该数是否为有趣的数?若判断一个数组的数呢?(29)、项目中文件服务器如何支持断点续传?

(30)、用什么数据结构保存cookie?

(31)、hashmap支持并发,如何上锁来保证锁粒度最小?

(32)、堆与栈的区别

(33)、new跟malloc的区别?

(34)、普通类的析构函数对异常有什么要求?

(35)、宏定义与const的区别?宏定义可以完全用const替换么?宏定义如何调试?

(36)、对设计模式有多少了解?

(37)、一个有n行的文件,随机选m行?如何选?

(38)、Linux查看文件的磁盘空间,监控进程cpu,内存使用率

(39)、ping的底层协议?ICMP处于7层的哪一层?

(40)、socket位于哪一层?socket编程的过程?

(41)、内核分几个部分?

(42)、OS同步与互斥的区别?

(43)、数据库中事物的原则

(44)、你所知道的最快的排序算法?

(45)、若在数据库底层进行排序,该如何设计排序算法?

(46)、手写vector删除元素,需要注意迭代器失效情况。

(47)、手写两个类,要体现构造,析构,拷贝构造,赋值,虚函数,重载函数

等特点。

(48)、free是如何识别free区域的?

(49)、Linux的找到目录中cpp文件?如何找文件中一变量?

(50)、Linux检测内存泄露?

(51)、了解哪些开源项目?redis,mysql有多少了解?

(52)、n级台阶问题

(53)、一致性哈希

(54)、如何判断一个图是否有环

(55)、traceroute有什么优势?

(56)、STL中vector内存分配?如何从原内存拷贝的新内存?会调用构造函数么?

(57)、软件工程?

(58)、如何看待C++面向对象?与C何区别?

(59)、面向对象设计原则?里氏替换是指什么?

(60)、多态是如何实现的?画一下虚指针与虚函数表,如果多继承,虚函数表怎么画?虚指针是对象成员变量么?在什么时候初始化?

(61)、讲一下TCP中拥塞控制

(62)、C++中强制类型转换?Dynamic_cast的作用

(63)、C++中构造函数发生异常会怎样?

(64)、C++中构造函数中this指针暴露了会有什么后果?

(点击查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

二、招银网络科技(查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

(1)、C++如何调用C语言函数

(2)、C++多态性

(3)、虚函数

(4)、多线程多进程

(5)、socket通信

(6)、C++代码是如何从源代码到可执行文件的

(7)、学过数据库么?

(8)、拷贝构造函数为什么使用引用类型?

(9)、静态成员函数不能声明为虚函数

(10)、什么是死锁,必要条件,解决方法

(11)、内链接和外联结

(12)、sleep和wait区别?

(13)、C中static的用法

(14)、应用层协议

(15)、DNS原理

(16)、C++索引问题

(17)、TCP重发机制

(18)、视图和表的区别

(19)、C++用过什么容器

(20)、STL中如何计算迭代器距离

(21)、TCP和UDP的区别

(点击查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

三、阿里巴巴(查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

(1)、用const修饰类成员函数的作用?

(2)、能否在一个const成员函数中调用非const成员函数,为什么? (3)、模板的实现和声明是否一定要在同一个头文件中,为什么?

(4)、在无序数组中找最大的K个数?

(5)、对无序数组A[0:n-1]进行预处理(不能改变A[0:n-1]内元素的顺序),使得能在O(1)时间内快速找到子数组A[i:j]的和?

(6)、在一个单向链表中实现快排?

(7)、讲解一下内省排序的原理?

(8)、讲讲你对Linux内存的了解?

(9)、Linux内存的页表的作用是什么?

(10)、Linux内核地址空间的布局,内核地址空间是如何访问物理内存的?(11)、Linux中,怎样删除一个目录中最后一次修改时间在一个星期以前的所有文件,具体代码怎么写?

(12)、一个公司有200人,其中男女各100人。某一天有两个人迟到,请问是一男一女的概率是多少?

(13)、如何写一个线程池?

(14)、你觉得这个线程池有哪些可以优化的地方?

(15)、多态的作用是什么,它是怎样实现的?

(16)、C++中的override是什么,它是怎样实现的?

(17)、多线程调试中会有coredump的情况,如何定位错误?

(18)、警告错误位置和实际错误位置为什么会不一致,举例说明?

(19)、谈谈你对buffer overflow的理解?

(20)、在Linux中,若父子进程中有一个异常终止,会对另一个进程有影响吗,为什么?

(21)、如何修改你的程序,使其解决因异常终止而带来的影响?

(22)、假设在某一时刻由几万个并发请求同时产生,请设计一个方案来处理这种情况。

(23)、C/C++ 与Java的区别

(24)、为什么说C/C++较Java有性能优势?

(25)、从N个无序数中寻找Top-k个最小数

(26)、Hashmap 的底层实现

(27)、Array与List的区别?

(28)、进程与线程的区别

(29)、网络的七层协议

(30)、TCP与UDP的区别

(31)、TCP的三次握手与四次挥手

(32)、进程间调度算法

(33)、数据库索引的实现方式

(34)、Inner Join, Left Join 以及Right Join的区别?

(35)、谈一谈数据库的3个范式

(36)、有没有用到其他的开源数据库

(37)、C++面向对象的三个特性

(38)、面向对象设计的基本原则

(39)、C++多态的实现方式

(40)、虚函数表是一个类一个还是一个对象一个?如果继承,子类与父类的虚函数表有何区别?虚函数表中可不可以存放非虚函数?

(41)、有没有用过typeid检查运行时类型?

(42)、模板中非类型参数与类型参数有什么区别?

(43)、STL中有那些容器?vector与deque有什么区别?

(44)、什么是智能指针?写一个模板的智能指针

(45)、Linux下/etc/下有那些配置文件,有什么作用?resolve.conf是用来做什么的。

(46)、如果修改Linux下网卡配置在哪修改?有没有用过iptable?

(47)、内核态与用户态的区别?从用户态切换到内核态有哪几种方式?(48)、Linux有5个运行级别,你知道么?

( Ps:这里是面试官下的坑,实际有7个运行级别 )

(49)、数据结构有没有了解?

(50)、图有几种存储方式?邻接矩阵与邻接表存储结构的优缺点?什么时候用什么结构?

(51)、排序算法哪些是稳定排序?归并排序常用于哪里?

(52)、手写斐波那契数列?

(53)、为什么不用递归?递归有什么不好?那为什么不用inline来写递归呢?如何来避免递归?

(点击查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

四、腾讯(查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

(1)、是否理解hadoop等大数据平台

(2)、C++指针与引用的区别?经常使用指针还是引用?

(3)、const在成员函数的位置和作用,如何保证成员变量的const?

(4)、C++虚析构函数的作用,如果析构函数不是析构函数有什么后果? (5)、C++虚基类是什么?纯虚函数可不可以有实现?什么情况下会对纯虚函数进行实现?

(6)、C++中如何实现接口,接口与多继承的优劣

(7)、如何帮一个不懂电脑的女生找出电脑的问题(只能通过电话联系) (8)、项目中用到网络通信的地方

(9)、TCP如何保证可靠传输

(10)、TCP的流量控制

(11)、IP分组传输以及重传等

(12)、假设项目中TCP客户端申请一个文件的读事件,而服务端找不到该文件,却返回一个成功信号,这种情况有没有可能?

(13)、项目里如何设计访问量过大,如何提升?

(14)、微信中附近的人的功能,其位置信息该如何存储?

(15)、操作系统页面管理是怎样的?页面大小一般多少?过大或过小会怎样?(16)、进程请求资源死锁,如何在编程上防止死锁?

(17)、手写singleton。如何避免多线程同步问题?

(18)、实现一个singleton的基类,令其派生类都是singleton?

(19)、STL中容器的迭代器在什么情况下会失效?

(20)、gdb调试core文件的参数是什么

(21)、有没有网络通信相关的项目

(22)、hash表中为了防止冲突过多常用素数,为什么?

(23)STL中allocator adapter

(24)、vector中内存扩充方式怎样?为什么每次都有2被扩充?

(25)、vector与list的区别

(26)、static的作用

(27)、两个文件,一个是class A,一个是class B,如果A跟B相互引用,如何include?

(28)、网络字节序与主机字节序的区别?为何要有这样的区别?

(29)、内存对齐,为什么要内存对齐

(30)、1G的内存可以装入2G的程序么?怎么装?

(31)、常见的页面置换算法?

(32)、用浏览器打开网页发生的全部事件?第二次打开这个网页呢?(33)、循环与递归的区别

(34)、二叉树给出前序,中序求后序

(35)、墙上有一个插孔,提供无线的4孔插板,有28盏灯,至少需要多少插孔?280灯呢?

(36)一个处理机时间分辨率是1s,单执行流,每秒系统运行一次run函数,现要求设计一个提供定时任务的函数addfunc( Xs,func),可以设置在X时间运行函数func。提供系统API是gettime()来获取当前时间。

(37)、Linux下如何检测内存泄露?如何检测程序crash?

(38)、gdb调试设断点?如何查看系统堆栈?

(40)、如何实现多态?

(41)、进程通信的方式有哪几种?那种的效率会更好?为什么?

(42)、Linux下swap区作用?

(43)、给4个瓶子11种粉末,只有一种溶解呈现蓝色,溶解需要两分钟。问多久能测出蓝色粉末?

(44)、写代码不用第三个变量交换两个变量值

(45)、字符串匹配,O(n+m)

(46)、给一个单链表如何判断有环?

(47)、8个抽屉有一份文件,其中8个抽屉都没文件的概率是20%,现打开一个抽屉发现没有文件,求剩下7个抽屉会有文件的概率。

(48)、浏览器打开一个网页,说明一下这其中发生了什么事?

(49)、TCP与UDP区别?

(50)、HTTP 为什么要用TCP而不用UDP?

(51)、HTTP 报头以及状态码。

(52)、如果客户端keep-alive,服务端不支持keep-alive,连接是从客户端断开还是从服务端断开?为什么?

(53)、fun(){ int a; a=6; } 与fun(){ int a=5; a=6; }二者在二进制代码上有什么区别?若变量是static的呢?

(54)、一个函数rand可以等概论生成无符号整数,假定M的值是这样定义的,若rand产生的序列中只有一个r0=r1,则M=2;若有r0=r1=r2,则M=3;以此类推,求M的期望。

(55)、关于printf的缓冲区问题

(点击查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

五、CVTE(查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

(1)、C++多态实现

(2)、虚函数表的位置

(3)、C++中new跟malloc的区别

(4)、堆与栈的区别

(5)、Python三种内置数据类型

(6)、shell后台运行

(7)、STL中容器

(8)、vector的内存释放

(9)、shell中调用脚本是通过线程还是进程

(10)、写时拷贝

(11)、TCP和UDP区别

(12)、两个堆实现一个队列,要求快速读出代码

(13)、设计一个类计算子类的个数

(14)、C++内存分配,堆、栈、静态数据区,为什么要这么设置?

(15)、tar参数zxvf j的含义

(16)、讲一下HDFS的实现,什么时候用MySQL,什么时候用HDFS呢?简单介绍flume。

(17)、你了解到现在有哪些公司的大数据平台及产品?

(18)、HBase 为什么可以用来存图片,对比同类型的redis和mongodb。(19)、Hadoop的NameNode节点如果没数据会怎样?

(20)、哪些列上适合建索引?索引有什么缺点。

(21)、多线程和多进程,进程间通信,有用过管道吗?是单向还是双向?可以双向吗?管道和共享内存的区别

(22)、面向对象特点C++多态,TCP 粘包

(23)、为什么要使用epoll呢,对比 select,epoll的内部实现

(24)、返回一个数组中出现次数第二大的数

(点击查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

六、360(查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

(1)、linux命令:cd,rm,mkdir,chmod,输出重定向,如何查看后台运行进程,vim的使用

(2)、进程调度方式

(3)、多线程访问共享数据会有什么问题,怎么处理?

(4)、写语句SQL查询、插入语句的实现

(5)、堆排序的实现原理

(6)、写一个简单的struct,问内存对齐方面的问题

(7)、sizeof和strlen

(8)、内存泄漏和内存溢出是指什么,内存溢出有什么危害

(9)、手撕代码题:atoi(),字符串转int

(10)、TCP三次握手的过程,seq的变化是一直都是加1吗?

(11)、TCP和UDP的区别,如何用UDP实现文件传输?

(12)、Pv6的地址格式,保留地址,回环地址,IPv4与IPv6如何通信?(13)、DNS的原理、tcp、udp下的DNS有什么区别?(或者说DNS的tcp实现和udp实现的应用场景)

(14)、HTTP协议的理解、HTTP包的格式、HTTP1.0和HTTP2.0的区别(15)、NAT的原理,外网与内网或内网之间的通信中如何区分不同IP的数组包(16)、ARP协议的作用

(17)、打开网页没反应,你觉得有哪些可能的原因。

(18)、一个数组中,只有一个数字出现奇数次,其他数字出现偶数次,如何找到这个数?

(19)、给你很多很多(上千万条)URL,每个URL对应一个图片,请把它们都下载下来,你会如何实现?

(20)电脑为什么能够同时运行那么多个程序?

(点击查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

七、深信服(查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

(1)、对于N个点的网络,求任意两点的最短路径的复杂的

(2)、C语言局部变量与全局变量

(3)、对于大的数组,如何使用局部变量?

(4)、不同文件中如何引用外部变量?

(5)、递归时栈溢出怎么办?任何递归都可以用非递归实现么?

(6)、存储通讯录信息:姓名,手机,邮箱,简介,如何能实现快速查询以及部分查询?

(7)、Linux编程中的锁有哪些?

(8)、自旋锁与互斥锁区别

(9)、进程IPC方式

(10)、socket与共享内存用于什么情况?

(11)、卫星网络中网络带宽足够,但丢包率高,导致网页打不开,通信质量差,

什么原因?如何解决?

(12)、Dijkstra单源最短路径

(13)、malloc和new分配内存区别

(14)、TCP滑动窗口

(15)、ARP协议

(16)、LINUX怎么创建守护进程

(17)、僵尸进程,如何防止

(18)、析构函数为虚函数的好处

(19)、基础问题基本都答上来了,但是不够深入。(20)、系统调用与函数调用

(21)、linux信号有哪些?

(22)、可重入函数,线程安全

(23)、翻墙软件的原理

(24)、阻塞与非阻塞

(25)、可变参数函数的定义及实现

(26)、缓冲溢出报警及解决

(27)、内存溢出解决

(28)、一棵树转换成二叉树

(29)、如何比较两个结构体是否相等?

(30)、main函数返回值意义及获取方式

(31)、快排原理,什么时候复杂度最高及如何改进?(32)、云盘中秒传功能是什么原理,说说其中一个算法

(点击查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

八、网易(查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

(1)、多态性都有哪些?

(2)、动态绑定怎么实现?

(3)、类型转换有哪些?

(4)、操作符重载(+操作符),具体如何去定义,?

(5)、内存对齐的原则?

(6)、模版怎么实现?

(7)、指针和const的用法?

(8)、虚函数、纯虚函数、虚函数与析构函数?

(9)、内联函数

(10)、const和typedef

(11)、排序算法有哪些?快速排序怎么实现的?

(12)、链接指示:extern “C”(作用)

(13)、C语言和C++有什么区别?

(14)、给两个数P、Q,用string格式输出P/Q,循环小数部分用()标出,例如10/60=0.1(6)

(15)、假设有m个房间,清洁工清洁每个房间耗时用一个数组表示,10、20、30、40、50、60、70、80、90,安排n个清洁工,将连续的房间分成n份,每部分耗时求和,其最大值为此种分法的总耗时。求最快的耗时是多少?

(16)、一排树,高低分布,只能剪,求使得这一排树高度递增或递减所需要修剪的最少树的个数。

(17)、qt类中的一些继承关系?

(18)、qt的信号与槽机制?

(19)、qt有那些类,控件?

(20)、plc是个什么玩意?

(21)、strcpy函数的编写?

(22)、数据结构中二叉树的非递归遍历?

(23)、C++中四种类型转换机制?

(24)、继承机制中对象之间是如何转换的?

(25)、继承机制中引用和指针之间如何转换?

(26)、虚函数,虚函数表里面内存如何分配?

(27)、如何实现只能动态分配类对象,不能定义类对象?(28)、stl有哪些容器,对比vector和set?

(29)、红黑树的定义和解释?

(30)、const关键字的作用?

(31)、静态成员函数和数据成员有什么意义?

(32)、模版特化的概念,为什么特化?

(33)、explicit是干什么用的?

(34)、strcpy返回类型是干嘛用的?

(35)、内存溢出有那些因素?

(36)、new与malloc的区别,delet和free的区别?

(37)、为什么要用static_cast转换而不用c语言中的转换?(38)、异常机制是怎么回事?

(39)、迭代器删除元素的会发生什么?

(40)、必须在构造函数初始化式里进行初始化的数据成员有哪些?(41)、类的封装:private,protected,public

(点击查看更多〉〉〉〉〉〉〉〉〉〉〉〉)

更多精品干货>>>>>>>>>>>

《我的2016笔试面试经验》

《普通学校找工作总结,不进来看看?》

相关主题