参加阿里、腾讯、头条等30场现场面试,总结出80道C++面试题目!

参加阿里、腾讯、头条等30场现场面试,总结出80道C++面试题目!

阿里现场面试(一):

  1. B树、存储模型(B树、B+树与数据库引擎这块是热门问题
  2. 字典树构造及其优化与应用
  3. 持久化数据结构,序列化与反序列化时机
  4. 大规模文本文件,全是单词,求前10词频的单词(Top k问题是热门问题
  5. 堆排序与其在求10词频问题中的应用
  6. 字典树与其在统计词频上的应用
  7. 红黑树的特性与其在C++ STL中的应用
  8. 红黑树的调整
  9. 贪心算法与其弊端
  10. 能取得全局最优解的算法
  11. 动态规划的原理与本质(动态规划dynamic programming是笔试热门题型
  12. 01背包问题的详细解释
  13. 数据库中join的类型与区别
  14. 数据库的ACID
  15. 实现bitmap数据结构,包括数据的存储与插入方式
  16. 实现unordered_map,键为string,value不限
  17. 实现unordered_map过程中的冲突解决办法
  18. 一串int型整数存放磁盘上的压缩存储方式,包括写入与读取及内存无法一次性读取时的解决办法
  19. 对Java的了解
  20. Bloom过滤器处理大规模问题时的持久化,包括内存大小受限、磁盘换入换出问题(Bloom过滤器是热门问题
  21. 线程池的了解、优点、调度处理方式和保护任务队列的方式
  22. 对象复用的了解
  23. 零拷贝的了解
  24. Linux的I/O模型(I/O模型是热门问题
  25. 异步I/O的详细解释

阿里现场面试(二):

  1. 线程池对线程的管理方式,包括初始化线程的方法、线程创建后的管理、指派任务的方式
  2. 同步I/O与异步I/O的区别,包括如何定义异步I/O、I/O实质上交给谁完成、如果实现异步
  3. Direct I/O 和其与异步I/O的区别
  4. Linux内核如何调用Direct I/O
  5. Bloom过滤器的优点与原理
  6. 字符串hash成状态位的具体实现方式
  7. hash函数如何保证冲突最小
  8. 文件读写使用的系统调用
  9. 文件读写中涉及的磁盘缓冲区与其手动flush问题
  10. 数据库join的具体含义

腾讯电话面试(一):

  1. C和C++的特点与区别
  2. C++的多态
  3. 虚函数的实现
  4. C++内存分配
  5. 几大存储区
  6. Python的特点
  7. Python有哪些实现(此处是指CPython、Jython等
  8. CPython的解释执行过程
  9. Python里面垃圾回收是怎样的
  10. Python多线程介绍
  11. 多线程可以使用多核吗
  12. 协程的了解
  13. cgi的了解
  14. http协议get和post的区别
  15. 进程间通信方式
  16. 建立TCP服务器的各个系统调用
  17. 处理多个套接字的I/O复用介绍
  18. epoll为什么更快
  19. 虚拟内存的概念与介绍
  20. 单链表的倒置
  21. 快速排序的优化
  22. 字符串匹配算法
  23. TCP的三次握手与四次挥手的详细介绍
  24. TCP的超时等待的介绍
  25. 流量控制的介绍
  26. 数字证书的了解
  27. http和https的区别
  28. 对数据库包括其引擎的区别与了解
  29. 数据库索引的作用(数据库索引是热门问题

今日头条

现场一面 & 现场二面

  1. 算法题1:无序数组查找第Top k元素。手写代码实现
  2. 算法题2:并查集。手写代码实现
  3. Python中range与xrange的区别
  4. 算法题3:链表反转。手写代码实现
  5. git merge与rebase的区别

现场一面

  1. 算法题1:枚举给定数组中的所有非递减子序列。敲代码运行
  2. 算法题2:枚举给定数组的全排列。敲代码运行
  3. 介绍I/O复用技术,epoll优于select的原因
  4. 介绍线程池
  5. 图的邻接矩阵和邻接表的表示,邻接表的数据结构。敲代码不运行

现场二面

  1. 算法题1:给定二叉树,假设相连接的两结点间距离为1,求所有结点中距离其他所有结点距离和最小的结点。敲代码运行
  2. 介绍C ++内存管理(C ++的内存模型是热门问题)
  3. 对文件系统的了解

现场三面

  1. 算法题1:给定数组,快速求出所有数右边第一个比其大的数。回答思路
  2. 算法题2:给定k个数组,每个数组都是有序的,且每个数组最大值-最小值<1000,1
  3. 进程与线程区别
  4. STL内存分配
参加阿里、腾讯、头条等30场现场面试,总结出80道C++面试题目!


分享到:


相關文章: