最强阿里巴巴历年经典面试题汇总:C++ 研发岗
(1)、B 树、存储模型
(2)、字典树构造及其优化与应用
(3)、持久化数据结构,序列化与反序列化时机(4)、在无序数组中找最大的 K 个数?
(4)、大规模文本文件,全是单词,求前 10 词频的单词
(5)、堆排序与其在求 10 词频问题中的应用
(6)、字典树与其在统计词频上的应用
(7)、红黑树的特性与其在 C++ STL 中的应用
(8)、红黑树的调整
(9)、贪心算法与其弊端
(10)、能取得全局最优解的算法
(11)、动态规划的原理与本质
(12)、01 背包问题的详细解释
(13)、进程间通信方式
(14)、数据库中 join 的类型与区别
(15)、数据库的 ACID
(16)、实现 bitmap 数据结构,包括数据的存储与插入方式
(17)、实现 unordered_map,键为 string,value 不限
(18)、实现 unordered_map 过程中的冲突解决办法
(19)、一串 int 型整数存放磁盘上的压缩存储方式,包括写入与读取及内存无法一次性读取时的解决办法
(20)、对 Java 的了解
(21)、Bloom 过滤器处理大规模问题时的持久化,包括内存大小受限、磁盘换入换出问题
(22)、线程池的了解、优点、调度处理方式和保护任务队列的方式
(23)、对象复用的了解
(24)、零拷贝的了解
(25)、Linux 的 I/O 模型
(26)、异步 I/O 的详细解释
(27)、线程池对线程的管理方式,包括初始化线程的方法、线程创建后的管理、指派任务的方式
(28)、同步 I/O 与异步 I/O 的区别
(29)、Direct I/O 和其与异步 I/O 的区别
(30)、Linux 内核如何调用 Direct I/O
(31)、Bloom 过滤器的优点与原理
(32)、字符串 hash 成状态位的具体实现方式
(33)、hash 函数如何保证冲突最小
(34)、文件读写使用的系统调用
(35)、文件读写中涉及的磁盘缓冲区与其手动 flush 问题
(36)、数据库 join 的具体含义
(37)、struct 与 class 的区别
(38)、STL 库的介绍
(39)、vector 使用的注意点及其原因
(40)、频繁对 vector 调用 push_back()对性能的影响和原因
(41)、vector 重新分配内存的大小与方式
(42)、hashmap 的实现方式
(43)、map 的实现方式
(44)、C++虚函数的具体实现原理
(45)、实现编译器处理虚函数表应该如何处理
(46)、析构函数一般写成虚函数的原因
(47)、解释哲学家进餐问题
(48)、描述银行家算法
(49)、实现一种算法解决哲学家进餐问题
(50)、大数量整数的去重问题
(51)、如果用 bitmap 解决大数量整数去重问题,计算当全为 int 型整数时需要消耗的内存
(52)、算法题:环形公路上加油站算法问题
现有一圆环形路,路上有 n 个加油站,第 i 个加油站储存有 N[i]升容量的油,与下一个加油站之间有一定的距离 g[i],一汽车初始无油,假设该车每公里消耗 1 升油,请问该车从哪个加油站出发可以绕该环形路行驶一圈。
(53)、多个服务器通信,线程池的设定
(54)、哈希表的冲突解决方式
(55)、哈希表在桶固定的情况下,时间复杂度。怎么优化?
(56)、多线程中哈希表保证线程安全
(57)、哈希表特别大,桶特别多的时候怎么加锁
(58)、C 语言变量存放位置
(59)、栈上的分配内存快还是堆上快
(60)、http 的长连接和短连接是什么,各有什么优缺点,然后使用场景
(61)、在一个浏览器里面输入一个网址,后回车,在这后面发生了什么?
(62)、进程线程的区别,多进程与多线程的区别
(63)、什么是生产者消费者模型?如果一个人洗碗,另一个人马上用碗,是生产者消费者模型吗?
(64)、GET/POST 的区别,GET/POST 的安全性问题,假如你来实现,你怎么实现 GET/POST 的安全性
(65)、你做服务器压力测试时,用什么测试,如何配置参数,吞吐量大小,并发量大小
(66)、类似 Nginx 这种 web 服务器是用什么数据结构实现定时器事件的,四叉堆知道是什么吗,与二叉堆有什么区别?
(67)、动态规划与贪心算法的区别,什么情况下,动态规划可以转换为贪心算法
(68)、说一下快排,快排是稳定的吗?为什么?哪些排序算法稳定?哪些不稳定?
(69)、数据库有哪些索引,你知道哪些索引引擎,这些索引引擎有什么区别
(70)、epoll 与 select 的区别,epoll 在什么情况下吞吐率比较高?
(71)、非阻塞与异步的区别?
(72)、HTTP1.0 和 HTTP1.1 的区别,服务器端如何判断是长连接还是短连接?
(73)、HTTP2.0 的 新特性,它是如何实现共用一个长连接?
(74)、tcp 如何连接到服务器,你如何判断 tcp 连接到服务器,你服务器的输入是什么?
(75)、epoll 的底层实现
C/C++Linux 高级开发路线
c/c++ linux 服务器开发学习地址:c/c++ linux后台服务器高级架构师
完整的 linux c/c++高级开发技术路线图
评论