笔试
1.Java内存管理
2.hashmap,hashtable,ConcurrentHashMap,LinkedHashMap区别
3.异步模式的用途和意义
4.写字符串反转函数
5.final static volatile等修饰符的用法
6.常用的设计模式,并重点说明观察者模式
7.MVC框架
8.社交网站中的“私信“功能,要求高并发、可扩展等等。画一下架构图,和简单说明
9.消息中间件的用途,和自己用过一些消息中间件
面试
1.Mysql索引类型
2.一般索引和 联合索引内部机制上的区别
3.elasticsearch的倒排索引
4.redis的list结构相关的操作
5.redis cluster的应用和优劣势
6.给定一个不知道长度的(可能很大)输入字符串,设计一种方案,将重复的字符排重
7.常用的排序算法,快排,归并,冒泡,快排的最优时间复杂度,最差时间复杂度。冒泡的优化方案。
8.二分查找的时间复杂度,优势。
9.一个已经构建好的TressSet,怎么完成倒排序
10.大概说一下多线程架构模式,并继续追问了,对各种方式的对比。
11.redis使用什么注意点没有,比如redis的1K问题,redis键的推荐名方式等。
12.非常多个线程(可能是不同机器),相互之间需要等待协调,才能完成某种工作,问怎么设计这种协调方案。
13.Java同步机制的wait和notify