马上就要秋招了。相信现在很多小伙伴都在紧张的去图书馆备战刷题。今天要给大家推荐的是一个github项目,里面收录了阿里巴巴、华为、百度、腾讯、美团、字节跳动、滴滴、京东等知名互联网公司的技术面试题。到目前为止,该项目已获得16000+星。项目github地址为:https://github.com/0voice/interview_internal_reference本面试题库分为20章,其中前8篇(第一部分)按公司区分,总结了各大互联网公司.技术面试题及答案,后半部分(Part2)是根据面试题的知识点做的专门总结。在第一部分,我们不仅可以看到这些知名互联网公司的面试题,还可以看到作者和参考答案。以排名靠前的阿里巴巴为例,可以看到这里收集了37道面试题。上图中的字比较小。为了阅读方便,我们将这些主题贴在下面:阿里文章________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________1.1.2已知sqrt(2)约等于1.414,要求不使用数学库。求sqrt(2)精确到小数点后10位。1.1.3给定一棵二叉搜索树(BST),找到树中第K小的节点1.1.4LRU缓存机制1.1.5关于epoll和select的区别,下列说法正确的是1.1.6来自索引innodb结构分析,为什么索引的key长度不能太长1.1.7如何将MySQL数据恢复到任意时间点?1.1.8NFS和SMB是最常见的两种NAS(NetworkAttachedStorage)协议。当一个文件系统同时通过NFS和SMB协议与多台主机共享时,下列说法错误的是?1.1.9输入pingIP后回车,在发送包之前会发生什么?1.2.0请问鹿晗发恋情微博崩溃的原因,如何解决?1.2.1目前有一批邮件需要发送给订阅的客户,有一个集群(集群中的节点数量可变,会动态扩缩容)负责具体的邮件发送任务。系统如何尽快完成发送?1.2.2有多个气象观测站点,现在需要获取这些站点的观测数据,存储到Hive中。但是气象局只提供api查询,一次只能查询一个观测点。那么是否可以方便快捷的获取到所有观测点的数据呢?1.2.3如何将两个数据量相加(最多两位小数)1.2.4一些关于并行计算的基本开放题1.2.5请计算XILINX公司的VU9P芯片的计算能力相当于多少TOPS,以及给出计算过程和公式1.2.6现代处理器每秒可以执行多少条简单的MOV指令,主要影响因素有哪些?1.2.7请分析MaxCompute产品与分布式技术的关系,以及目前大数据计算平台产品市场现状及发展趋势1.2.8您如何理解大数据平台中的元数据管理,什么是元数据收集与管理系统,又会对大数据应用产生怎样的影响?从存储和计算方面总结了其他公司大数据平台的技术体系差异、发展趋势和技术瓶颈1.3.0在云计算大数据处理场景下,每天运行上千个任务,每个任务都要执行IO读写。为了提供更好的服务,存储系统往往会保证优先级高的任务优先执行。多个作业或用户访问存储系统时,如何保证优先级和公平性1.3.1最大频率栈1.3.2给定一个链表,删除链表的最后N个节点,返回链表的头节点1.3.3如果让你设计一个支持各种数据库秒级备份恢复的通用系统,你会如何设计1.3.4如果让你设计一个支持数据库间数据实时流动的数据流,NOSQL和大数据和系统打交道,你会考虑哪些问题?如何设计?1.3.5给定一个整数数组和一个整数,返回两个数组的索引,使得两个索引指向的数字之和等于指定的整数。需要最优算法,分析算法的空间和时间复杂度1.3.6如果给你一个新产品,你会从哪些方面保证它的质量?1.3.7请评价一下程序的执行结果?打开这些面试题,我们可以看到出题人和参考答案。比如打开第一题:“如何实现一个高效的单向链表倒序输出?”我们看到如下:问题:如何实现一个高效的单向链表倒序输出?提问者:阿里巴巴专家:云龙/阿里云弹性人工智能负责人参考答案:下面是其中一种写法,也有不同的写法,比如递归。以供参考。typedefstructnode{intdata;structnode*next;node(intd):data(d),next(NULL){}}node;voidreverse(node*head){if(NULL==head||NULL==head->next){return;}node*prev=NULL;node*pcur=head->next;node*next;while(pcur!=NULL){if(pcur->next==NULL){pcur->next=prev;中断;}next=pcur->next;pcur->next=prev;prev=pcur;pcur=next;}head->next=pcur;node*tmp=head->next;while(tmp!=NULL){cout<
