2020-09-19 06:48:50
进程线程:考查对进程和线程概念、区别、通信方式等的理解。
url全过程:需清晰阐述从浏览器输入url到页面展示的整个过程,涉及DNS解析、TCP连接、HTTP请求等。
HTTP/HTTPS:了解HTTP和HTTPS的协议特点、区别,HTTPS的加密原理等。
死锁:掌握死锁的概念、产生条件、预防和避免方法。
Java集合类:熟悉各种集合类的特点、底层数据结构、使用场景,如ArrayList、LinkedList、HashMap等。
MySQL语句执行流程:清楚MySQL执行SQL语句的流程,包括解析、优化、执行等阶段。
事务:理解事务的ACID特性,事务隔离级别及可能出现的问题,如脏读、不可重复读、幻读等。
Redis淘汰、过期:知道Redis的淘汰策略,如LRU、LFU等,以及过期键的处理机制。
设计登录系统算法:例如无序数组找topk,可使用快速选择算法等。
可靠性保证:了解Redis保证可靠性的方式,如持久化(RDB、AOF)、主从复制、哨兵模式、集群模式等。
zset:熟悉zset(有序集合)的数据结构、操作命令、应用场景等。
七层负载:基于应用层(如HTTP)进行负载均衡,可根据URL、域名等进行分发,常见的有Nginx等。
四层负载:基于传输层(如TCP)进行负载均衡,根据IP和端口进行分发,常见的有LVS等。
线程池:了解线程池的核心参数(如核心线程数、最大线程数、工作队列、拒绝策略等)、使用场景和优势。
JVM:熟悉JVM的内存结构(如堆、栈、方法区等)、垃圾回收机制、类加载机制等。
Hashmap:掌握Hashmap的底层数据结构(数组 + 链表 + 红黑树)、扩容机制、线程安全性等问题。
volatile:理解volatile关键字的作用(保证可见性、禁止指令重排序)、实现原理等。
分布式锁:了解Redis实现分布式锁的方式(如SETNX、Redlock等)、存在的问题(如锁超时、锁释放问题等)及解决方案。
mget的问题:mget命令用于批量获取键值,可能存在的问题有网络开销、Redis服务器性能瓶颈等。
多topic性能问题:了解Kafka多topic可能出现性能问题的原因,如磁盘IO竞争、网络带宽限制等。
性能快原因:Kafka性能快的原因包括零拷贝技术、顺序写入、批量发送、分区机制等。