常见面试题

2016-09-09 11:26:22   最后更新: 2018-05-20 18:26:57   访问数量:1045




  1. 分段、分页是怎么实现的
  2. 分段、分页分别解决了什么问题
  3. 虚拟内存解决了什么问题
  4. 虚拟内存是如何实现的
  5. 虚拟地址、逻辑地址、线性地址、物理地址分别是什么

 

  1. mysql 索引使用的是B树、B+树、B*树还是红黑树?为什么?红黑树、堆、B树分别用在什么场景下
  2. 聚簇索引和非聚簇索引的区别,各有什么优势和缺点
  3. 怎么防止 sql 注入 (prepare)
  4. 四种隔离级别,什么是脏读、幻读
  5. 可重复读隔离级别如何解决幻读问题
  6. 怎么定位慢查询,如何解决慢查询,怎样保证平滑扩容
  7. mysql 产生死锁的原因

 

  1. redis的数据类型
  2. redis备份机制和优缺点
  3. redis的主从同步流程
  4. redis事务与 mysql 事务有什么不同,如何加强 redis 事务

 

  1. nginx 和 apache 的区别,为什么会有这样的区别
  2. nginx 定时器是用什么数据结构实现的,为什么不用堆

 

  1. java 自动拆箱装箱是怎么实现的,能分别举出自动拆箱、装箱的例子吗
  2. 内存分哪些区域,各分区在什么情况下发生内存溢出,jdk8 有哪些修改
  3. 垃圾收集器有哪些,分别使用什么收集算法,可能存在什么问题?
  4. hashmap 是怎么实现的?插入前扩容和插入后扩容的区别是什么
  5. java 开辟线程有哪几种方法,各有什么优缺点
  6. 如何拿到 java 线程返回值
  7. Exception 和 Error 的区别
  8. IOC 和 DI 的区别(IOC: 控制反转, DI: 依赖注入, DI 是 IOC 的一种实现方式)
  9. 对 IOC、AOP 的理解,怎么实现的 (IOC: 反射,AOP: 动态代理)
  10. java 动态代理是如何实现的,有几种实现方式?(jdk reflect、cglib)两种实现方式有何不同?各有什么优缺点
  11. HashMap、HashTable、ConcurrentHashMap 的区别(HashTable 锁全表,ConcurrentHashMap 写分段锁读不锁,HashMap 非线程安全)
  12. 线程池基本参数的意义 coreSize、queueSize、maxSize,工作流程,如何让线程池不使用队列
  13. sychronized 和 volatile 区别
  14. 生产者消费者模型的实现
  15. spring 的AOP的原理和使用以及spring的代理模式
  16. tomcat6的线程模型有什么问题
  17. tomcat 怎么设置最大线程数
  18. maven如何处理冲突
  19. HashMap在put方法做了哪些操作
  20. servlet 是单例还是多实例
  21. spring的bean的作用域
  22. spring常见的注解
  23. java 类加载机制,双亲委派模型

 

  1. maven 包加载顺序
  2. 如何解决冲突
  3. 如何实现两个同名包的不同版本同时被加载

 

  1. 消息队列、存储、网络等用过哪些分布式组件,他们的架构是怎么样的,是否分主从?主挂了会发生什么?
  2. 怎么存储分布式 web 架构的 session,怎么保证用户取到 session 的正确性
  3. memcached 和 redis 的区别,存储 session 用哪个更好
  4. 秒杀系统设计,如何防卖超?
  5. 吞吐量与QPS分别怎么计算
  6. 如何设计分布式锁
  7. 多个进程使用锁进行同步,某个进程获取锁超时会发生什么?某个进程获取锁以后挂掉,这之后会发生什么,会死锁吗?怎么避免死锁?
  8. 怎么实现分布式事务
  9. 分布式服务架构和dubo

 

  1. shell 统计 accesslog 中出现频率最高的10个url (sort | uniq -c | sort -nr | head)
  2. 统计一个目录下的代码总行数
  3. 怎么排查 CPU、内存过高的问题
  4. sed 替换所有文件中某字符串命令
  5. 查看占用端口的 pid
  6. kill -9 的 9 是什么

 

  1. tcp 三次握手、四次挥手
  2. epoll 和 select 区别是什么,分别在什么场景下性能更优
  3. tcp 怎么处理两端网速不一致的问题

 

  1. 如何容灾、降级、评估线上运行能力
  2. 如何做到接口防刷
  3. 大流量下如何保护后端服务

 

  1. 同步、异步、阻塞、非阻塞IO区别,多路复用IO是什么
  2. 正则表达式
  3. 如何实现 deamon 进程
  4. 判断两个单链表是否有重叠
  5. 判断单链表是否有环

 

 



1#StanleyHu: (回复)2016-09-11 22:00:52

请问java专题中,问题3的:HashMap插入前扩容和插入后扩容的区别是什么? 我理解的插入前扩容与插入后扩容,对于HashMap而言,插入前扩容是滞后处理了,插入前扩容是当前元素新增后发现已经达到装载因子的比重,因而立即扩容处理。这两种方式仅仅影响了临界元素跟临界元素后面一个请求新增元素的查询效率。 我没能想到影响是啥,或者提问者想要考察的key point是什么,麻烦解释一下啊~~~

京ICP备15018585号