整理一下可能要被问到的所有的知识点(后台开发)

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)构造函数不能是虚函数。

  • 虚函数的作用在于通过子类的指针或引用来调用父类的那个成员函数。而构造函数是在创建对象时自己主动调用的,不可能通过子类的指针或者引用去调用。
  • 虚函数相应一个指向vtable虚函数表的指针,但这个指向vtable的指针事实上是存储在对象的内存空间的,假设构造函数是虚的,就须通过vtable来调用,但对象还没有实例化,也就是内存空间还没有,无法找到vtable

(2)析构函数可以为虚函数。
在多态的时候,比如基类的指针指向派生类的对象,如果删除该指针delete []p,就会调用该指针指向的派生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放。
如果析构函数不被声明成虚函数,会造成派生类对象析构不完全。所以析构函数声明为虚函数的十分必要的。

19.快排的时间复杂度最坏情况?
整理一下可能要被问到的所有的知识点(后台开发)_第1张图片
时间复杂度:最好情况O(nlogn)——Partition函数每次恰好能均分序列,其递归树的深度就为.log2n.+1(.x.表示不大于x的最大整数),即仅需递归log2n次;
最坏情况O(n^2),每次划分只能将序列分为一个元素与其他元素两部分,这时的快速排序退化为冒泡排序,如果用数画出来,得到的将会是一棵单斜树,也就是说所有所有的节点只有左(右)节点的树;平均时间复杂度O(n
logn)

20.比快排更快的排序?

整理一下可能要被问到的所有的知识点(后台开发)_第2张图片

29.面试官接着问重写跟重载。

整理一下可能要被问到的所有的知识点(后台开发)_第3张图片

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不用计算需求的内存大小,而且不用对内存区域进行类型转换

57.服务器503的时候可能是什么情况造成的
整理一下可能要被问到的所有的知识点(后台开发)_第4张图片

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.多线程的创建、多线程的同步、多线程的通信?

你可能感兴趣的:(整理一下可能要被问到的所有的知识点(后台开发))