2018是我工作的第三个年头,因为公司和个人的原因错过了金三和银四,感到些许的遗憾!本以为今年不会跳槽了,但是最近突然心血来潮投投简历,发现现在工作还不算太难找,从开始投简历到拿到offer经历了一个星期的时间,期间拿到了两个offer具体什么公司就不说了!还有几个公司的面试没有去参加!
首先介绍一下我自己的情况 ,java后台开发工程师,将近三年的工作经验,本科非专业出生的程序渣渣一枚,毕业以后一直在一家创业公司工作!所以在技术上面和各位大佬还有点差距,下面我总结一下我最近这一个星期面试所遇到的面试问题,因为我也快有三年工作经验了,所以面试官不会问一下很基础的问题比如String ,StringBuffer,StringBuilder区别之类的问题,一般都是问的都是原理方面的东西!

问题

一、项目

1、说说你最近做的项目
2、你负责那些模块或者说你完成了哪些功能
3、项目使用了那些框架以及技术
4、描述你一个功能的实现细节
5、现在然后实现一个消息列队你你应该注意那些细节
6、服务间调用最长的链路是什么,请说一下
7、怎么理解sass(因为我说们项目是sass模式的)
8、说个你最得意的东西,如果我不知道就更好了。。
这是我被问到的一些项目上的问题,然后面试官会从你的回答中继续的深入问下去,所以大家一定要注意,千万不要给自己挖坑,说自己知道的就行了,切记不要装逼不要吹牛逼,不然被问的卡住了就尴尬了,还会让面试官觉得你这个人不靠谱。

二、java基本功

1、java集合框架,set数据结构等等集合框架的问题
https://www.cnblogs.com/xiaoxi/p/6089984.html
这个问的比较少,只有阿里巴巴的口碑外卖电话面的时候问过
2、HashMap的原理
扩容机制
hash碰撞了怎么办
java1.8 为什么要使用红黑树(hash dos 攻击和性能,跟hash碰撞有关)
3、final,finally,finalize的区别
这个是在问jvm 顺道问到了
java 问的不是太多就问了这几个

三、并发的问题

1、说说JUC
2、知道AQS吗
3、CurrentHashMap原理
问了HashMap之后问的这个
4、synchronized干什么的,原理是什么,以及锁什么优化
5、volatile干什么的?原理是什么?
6、cas?cas有什么缺陷(ABA)如何解决
7、HashTable怎么加锁
8、如果在所线程下保证++i的结果正确,解释一下原理

四、jvm

1、说一下jvm内存模型,以及每个区域的作用
请参考《深入理解jvm虚拟机》
2、垃圾回收的种类
Major GC, Full GC
3、说一下垃圾回收算法
4、垃圾收集器
5、怎么回收?
标记之后会用一个队列放置这些对象,然后以后线程在后台默默的回收(这是面试官告诉我的)
6、现在程序有内存泄漏,怎么查找原因
使用MAT或java自带工具或jprofiler等等
7、类加载的过程
8、volatile在虚拟机的怎么实现

五、数据库

mongo(因为我说我过我使用过,这个一般问的很少)
1、说说MongoDB的好处,使用场景。你理解的MongoDB跟mysql等的不一样的地方
2、mongDB的数据结构
3、mongoDB表设计的原则
4、mongoDB和redis都是非关系性数据库,为什么使用Mongo而不使用redis(从数据库的特性来说)
5、使用过管道吗?原理是什么
6、Mongo建索引的原则,什么列不能建索引
mysql
1、知道三大范式吗
2、说说你知道的数据库优化
3、上个问题肯定会涉及到索引,那么面试官又会问,索引有哪几种
普通索引,唯一索引,主键索引,复合索引,全文索引
4、索引使用原则,应该注意什么
5、索引可以建哪几种,hash和BTree,他们各自的特点
6、聚集索引和非聚集索引
7、怎么做慢查询
8、默认的隔离级别是什么,怎么解释这个。
redis
1、redis是什么io模型
多路复用单线程模型
2、redis的使用场景
3、redis的数据类型
4、redis的过期机制

六、框架

spring
1、spring的注解实现原理
2、springbean 的什么周期
3、spring怎么做全局异常处理
hibernate
1、   说下 Hibernate 的缓存机制  
这个我被问的少
mybatis
这个我们使用过所以没人问
shiro
1、介绍下shiro
2、shiro怎么使用的
activeMq
1、为什么使用
2、好处
3、设计的时候应该考虑什么
4、怎么保证消息的幂等
等等使用过的框架,面试官也会问的比较深,都到原理了。

七、分布式

1、怎么理解微服务
2、怎么理解分布式
3、分布式事务怎么做
4、介绍一下你知道的选举算法
我只知道paxos而且还讲不清楚
5、介绍下你们系统的架构
6、怎么保证系统的高可用
7、使用什么框架搭建的
8、为什么使用springCloud而不是用dubbo和zookeeper
9、springcloud使用了哪些组件,叙述一下其中一个的原理
我讲的是feign
10、负载均衡怎么做的

八、web

1、http get和post区别

2、cookie被劫持怎么办

3、前端发起请求到后台的整个流程

总结

因为只面试了五家公司所以遇到的问题可能不太全面,但是也能反映三年的java后台开发需要什么,不管是在java基础、开源框架还是在数据库方面都需要了解原理,而不是只是停留在使用的阶段,如果能够读过一些源码就更好了!最后说一句,面试的时候千万不要装逼不知道就说不知道,谦虚一点,一般面试你的人都会比你牛逼!

2018 5月面试总结-java三年相关推荐

  1. 【面试】JAVA三年经验面试题

    整理一下最近面试遇到过的问题,有一些想不起来了,希望能给大家一点帮助吧,也给自己留个底,嘿嘿,平时还是得多注意知识的积累,以及技术细节 - 1.JAVA基础类型各占几个字节? bit 字节 int 3 ...

  2. 金三银四过后整理出的阿里最新Java程序员面试题目(2018.4月)

    目录 技术一面(23问) 技术二面(3大块) 性能优化(21点) 项目实战(34块) JAVA方向技术考察点(15点) JAVA开发技术面试中可能问到的问题(17问) 阿里技术一面 Java IO流的 ...

  3. Oracle已从2019年1月起收取Java费用

    Oracle (甲骨文)近日宣布,"2019年1月之后",如果没有他们的商业许可证,JavaSE 8 将不会再收到公开更新,也将无法用于"商业,商业或生产用途" ...

  4. IntelliJ IDEA 2018.2 发布,支持 Java 11

    转载自   IntelliJ IDEA 2018.2 发布,支持 Java 11 近期,JetBrains发布了其旗舰产品IntelliJ IDEA的2018.2版本.新版本支持即将推出的Java 1 ...

  5. java 父子级json组装不用递归_2020面试阿里Java研发岗题库总结,想虐面试官不能错过的面试宝典...

    前言: 虽然天猫,蚂蚁金,菜鸟都归属阿里旗下,但每个面试官问的问题都不一样,相同点主要在流程方面.面试开始会让自我介绍,主要业务架构和技术架构两部分.业务架构一般不会深究,但要面试官听明白,并且一般面 ...

  6. 面试 | #面试面试面试 做#Java 就是要这种不要脸的…

    Hi! 我是小小,今天是本周的第二篇,昨天的阅读量效果不好,小小在此道歉,开始本周的第二篇. 公司到底需要什么样的Java人才,嗯,对,公司就是需要这种不要脸的Java人才,小小从茫茫人海中,找到了一 ...

  7. 2018前端开发面试备忘录(1年以上经验初中级别前端开发)-面试篇

    2018前端开发面试备忘录-面试篇 -面试篇 -简历篇 -跳槽选择篇 18年过年之前离职了,在家闲着也没事就去面试了下,试试水. 2018前端开发面试备忘录,主要是查漏补缺,我自己的面试作答,后面会在 ...

  8. 最新--2018下半年Android面试历程(转载)

    2018下半年Android面试历程 转自: ___chenxk  https://blog.csdn.net/qq_18242391/article/details/83928738,如有侵权即删 ...

  9. TIOBE 11 月编程语言:Java 首次跌出前二;基于Pytorch的Kornia可微分计算机视觉库开源...

    开发者社区技术周刊又和大家见面了,萌妹子主播为您带来最新一期"开发者技术联播".让我们一起听听,过去一周有哪些值得我们开发者关注的重要新闻吧. TIOBE 11 月编程语言:Jav ...

最新文章

  1. [code]代码格式1
  2. 【工具类】加密工具---MD5使用
  3. 转载--How to Install VMware Tools on CentOS 6.3
  4. Stanford机器学习笔记-1.线性回归
  5. 删除数据库中所有存储过程和函数的sql语句
  6. 使用Data Profile进行数据剖析
  7. idea java xml文件内容_idea 中web.xml 文件的标签疯狂报错
  8. 数据结构与算法笔记(四) 循环链表和双向链表
  9. uvc能支持多大分辨率_微信发送的视频不能大于25M?原来改个后缀就能发送,涨知识了...
  10. 乌班图系统安装到U盘
  11. 微信小程序常用UI组件库
  12. Android开源库——xUtils框架
  13. 基于Pytorch实现的声音分类
  14. Linux环境,使用convert命令批量转换JPG图片——缩小图片尺寸
  15. NRF24L01 无线模块
  16. CSS实现空心三角指示箭头
  17. java获取微信用户源码_Java微信公众平台开发(十)--微信用户信息的获取
  18. Linux磁盘分区命名方式及常用磁盘管理命令
  19. 技术前言 - AI相关公司简介
  20. 计算机专业英语题库,背诵核心知识

热门文章

  1. java 集成 模板类_几个使用JDBC Template常用的工具类
  2. 手写linux系统,手把手教你 从零开始手写redux
  3. matlab终止调试的快捷键,8 个节省时间的MATLAB快捷键
  4. 【K8S系列】如何高效查看 k8s日志
  5. C语言赋值运算符和赋值表达式
  6. arcgis如何打开tif_ArcGis安装指南
  7. 家庭全光纤万兆网络搭建保姆级攻略
  8. Unity3D Shader系列之圆环
  9. 03-线程的核心原理
  10. 安全防范:安全配置Windows Server 2003服务器【图】 - [杀毒防范技巧]