-
导致线程死锁的原因?怎么解除线程死锁。
-
非常多个线程(可能是不同机器),相互之间需要等待协调,才能完成某种工作,问怎么设计这种协调方案。
-
用过读写锁吗,原理是什么,一般在什么场景下用。
-
开启多个线程,如果保证顺序执行,有哪几种实现方式,或者如何保证多个线程都执行完
-
再拿到结果。
-
延迟队列的实现方式,delayQueue和时间轮算法的异同。
-
点击这里有一套答案版的多线程试题。
TCP与HTTP
========
-
http1.0和http1.1有什么区别。
-
TCP三次握手和四次挥手的流程,为什么断开连接要4次,如果握手只有两次,会出现什么。
-
TIME_WAIT和CLOSE_WAIT的区别。
-
说说你知道的几种HTTP响应码,比如200, 302, 404。
-
当你用浏览器打开一个链接(如:http://www.javastack.cn)的时候,计算机做了哪些工作步骤。
-
TCP/IP如何保证可靠性,说说TCP头的结构。
-
如何避免浏览器缓存。
-
如何理解HTTP协议的无状态性。
-
简述Http请求get和post的区别以及数据包格式。
-
HTTP有哪些method
-
简述HTTP请求的报文格式。
-
HTTP的长连接是什么意思。
-
HTTPS的加密方式是什么,讲讲整个加密解密流程。
-
Http和https的三次握手有什么区别。
-
什么是分块传送。
-
Session和cookie的区别。
-
点击这里有一套答案版的试题。
架构设计与分布式
========
-
用java自己实现一个LRU。
-
分布式集群下如何做到唯一序列号。
-
设计一个秒杀系统,30分钟没付款就自动关闭交易。
-
如何使用redis和zookeeper实现分布式锁?有什么区别优缺点,会有什么问题,分别适用什么
-
场景。(延伸:如果知道redlock,讲讲他的算法实现,争议在哪里)
-
如果有人恶意创建非法连接,怎么解决。
-
分布式事务的原理,优缺点,如何使用分布式事务,2pc 3pc 的区别,解决了哪些问题,还有
-
哪些问题没解决,如何解决,你自己项目里涉及到分布式事务是怎么处理的。
-
什么是一致性hash。
-
什么是restful,讲讲你理解的restful。
-
如何设计一个良好的API。
-
如何设计建立和保持100w的长连接。
-
解释什么是MESI协议(缓存一致性)。
-
说说你知道的几种HASH算法,简单的也可以。
-
什么是paxos算法, 什么是zab协议。