最新头条三面面试题汇总
往期全套面试题+答案领取方式:关注公众号【Java烂猪皮】后台回复【666】
头条一面
特别说明:头条是唯一一家需要你的代码在牛客网那个IDE下AC的公司,直接面试官可能会给你测试样例让你测试,一般给20分钟
算法:找零钱
Redis为什么这么快?多路复用io模型?跟多线程对比?select epoll模型?
epoll怎么实现的?都用了哪些存储结构?什么时候就绪事件?回掉函数在哪里注册?epoll是怎么使用的步骤?epoll wait干了什么?给redis服务端发送get数据请求,是如何处理的?zset数据结构是什么样的?为什么采用跳表?insert一个数据是怎么样的流程?get一个数据是怎么样的流程?多级索引是怎么更新的?如何确定一个数据在第几层?各自的时间复杂度是多少?你觉得还有什么优化的地方?
Redis的高性能是怎么实现的?多主多从?一主多从?各自插入一个key的时候是什么样的流程?主从复制是什么样的?怎么强一致性?什么情况下不适合?主挂了,各自的选举是什么样的?怎么完成主备切换的?如果主挂了,从没复制完全,会出现什么问题?什么样的情况下可以使用这样的组群方式?什么样的情况下不适合?
raft协议 paxos算法
http状态码 300 400 500 499
dos ddos drdos 如何避免?怎么预防?怎么发现?利用了TCP什么特点?怎么改进TCP可以预防?服务端处理不了的请求怎么办?连接数最大值需要设置吗?怎么设置?
Thrift RPC过程是什么样子的?异构系统怎么完成通信?跟http相比什么优缺点?了解grpc吗?
https http1.1 2.0 3.0
hashmap如果的确需要很大容量的数据去操作的时候,怎么办?怎么优化?
头条二面
linux fork子进程 如果在线程中fork会怎么样?如果总共就4g内存,一个进程有10个线程,在线程中fork,能不能fork出来?
TCP连接server端跟client端都有几种状态
linux作为client端可以最多建立多少个tcp连接?作为server端呢?
建立tcp连接时,如何connect时候阻塞了,那么怎么能不阻塞,去干别的事情?
linux怎么监控cpu运行情况?端口连接情况?tcp连接情况?占用了多少内存?
epoll 多个请求怎么处理?fd什么时候可读,什么时候可写?epoll模型有没有用到什么队列去等待的,来一个请求处理一个吗?能写处理流程的一些伪代码吗?
Redis是怎么处理请求的?单机的qps是多少?如果一直用get,你觉得达到qps的顶点,它的限制点在哪里?怎么能够突破峰值qps?怎么用单线程处理的请求?如何解决单机qps达到峰值的问题?
redis分布式锁,怎么样实现?怎么理解?不用redis可以吗?有什么问题?生产上出现过问题吗?为什么会出现?怎么优化?考虑过zk吗?单机redis分布式锁?集群状态下分布式锁?主从下分布式锁?都是什么情况?redlock怎么理解?
系统怎么算高可用?多部署机器能实现什么?有什么弊端?有什么优势?怎么实现高可用?多部署机器能实现高可用吗?熔断机制是什么?怎么实现?
头条三面
算法:两个有序数组间相加和的Topk问题
分库分表 数量级 系统qps 聚合怎么做?
扩容怎么做?
redis 淘汰策略?超过最大内存限制发生什么?redis什么时候会慢?redis持久化机制
nosql es能解决什么问题?hbase呢?
强一致性?弱一致性?适用什么场合?***web端怎么实现强一致性?怎么设计缓存?
腾讯、阿里、滴滴后台面试题汇总总结 — (含答案)
面试:史上最全多线程面试题 !
最新阿里内推Java后端面试题
JVM难学?那是因为你没认真看完这篇文章
关注作者微信公众号 —《JAVA烂猪皮》
了解更多java后端架构知识以及最新面试宝典
看完本文记得给作者点赞+在看哦~~~大家的支持,是作者源源不断出文的动力