中高级java工程师面试问题清单

项目:

  • 闪光项目,在其中的职责,解决了什么问题,达到了什么样的效果,有什么样的展望。
  • 找出与我司切合的项目,问下对方在其中的贡献,以及看法;
  • 对软件开发流程的看法,之前公司中在项目流程中引入的较好的工具或者方法,是否有自己独到的一些看法;

基础&框架:

  • Java集合框架:使用细节以及底层的一些源码级实现细节;
  • Java多线程框架:关键概念,常用组件,实现方式;
  • 正则表达式:基础的正则表达式(做过爬虫的可以考虑高阶);
  • Tcp相关:连接时三次握手和断连时四次挥手,长连接&短连接,IO模型;
  • Http相关:servlet规范涉及的常用类,http相关问题(请求方法区别,缓存,常用参数);
  • Spring框架:核心概念,事务框架的理解,调度服务框架的理解;
  • Activiti框架:核心概念,业务场景,常用类的一些用法和问题;
  • 设计模式和设计原则;

中间件:

  • MQ:使用过的MQ的业务场景以及关键概念,与其他MQ的对比;
  • Lucene:Solr、Es的业务场景和关键概念;
  • Cache:Redis的业务场景、常用方法、使用规范、分布式锁;
  • Web-Server:nginx和tomcat使用熟练程度,常用配置;

数据库:

  • 写一些简单的sql,考察group-by,常用函数等;
  • 调优方面的经验;
  • 数据库集群使用程度;

分布式:

  • 分布式相关的概念,使用到的框架;

问题定位、跟踪:

  • 常用的linux命令行工具,jdk命令行工具;
  • 排错的基本流程,以及在各个步骤中使用到的关联工具;

算法题:

  • 基本算法题:查找、排序;

设计题:

  • 操作日志实现;
  • 定时任务调度实现;
  • 限流器设计实现;
  • 并发支付设计实现;
  • 秒杀设计实现;

你可能感兴趣的:(中高级java工程师面试问题清单)