作者:勿忘心安~~
链接:https://www.nowcoder.com/discuss/197611
来源:牛客网
1 C++基础:
- 指针失效问题如何解决?
- 全局变量和静态变量
- 智能指针
- emplace / empalce_front / emplace_back
- 面向对象的?面向对象的特性?有什么优点,比面向过程的语言好在哪?
- · 模板特化
- · 定位内存泄露
- C语言是怎么进行函数调用的?
- C语言参数压栈顺序?
- C语言如何处理返回值?
2 操作系统
- 命名管道和无名管道
- 堆栈溢出
- 进程和线程(https://www.cnblogs.com/qianqiannian/p/7010909.html)
- 守护进程、僵尸进程、孤儿进程,守护进程的作用是什么?
- · 协程
- 一个文件被删除了,没有被释放是什么原因呢?
- 弱类型、强类型、动态类型是什么
- 自旋锁
- · OPEN的过程
- READ的过程
- WRITE的过程
- 操作系统是如何调度进程呢
- 消息队列
- · malloc函数具体实现原理
- 死锁的原因?条件?如何预防?又如何避免?如何解除?
- 线程是如何绑定到具体的cpu
- 什么是绑核?实现方式?
- 进程的调度算法
3 TCP网络
- 概率题
假设一段公路上,1小时内有汽车经过的概率为96%,那么,30分钟内有汽车经过的概率为?
- 字节序与网络字节序
- 超时重传、快速重传
- 客户端服务器通信死锁如何处理?
1) HTTP协议与TCP/IP协议的关系
2) 如何理解HTTP协议是无状态的
3)什么是长连接、短连接?
4)TCP协议的长连接和短连接优点和缺点
- · 什么是MD5?
- · 阻塞式IO使用场景
- · 什么是TCP粘包
- · 拒绝服务攻击DOS
- XSS,SQL
- · HTTPS建立连接的过程
- 常用的HTTP请求头与响应头
HTTP请求头:
HTTP响应头:
TCP是如何保证有序传输的?
- · POST可以获取数据吗?就是实现GET方法?
4 数据结构与算法:
- 堆排序和快速排序 or 快排为什么快呢?
- 哈希表如何设计?需要利用到磁盘空间。
- STL中hash_map扩容发生什么?
5 数据库
6 其他知识
- UTF8和GD2312的区别
- C++多线程对10个文件进行排序