备战金九银十,我总结了2019上半年100道Java后端研发面试题

2019-08-08 00:00:00 备战 我总 结了

“金九银十”跳槽季!跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来,期间也没有准备充分,到底是因为技术原因,影响自己的发展,偏移自己规划的轨迹,还是钱给少了,不受重视。准备不充分的面试,完全是浪费时间,更是对自己的不负责。今天给大家分享下整理的Java面试大纲,其中大部分都是面试过程中的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式。希望能帮助大家在”金九银十”的到来提供一些帮助!

JVM

  1. 说一下jdk的对空间的内存划分是怎样的?
  2. GC的回收流程是怎样的?
  3. 请解释StackOverflowError和OutOfMemeryError的区别?
  4. JVM的引用类型有哪些?
  5. 说说垃圾回收期的一些常见算法?
  6. 请你谈谈你对JVM的理解?Java8的虚拟机有什么更新
  7. JVM的常用参数调优你知道哪些?
  8. 内存快照抓取和MAT分析DUMP文件知道吗?
  9. 谈谈JVM中,对类加载器的认识
  10. 在JVM中,如何判断一个对象是否死亡?

Spring

  1. Spring是什么?
  2. Spring 的优点?
  3. Spring的AOP理解
  4. Spring的IoC理解
  5. BeanFactory和ApplicationContext有什么区别?
  6. 请解释Spring Bean的生命周期?
  7. 解释Spring支持的几种bean的作用域。
  8. Spring框架中的单例Beans是线程安全的么?
  9. Spring如何处理线程并发问题?
  10. Spring 框架中都用到了哪些设计模式?

Zookeeper

  1. zookeeper是什么框架?
  2. 有哪些应用场景?
  3. 使用什么协议?
  4. 说说分布式一致性算法Paxos
  5. 说一说选举算法及流程
  6. zookeeper有哪几种节点类型?
  7. zookeeper对节点的watch监听通知是永久的吗?
  8. 有哪几种部署模式?
  9. 集群中的机器角色都有哪些?
  10. 集群最少要几台机器,集群规则是怎样的

Redis

  1. 什么是Redis?
  2. Redis集群方案应该怎么做?都有哪些方案?
  3. Redis集群方案什么情况下会导致整个集群不可用?
  4. 怎么理解Redis事务?
  5. Redis key的过期时间和永久有效分别怎么设置?
  6. Redis如何做内存优化?
  7. Redis回收使用的是什么算法?
  8. Redis持久化数据和缓存怎么做扩容?
  9. Redis与其他key-value存储有什么不同?
  10. Redis是单线程的,如何提高多核CPU的利用率?

MySQL

  1. MySQL的复制原理以及流程
  2. MySQL中myisam与innodb的区别,至少5点
  3. MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义
  4. MySQL binlog的几种日志录入格式以及区别
  5. MySQL数据库cpu飙升到500%的话怎么处理
  6. 备份计划,mysqldump以及xtranbackup的实现原理
  7. MySQL 单表量级达到 5 千万以上,如何添加修改字段而不产生锁表?
  8. 生产环境下,变更 MySQL 的表结构步骤是什么?
  9. MySQL 建表的最佳实践是什么?
  10. MySQL 的表空间设置个和优化策略主要有哪些?

Docker

  1. 如何临时退出一个正在交互的容器的终端,而不终止它?
  2. 可以在一个容器中同时运行多个应用进程吗?
  3. 如何控制容器占用系统资源(CPU,内存)的份额?
  4. 仓库(Repository)、注册服务器(Registry)、注册索引(Index)有何关系?
  5. Docker的配置文件放在那里。如何修改配置?
  6. Docker与LXC(Linux Container)有何不同?
  7. 开发环境中Docker与Vagrant该如何选择?
  8. 使用docker build命令有几种方法构建镜像?(
  9. overlay文件系统里有个目录是upperdir,它里面装的是什么?
  10. swarm的调度模块的第一阶段,过滤器有几种?

分布式

  1. 多系统之间怎么实现通信的?A系统→B系统的服务
  2. Solr集群的搭建
  3. 请你谈谈对MQ的理解?以及你们在项目中是怎么用的?
  4. 请你谈谈单点登录的实现方案?你们怎么包括cookie的安全性?跨域取cookie的问题,你们怎么解决的?
  5. 请你谈谈购物车的实现方案?当商品信息发生变更,购物车中的商品信息是否可以同步到变化?
  6. 谈谈你对ThreadLocal的理解,以及他的作用
  7. 什么是幂等性?
  8. 分布式锁的实现形式?
  9. 分布式锁应该具备哪些条件?
  10. 分布式Session的几种实现方式

总结

最后再给大家总结一下面试要注意的地方:

  • 面试前,提前准备面试问题的回答,回顾好简历中的工作经历;
  • 面试的时候,自我介绍要表现出自己的热情、与岗位的匹配、以及自己的亮点及有趣的地方,牢记 WWHC,STAR 原则,从岗位、部门、企业层面提问面试官;
  • 心态平稳,不要在技术面试时因为有一个知识点的不清楚而在后面的问题也回答不好!

————END————   ↓↓↓”面试”

《备战金九银十,我总结了2019上半年100道Java后端研发面试题》

相关文章