当前位置 博文首页 > hebtu666:最强阿里巴巴历年经典面试题汇总:C++研发岗

    hebtu666:最强阿里巴巴历年经典面试题汇总:C++研发岗

    作者:[db:作者] 时间:2021-06-06 11:24

    这个系列计划收集几百份朋友和读者的面经,作者合集方便查看,各位有面经屯着可以联系我哦

    本系列历史文章:

    关于我的那些面经——百度后端(附答案)

    《关于我的那些面经》滴滴Java岗(附答案)

    朋友面神策数据库,第五个问题不会,直接再见

    美女学姐面了美团阿里京东,这些经验实在太真实了

    学姐腾讯产品面经

    学姐总结奇安信18k常问面试题

    ?

    (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的底层实现