C++面试问题汇总

作者:勿忘心安~~
链接: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函数具体实现原理
  • 死锁的原因?条件?如何预防?又如何避免?如何解除?

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个文件进行排序

猜你喜欢

转载自www.cnblogs.com/yichengming/p/11212014.html