3年Java后端开发面试题总结

3年Java开发经验面试题总结

毕业转行做开发3年以来, 学到了很多, 加上自己的兴趣爱好, 个人认为已经成为了一个合格的程序员.
与刚开始找工作面试相同的是都会问一些相同的问题, 不同的是现在面试官会更注重为什么, 也就是说注重深度而非广度. 3年, 5年, 10年分别是个人从事技术方面职业规划中的一个坎, 3年大部分时间应对了业务逻辑, 培养良好的规范和思想, 基础知识还是欠缺.
找工作时, 除了薪资符合个人职业规划也是相当重要的.废话少说, 以下是我前两天面试总结的面试题.

JavaSE

集合

  • hashmap结构及原理

    扩容因子, 如何扩容, 数据结构图….

  • ArrayList, LinkedList 原理及区别(画出数据结构)

    集合四要素: 是否可重复, 是否允许空值, 是否有序, 是否线程安全…

  • 线程安全集合,map 为什么是线程安全的, 哪些操作关系到线程安全

算法

  • 说几个常见的排序算法, 实现原理, 对应的时间空间复杂度, 稳定性
  • 手撕一个算法(书写): 可以选择冒泡
  • 递归算法

面向对象

  • 多态的表现
  • 面向对象特征
  • static的用法
  • String StringBuilder区别, 什么情况下用’+’. 最好答出javap编译后’+’实现原理

多线程

  • 线程的实现方式
  • 线程的状态
  • 常见线程池及使用
  • 一个线程结束开始另外一个线程的实现方式
  • 线程原理(ThreadLocal)
  • start与run的区别
  • 悲观锁乐观锁

IO流

  • 写一个读写文件

事务相关

  • 事务机制

    AB分别是一个事务, C里面有A, B, 如果C里A或B失败回滚C是什么状态

  • 什么是事务及使用场景

框架相关

Spring , MVC, MyBatis

  • 介绍下Spring以及其常用的注解, Spring IOC实现原理, AOP实现原理及使用场景, 依赖注入原理
  • Spring事务传播与隔离级别
  • MyBatis映射原理

分布式相关架构

  • 系统架构介绍, 架构设计图以及什么场景使用了什么架构

  • Dubbo机制, Zookeeper机制以及他们的关系

  • Redis数据类型以及使用场景, 刷新时间间隔
  • Kafka介绍及使用场景承担的角色
  • 讲述一下Storm

数据库

MySQl

  • mysql数据库存储类型及其优缺点

  • 分布式分片分库设计, 主从结构

其他

  • sql优化
  • 索引创建原则(手写一个SQL)
  • SQL集中DDL, DMl==
  • 建表的规则或者注意事项
  • 数据库隔离级别及原因

设计模式

  • 介绍下常见的设计模式以及使用场景
  • 写一个单例模式实现

通讯

  • HTTP相关介绍, GET, POST的区别

JVM相关

  • Java垃圾回收机制
  • Java内存结构(与回收机制有关)

其他

  • RBAC权限模型, 分布式Session实现
  • 常见linux命令(如何查看文件第200行, 如何查找文件)

写在最后, 两天面了四家有了3个offer, 其中京东的没过. 总结了一下, 京东这种互联网以技术驱动的公司会更注重个人的基础知识,自学能力以及动手能力, 他们会问的很细, 毫无准备的我, 应对起来相当吃力, 没过是正常.. 因为请假面试先探探行情, 所以并无准备, 很多东西答得不好, 但由于经验在这儿一般公司也就认同了, 不过这种情况下薪资会不是很理想, 建议还是多多准备.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值