1.写一个位图
2.对比总结 select,poll,epoll之间的优点和缺点(面试常见)
服务器模型
网络架构
五种IO模型
3.数组与指针的区别
4.指针和引用的区别
5.malloc/free和new/delete的区别与联系
6.struct和union的区别
struct 和 class 的区别?
7.如果面试官让你写智能指针,那你写unique_ptr
auto_ptr
shared_ptr的局限性(重点)
shared_ptr的循环引用(用weak_ptr解决)(重点)
8.nullptr和NULL的区别
9.多态常见的面试题
10.深浅拷贝的区别
堆和栈的区别
11.Malloc.calloc,realloc的区别
12.继承相关的面试题
13.除了使用fork产生子进程,还有其它的方法吗?子进程可以访问父进程的变量吗?
14.TCP协议(传输层)!!!(1)
TCP协议(传输层)!!!(2)
TCP的三次握手与四次挥手理解及面试题(很全面)
TCP协议的通讯流程(三次握手四次挥手)高频考点!!!
15.UDP协议
16.HTTP协议
17.https和http的区别?然后问我https怎么加密的 ,讲一讲加密算法实现
18 .二分查找
19.空间配置器的基本了解
20.非对称加密算法
21.vector和list的区别
22.vector迭代器失效:插入和删除
list迭代器失效:删除
23.八大排序算法
24.浏览器输入URL到用户看到网页,中间都发生了什么?
25.智能指针
28.稳定排序是什么意思?1
稳定排序是什么意思?2
29.背包问题会不会 ?
30.用链表实现一个栈?
31.一个智力题n的阶乘后面有多少个连续的0?
16.tcp动态连接的过程,断开的过程time_wait的作用是?
time_wait的作用是:确保服务器收到了ack
TCP协议的通讯流程(三次握手四次挥手)高频考点!!!
17.linux下进程间通信有哪些方式
为什么共享内存是最快的通信方式?
线程间通信方式
18.fork的子进程和父进程有什么区别?
19.外网不能访问,为什么?怎么办?什么是公网IP
20.Mysql的事务
MySQL的四种事务隔离级别
33.快排算法以及思路
34.C++中的异常,C中的异常是怎样的。在C中遇到异常如何处理
20.多线程讲一讲?
35.问了正则表达式?abc后两个数字怎么写
21.我们现在用的腾讯会议这个app,从打开到用完,对照着七层模型讲一讲?
22.网址进去以后的变化?
23.为什么要DNS解析?怎么渲染的?
24.问我设计模式,我讲了单例模式?问我为什么要有单例模式?什么时候用
25.进程和线程的区别?
40.Session和cookie有什么区别,他们分别写在哪里
(1)Cookie和Session都是会话技术,Cookie是运行在客户端,Session是运行在服务器端。
(2)Cookie有大小限制以及浏览器在存cookie的个数也有限制,Session是没有大小限制和服务器的内存大小有关。
(3)Cookie有安全隐患,通过拦截或本地文件找得到你的cookie后可以进行攻击。
(4)Session是保存在服务器端上会存在一段时间才会消失,如果session过多会增加服务器的压力。
12.构造函数是虚函数吗?析构函数呢?
(1)构造函数不能是虚函数。
(2)析构函数可以为虚函数。
在多态的时候,比如基类的指针指向派生类的对象,如果删除该指针delete []p,就会调用该指针指向的派生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放。
如果析构函数不被声明成虚函数,会造成派生类对象析构不完全。所以析构函数声明为虚函数的十分必要的。
19.快排的时间复杂度最坏情况?
时间复杂度:最好情况O(nlogn)——Partition函数每次恰好能均分序列,其递归树的深度就为.log2n.+1(.x.表示不大于x的最大整数),即仅需递归log2n次;
最坏情况O(n^2),每次划分只能将序列分为一个元素与其他元素两部分,这时的快速排序退化为冒泡排序,如果用数画出来,得到的将会是一棵单斜树,也就是说所有所有的节点只有左(右)节点的树;平均时间复杂度O(nlogn)
20.比快排更快的排序?
29.面试官接着问重写跟重载。
30.String类可以被继承吗?
String类是被final修饰的,被final修饰的类是不能被继承的。
31.对网络安全的了解
47、sizeof(’\0’)?
sizeof计算的字符的字节数,同时还要加上最后面的’\0’ 就相当于两个’\0’,所以为2
48、strlen(’\0’)?
strlen 计算的字符个数,遇见‘\0’就停止查找,直接返回’\0’之前的字符个数,所以为0
55.C++动态内存申请,new原理
new 的话,是用于从堆内存中分配指定大小的内存区域,并返回获得的内存区域的首地址。类似于malloc不过,这个new不用计算需求的内存大小,而且不用对内存区域进行类型转换
6.写一个题。。。时针、分针、秒针、连续转。一天重合几次
1.你用的 linux 是哪个版本的?
2.那你知道 centos 7 初始化服务器相关的东西吗?
3.知道1号进程吗?1号进程的名字是什么?各个版本下的1号进程名字都叫什么?。。
4.如果在 shell 下运行一个命令,怎么知道他是运行成功了?
5.两个进程同时 malloc 一段空间,返回的地址指针都是 12345,那他们访问的是同一块物理地址吗?
6.怎么通过虚拟地址和页表找到对应的逻辑地址?
7.每一个进程都得有一个自己的页表吗?
8.linux 下怎么查看cpu的使用情况?
9.那 top 还能查看到 cpu 的那些信息?
10.linux 下怎么查看网络流量?
11.linux 怎么比较两个文件的区别?
13.了解内核线程吗?
14.线程共享进程的哪些资源?
15.你刚说可资源共享可能不安全,那有什么方法保证多个线程对资源修改的安全性?
16.你平时写代码有没有遇见过僵尸进程?为什么会产生僵尸进程?
17.了解有关于虚拟或者云的东西吗?
2.多线程的创建、多线程的同步、多线程的通信?