c accept阻塞_c/c+ Linux后台服务器开发面试问题整理

825ca127f17e3a8e5db3a37e96a83e8b.png

最近实习招聘又开始了,被一些师弟问了面试会问到的问题,于是想把之前实习、校招被问过的问题整理出来,希望对需要的人有帮助。虽然下面很多问题,但面试时可以问的问题是一个无限集,而且因人而异,只能作为一定的参考,如果把所有知识面都掌握得很牢固那问什么都没问题 :)这里的问题也不是说要所有都能答得上来,能答大部分我觉得 BAT 就没啥问题了。

问题来源:包括但不限于阿里、腾讯、百度、网易游戏,均为实际中遇到的。

后续再看有没有必要标注哪些问得比较频繁,需不需要回答参考。

C++

static 关键字有哪些用法

说说继承和组合的概念?什么时候应该用继承?什么时候应该用组合

C++ 的菱形继承会发生什么问题?画出对应的内存布局

说说对 C++ 智能指针的了解

说说虚函数实现机制

如果父类中仅有方法,子类有一个 int 变量,这时候 sizeof 是多大

指针一定是 4 个字节吗

#define 和 inline 函数的区别是什么

const static 在哪里初始化

派生类的构造函数和析构函数执行顺序

什么情况下基类的析构函数没有被调用

如何生成静态库?如何生成动态库

如何用 gdb 调试

coredump 查看,core 文件分析

如何调试运行中的程序

运行了几天的程序崩掉,如何分析错误

如何编写 makefile

编译器的编译过程?链接的时候做了什么事?在中间层优化时怎么做?

STL 各容器如何实现

适配器是用来做什么的

queue 如何实现

map 用什么实现

如何实现 vector?优化 O(n) 的复制

红黑树插入数据发现不平衡应该怎么做

debug 模式和 release 模式编译的区别

如何查看链接的动态库

Python

Python 的装饰器是什么

什么是闭包

说说 Tornado 的架构

说说 flask 的架构

Python 的生成器是什么?底层怎么实现

算法

了解哪几种排序方式?有没有 O(n) 的排序

平衡二叉树的插入

二叉查找树

10个 G 的最高访问 Ip 统计

倒排索引

常用缓存置换算法

Lru 算法的实现及优化

堆和栈的区别

常用 hash 算法

md5、sha1 的实现

一万个 url 的快速查找

两个有序数组找并集的优化

10亿个整数中找最大的 100 个,用 O(n)

网络

HTTP 和 TCP 有什么关系

TCP 的三次握手过程

TCP 和 UDP 的区别

TCP 包为什么需要 Seq

包为什么会乱序

说说 HTTP 协议

HTTP 1.0 和 HTTP 1.1 的差别

HTTP 头部有哪些字段

为什么 HTTP 是无连接的

有没有保持长连接的 HTTP

TCP 的拥塞控制是怎样的

TCP 中客户端发送 SYN 后客户端和服务器分别处在什么状态

服务器调用 send 后返回发送数据大小,是否可以认为客户端已收到?如何确保客户端收到数据

304 状态码的意义?在 HTTP 协议中的实现

如何判断服务器文件是否已修改?知道浏览器缓存的文件与服务器文件不一致?在 HTTP 中哪个字段

A 类地址和 B 类地址的区别

局域网没有 ip 时如何通信?如何得知 mac 地址

tcp ip 层的意义?

进程 accept 时在哪里取得套接字

什么是网络虚拟化

vpn 工作原理

TCP 对网络拥堵的判断

TCP 几种拥塞机制的重传机制

系统

指针对应的地址是不是物理地址

物理地址和虚拟地址通常叫做什么?缩写是什么

操作系统的寻址方式

linux 中如何计算可用内存

linux 中如何用 top 命令中查看虚地址和实地址的信息

如何用搜索引擎去了解 top 中的虚地址?不用搜索引擎怎么知道

top 的输出中哪些是表明了内存

根据 top 计算可用内存有多少

用 top 看耗性能的线程

还有哪些命令可以找出性能瓶颈

epoll 与 select 比较

epoll 的缺点,如何克服缺点

epoll 机制中文件描述符就绪时如何从内核态通知到用户态的进程

epoll 实现

说说同步 异步的区别

进程间通信的方式

进程间的通信有哪些机制?在资源内存方面比较如何

同一进程线程间的通信;不同进程线程间的通信;

如何判断系统在哪些地方耗费性能

cpu 调度的单位是什么

如何让多核 cpu 更好的利用资源

什么是缺页

如何控制两个进程对一个数据的访问?怎么处理加锁问题

说一说协程

是否了解 netstat

在 shell 中用 ./a.out | wc- l 结果是多少?管道的输入是哪个进程的

谈谈 Linux 的文件权限。让只有拥有者才能读写?让拥有者只能读和执行? 删除文件需要什么权限

假如一个进程在对文件进行读写,管理员把文件删除了怎么办

协程与进程线程比较有什么优势

计算机从电源加载开始的启动过程

什么是中断调用?中断程序的分类

lsof strace ptrace gdb 使用

内核态和用户态的区别

为什么需要内核态

什么时候进入内核态

多线程需要加锁的变量

程序在内存中的布局

后端组件

memcached 的内存设计

有哪些服务器模型

tinyhttpd 的基本工作流程

cgi 程序是什么?fastcgi 等等

Apache 和 nginx 中分别如何添加一个网站的访问?如何限制 ip

apache 和 nginx 的不同在哪里

nginx 和 apache 的架构分别是怎样的

memcached 和 redis 的差别是什么

简述 redis 的几个操作

知不知道进程池?有没有用过

redis 的用什么实现持久化?redis 的持久化是否能够信任

memcached 和 redis 为什么不能作为常用数据库

tinyhttpd 中对 HTTP 请求的处理

内存池对不同大小数据结构怎么存储

RPC 有哪几种实现方式?如何提供接口调用

RPC 调用中同步、异步、阻塞、非阻塞的区别

Web

cookie 和 session 的区别

get 与 post 的区别?访问安全性是否有区别?如何做到真正的访问安全

如果发现网络不能访问会检查哪些方面?如果只有某个网站不能访问

没有登陆后台的情况猜测服务器挂掉会是什么原因?如果你是网站管理员用户反馈你的网站不能访问应该怎么做

在后台发现运行程序卡时应该怎么做?检查哪些方面

介绍 HTTPS。能否截获 HTTPS 的数据包

数据库

数据库之间如何同步

怎么保证数据库同时操作几个表的一致性

怎么保证主从服务器中数据库的同步

数据库 ACID 是什么

关系型数据库和非关系型数据库的区别

MySQL 的锁的类型

什么时候 MySQL 会对表上锁?对一行上锁

行级锁、表级锁的区别

高并发访问 MYSQL 时,如何保持数据一致性

MySQL 有哪些存储引擎?为什么使用 InnoDB

MySQL 如何建立索引

建立 A 列和 B 列的索引需要考虑什么

数据库查询过慢的优化

索引实现机制

大数据,高并发

如何设计一个高性能服务器架构

在集群之间做缓存,一个节点挂了怎么办

集群中 session 的同步

集群之间的消息队列

在集群之间做缓存,一个节点挂了怎么办

有哪些高并发的服务器设计

I/O 复用模型有哪些

select 和 epoll 的区别

秒杀中多个数据库服务器的同步

抢票系统怎么做?

设计 qq 对应所有属性的存储和访问

什么是负载均衡?负载均衡的实现

前端

网页中的 js 事件

$( function(){ } ) 是什么意思?和 window.onload 什么区别

用两句话概括 BootStrap

用两句话概括 Jquery

Docker

(因自己做过 docker 相关)

Docker 的适用场景

什么是无状态应用

Docker 分层镜像机制

Go 与 C++ 设计比较,优缺点是什么

Go 的 import 机制优缺点

cgroup 原理

为什么要把项目 docker 化

为什么需要资源隔离和虚拟化

其他

介绍 MVC 模式

SVM 原理

Java 内存回收机制

字节和字符的区别

什么时候用字符读文件,什么时候用字节读文件

写过的最难的程序是什么

成就感最大的项目

单例模式如何实现

中文的编码有哪些

XSS 攻击?举例说明 SQL 注入

用两条能燃烧一个小时的不均匀的香计算 15 分钟

7 个工人 7 小时挖了 7 米的洞,50 小时挖 50 米的洞需要多少人?

2020年腾讯,阿里,百度企业c/c++Linux后台服务器开发方面面试题集锦

更多资料获取路径后台私信【面试】获取

3d53c38c10b4917e11e2ffc6793576d4.png

768892b08f958c9b50d98fd2704e74d6.png

ba7c83de1d96daab92b7ba0a463fe50c.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值