服务器/后端面试题

C++:

c和C++的区别:

C语言的引用头文件的方式是include名字.h的方式进行引用,而C++去掉了.h(虽然在绝大多数编译器上任然使用.h的方法也不会报错)而是改成直接引用名字即可,这里需要注意的是C++使用C语言标准时,需要在库前面添加一个c来表明这个库是来自于C语言的。

1

2

3

4

5

6

7

//C语言的方法:带.h的方式进行include

#include<stdio.h>

#include<math.h>

  

//C++的方法,直接引用即可

#include<cstdio>

#include<cmath>

你的项目使用的是Reactor模式,那你了解过Proactor吗?
Epoll底层是怎么实现的

指针和引用的区别

讲一讲多态

为什么要将父类的析构函数设置为虚函数。

智能指针,讲一讲shared_ptr及其实现原理,与unique_ptr的区别

如何使用gdb去进行调试

基本数据类型和封装类有什么区别,map可以用int吗

抽象类和接口

计算机原理:

输入URL,整个过程 
HTTP和HTTPS

详细说一下网络编程即socket通信是如何实现的。(socket通信的执行流程)

进程间通信的方式有哪些。
线程间通信的方式有哪些。
线程间除了共享变量外还有其它什么方式吗?

TCP的三次握手与四次挥手。
TCP四次挥手时的close_wait和time_wait状态有什么作用。

tcp 四次挥手过程第四次握手完是直接关闭连接吗为什么进入 time-wait
TCP拆包与粘包了解吗?

第三次握手 ACK 丢失会发生什么

tcp 拥塞控制的方法

了解过 epoll 的原理吗?多路复用 IO 概念

LInux 环境下多路复用系统调用?具体实现

死锁 
进程和线程 
线程的实现方式 

网络丢包的过程?

TCP 的包从网卡收到以后,在内核的流转过程和用户态进程收到的最终流转过程

什么是OSI

线程的创建方式
2.2 线程工厂 
2.3 线程池的核心参数,过程
2.4 四种线程池的问题

11.浏览器输入域名之后发生了些什么?
12.说一下DNS具体是怎么解析的?
13.客户端和服务器是如何建立连接的?
14.如果客户端在三次握手中发送第三次请求的时出现故障了,服务端会断开连接吗?
15.HTTP传输使用的是TCP协议还是UDP协议?

操作系统:

虚拟内存空间又是如何映射到物理内存的呢

我在键盘上敲一个字符,到屏幕上显示的过程中,发生了什么?

驱动程序和应用程序之间的区别

如何驱动硬件?

虚拟内存的作用

内存泄漏

内存 

排查内存泄漏和内存溢出 

操作系统中用户态和内核态的区别?

操作系统的线程和进程的区别?
线程间的通信方式有哪些?
线程间的切换和进程间的切换哪个代价大?

http:

http状态码。

知道哪些 http 状态码
http与https的区别以及https是如何对http进行加密的呢?

https 工作原理?为什么有非对称加密和对称加密?为什么效率差异大?

HTTP长连接和TCP长连接 

SSL整个握手过程

linux:

.Linux常见命令

git:

STL:

STL有哪些常见容器呢。
vector的扩容机制。
vector与list在什么时候迭代器会失效

数据结构和算法:

数组、 链表 、栈、队列的特点和应用 

讲一讲红黑树的实现原理和相关特性。
AVL树讲一下。

快排:

快排事件复杂度:

给一个数组有10个元素,那么需要快排执行多少次完成 排序

排序

手写冒泡排序

手写单列模式

压缩算法

换一个问题,假设有一个很大的文本,设计一个 算法 让它占用的磁盘空间尽量低,你会怎么做?

螺旋输出二维数组 (ac)

B+树 和 红黑树 
红黑树 和 2-3树 

MYSQL:

索引:

一个表有abc三个列,执行一条sql,c==1&&b>=1&&a in123,abc三列用组合索引了,那么执行这个sql会怎么样

数据库的死锁

数据库里面的事务?

事务的隔离级别

acid中的持久性怎么保证?

给了一个场景,非原子操作问怎么回滚?幂等性?

—一条sql语句执行的过程
—mysql的锁机制
—innodb怎么解决幻读
—索引的数据结构
—聚集索引和非聚集索引的区别
—聚集索引查询为什么快
—怎么解决回表
—最左前缀原则
—sql语句命中多个索引组合时如何选择使用哪组索引
—Integer a=100 Integer b=100 (a==b)=?
Integer a=1000 Integer b=1000 (a==b)=?

两张表join,数据库底层是如何执行的(不会)
主键索引和组合索引的区别
两种索引查找上的区别
组合索引是如何存储的

MySQL的各种锁 

 存储引擎

Insert语句和delete语句执行过程,具体是怎么到磁盘的

数据库中有哪些引擎,之间有哪些区别?
B+树索引和hash树索引的区别?

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值