Java一年两年工作经验面试题

21 篇文章 0 订阅

一年经验与应届生的区别,基础少了,项目多了

目录

 自我介绍

 项目

 Java基础

 进阶


 自我介绍

不管是几年都会自我介绍吧。。

 项目

  • 说说项目吧,项目的整体架构你了解多少(我觉得这个比较重要,如果你连你负责的项目整体的架构都不清楚,每天盲目的就负责自己的模块,让你做什么你就做什么,从来不对整个项目关心,说明工作态度不太。。。)
  • 说说你负责的模块
  • 说说你遇到的问题以及如何解决的(多少得说几个,不出问题的项目你觉得???)
  • 说说你负责得模块你认为比较好的地方
  • 在你介绍自己项目的途中,会根据项目中所用到的中间件问你(RabbitMQ、Redis、es等等)项目中用到什么问什么

Java基础

Java基础也会问,但不会那么的基础。

  • 反射:什么是反射,例如一个接口有两个实现类,如何根据业务需要,利用反射执行不同的实现类的方法(举例子 根据用户的积分多少,调用不同的实现类)
  • Spring相关的一些源码知识
  • 常用集合:底层是如何实现的,HashMap(问的比较多),HashMap Put的过程,发生碰撞会作什么,使用ArrayList如何保证线程安全。。。等等,***搜Java高级基础一大片。。
  • 你们用Jdk几?jdk8有那些特性,Stream用过吗,能列举几个你常用的方法吗(Stream没用过,只能说明你写的代码太。。不美观了吧,太费事了吧)。Lambda表达式?可以列举几个用到Lambda表达式的方法吗
  • 多线程,线程池(线程池有哪些设置参数),常用队列,拒绝策略,为什么选择他们。不同拒绝策略应用场景
  • Redis:五种存储类型,分别的应用场景,为什么,缓存雪崩,缓存穿透,你们是怎么解决的(解决办法),如何保证缓存与数据库的数据一致性,过期策略,内存淘汰机都有哪些,有哪些区别,那两种持久化方式有什么区别
  • 消息队列:RabbitMQ如何保证消息的幂等性,事务性,消费方消费消息的过程中出异常怎么办(ACK机制),线上你们的RabbitMQ宕机过吗,如何恢复消息的。
  • MySql:表连接的区别,遇到过慢查询吗,如何解决的,索引的底层是什么,B+树与B树的区别可以简单说一下吗?如何避免索引失效,说一说你分析一条SQL的流程或者说你写完一条SQL后会怎么做(Explain)

 进阶

  • 数据库某张表数据量太大了,你会怎么做,首先先分表,如何根据不同的用户插入到不同的表呢(Hash取余,类似于HashMap put时的操作)
  • 线程池遇到过死锁吗,你是如何解决的;synchronized 和Lock区别能简单说说吗?你们都用什么?为什么?
  • 数据库的表你有没有设计过,如果要是你根据一个新的业务场景设计表,你会怎样设计(围绕3NF)
  • 部署过项目吗,比如说我要把一个项目在一台服务器上开启多个,即多个端口吗,我如何指定他们(Java-Jar设置参数,别傻到说修改yml重新打包生成)
  • Linux常用的命令。查看端口号的命令是什么**(常问)
  • 了解过分布式吗,什么是分布式,为什么要使用分布式,常用的组件有哪些?

关于上方的问题,可以看我写的其他博客,链接如下

分治映射

redis过期策略淘汰机制,持久化,雪崩击穿

RabbitMQ

SQL优化

HashMap

一个接口两个实现类利用反射调用不同的实现类

线程池阻塞队列拒绝策略

Stream

 

差不多了吧,半个小时四十分钟的面试时间,一年两年的面试,觉得我写的不足的,欢迎大家留言。

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值