Point of attention, do not get lost; continually updated Java-related technologies and information architecture thermal paper! ! !
Sharp-eyed friend may also see this blog page upper left corner there are surprises yo
A basic knowledge of:
- Collections: List Set and comparison, comparing respective sub-classes (ArrayList, Vector, LinkedList; HashSet, TreeSet);
- The realization of the underlying HashMap, then ask the underlying implementation of ConcurrentHashMap;
- Sequentially storing how HashMap: refer to the underlying implementation of LinkedHashMap;
- HashTable and ConcurrentHashMap difference;
- String, StringBuffer and StringBuilder difference;
- What method of Object: for example, there are methods wait, why are there;
- Difference wait and sleep, you must understand;
- The memory structure JVM, the JVM algorithm;
- Strong references, cited the difference between soft and weak references;
- How to allocate the array in memory;
- What design pattern used, a handwriting (except single cases);
- What is the core springmvc that the request process is how to deal, how to achieve inversion of control;
- What is the principle spring aop is inside;
- How mybatis result set: reflection, it is recommended to see the source code;
- Where java multi-state performance;
- What is the use interfaces;
- Talk http, https protocol;
- tcp / ip protocol stack;
- osi five network protocol;
- tcp, udp difference;
- What used encryption algorithms: symmetric encryption, asymmetric encryption algorithm;
- Tcp talk about the three-way handshake, waving four times;
- The difference between cookie and session, distributed environment how to save the user state;
- git, svn difference;
- Please write a stack overflow, heap overflow in the code;
- ThreadLocal it can be used to share data;
Second IO:
- bio, nio, aio difference;
- nio framework: dubbo implementation principle;
- Jingdong internal communications protocol jsf What to use: See the protocol dubbo;
Three algorithms:
- java heap and stack often said, what are the data structure; In addition, why is divided into the heap and stack to store data.
- How to insert data TreeMap: binary tree l, d, ambidextrous;
- After a sorted array, insert data, what methods can be used? A: The dichotomy; Q: How much time complexity?
- 平衡二叉树的时间复杂度;
- Hash算法和二叉树算法分别什么时候用;
四. 多线程相关:
- 说说阻塞队列的实现:可以参考ArrayBlockingQueue的底层实现(锁和同步都行);
- 进程通讯的方式:消息队列,共享内存,信号量,socket通讯等;
- 用过并发包的哪些类;
- 什么地方用了多线程;
- Excutors可以产生哪些线程池;
- 为什么要用线程池;
- volatile关键字的用法:使多线程中的变量可见;
五. 数据库相关(mysql):
- msyql优化经验:
- mysql的语句优化,使用什么工具;
- mysql的索引分类:B+,hash;什么情况用什么索引;
- mysql的存储引擎有哪些,区别是什么;
- 说说事务的特性和隔离级别;
- 悲观锁和乐观锁的区别,怎么实现;
六. mq:
- mq的原理是什么:有点大。。都可以说;
- mq如何保证实时性;
- mq的持久化是怎么做的;
七. nosql相关(主要是redis):
- redis和memcache的区别;
- 用redis做过什么;
- redis是如何持久化的:rdb和aof;
- redis集群如何同步;
- redis的数据添加过程是怎样的:哈希槽;
- redis的淘汰策略有哪些;
- redis有哪些数据结构;
八. zookeeper:
- zookeeper是什么;
- zookeeper哪里用到;
- zookeeper的选主过程;
- zookeeper集群之间如何通讯;
- 你们的zookeeper的节点加密是用的什么方式;
- 分布式锁的实现过程;
九. linux相关:
- linux常用的命令有哪些;
- 如何获取java进程的pid;
- 如何获取某个进程的网络端口号;
- 如何实时打印日志;
- 如何统计某个字符串行数;
十. 设计与思想:
- 重构过代码没有?说说经验;
- 一千万的用户实时排名如何实现;
- 五万人并发抢票怎么实现;