1、基础题
2、网络基础
• HTTP、TCP、UDP的区别和联系;
• TCP和UDP各自的优势,知道哪些使用UDP协议的成功案例;
• TCP和UDP各用了底层什么协议;
• 单个UDP报文最大容量;
• 单个TCP报文最大容量;
• TCP报头格式、UDP报头格式;
• Server遭遇SYN Flood应当怎么处理;
• Web开发中如何防范XSS?
• 拆包和粘包的问题,如何解决,如果我们的包没有固定长度的话,我们的应用程序应该如何解决;
3、操作系统
4、分布式其他
• 分库与分表带来的分布式困境与应对之策;
• Solr如何实现全天24小时索引更新;
5、Redis
• Redis插槽的分配(key的有效部分使用CRC16算法计算出哈希值,再将哈希值对16384取余,得到插槽值);
• Redis主从是怎么选取的(一种是主动切换,另一种是使用sentinel自动方式);
• Redis复制的过程;
• Redis队列应用场景;
• Redis主节点宕机了怎么办,还有没有同步的数据怎么办;
6、系统设计开放性题目
7、大数据量问题(后边会有专题单独讨论)
• 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
• 海量日志数据,提取出某日访问百度次数最多的那个IP;
• 一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析。
此话题后边会有专门的文章探讨,如果有等不及的小伙伴,可以移步参考:
1、
2、
8、逻辑思维题
• 有两根粗细均匀的香(烧香拜佛的香),每一根烧完都花一个小时,怎么样能够得到15min?
• 假定你有8个撞球,其中有1个球比其他的球稍重,如果只能利用天平来断定哪一个球重,要找到较重的球,要称几次?(2次);
• 实验室里有1000个一模一样的瓶子,但是其中的一瓶有毒。可以用实验室的小白鼠来测试哪一瓶是毒药。如果小白鼠喝掉毒药的话,会在一个星期的时候死去,其他瓶子里的药水没有任何副作用。请问最少用多少只小白鼠可以在一个星期以内查出哪瓶是毒药;(答案是10只)
• 假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水;
5-》6 6差1满
5-》6 6满5剩4
6倒掉,5剩4倒入6,6差2满,5取满倒入6,5剩3