{eval=Array;=+count(Array);}
很久没有面试过一年Java开发经验的小伙伴了,那如果你是一年开发经验,并且已经通过了前面的初筛,也就是已经约好面试时间了。
现在开始咱们的面试。
面试官:您先自我介绍一下吧~
候选人:我毕业于xx大学计算机科学与技术专业,工作经验一年,工作期间主要负责xx项目的xx功能开发。熟悉的技术栈有Java基础,集合,多线程等知识,熟练使用SpringBoot框架。
PS:废话不要多说,说你真实的开发项目经验和你真正熟悉的技能栈。
面试官:ok,好的,那咱们先聊点Java基础吧,HashSet在项目中用过吗?它的底层实现你了解吗?
候选人:HashSet底层是HashMap,HashSet里的每一个元素就是HashMap里面的key。
面试官:那比如现在我要装一个User对象进去,比如Set<User> users = new HashSet<>(10);那么对于这个User对象有没有什么要求?
候选人:需要重写hashCode和equals方法。
面试官:ok,为什么要重写hashCode和equals方法呢?
候选人:首先,HashSet的特性是不可重复的并且是无序的。因为它的底层是HashMap实现的,HashMap的key就是HashSet的元素,所以他无法保证有序。那不可重复的就是当我们put一个KV数据到HashMap中去的时候,首先需要计算这个key的hashcode,然后在和当前hashMap的容量-1作与元算,即hashcode(key) & (n-1)来计算出他所在hashMap数组中的下标位置,这就是为什么要实现它的hashcode方法。那为什么还要实现equals方法呢?因为hashcode方法存在哈希冲突,无法决定一个对象的唯一性。
ps:能说到这你就成功了一半了!但是还没结束,因为面试官想知道你到底了解多少!
接下来会是什么问题呢?
先就这些吧,上面你能聊到哪就聊到哪,都是Java基础,不会了咱就停止,换一个方向~
后面会在问你数据库方面的知识,比如Innodb存储引擎的实现原理,B+树,为什么不用B树、二叉树等等。
什么是聚集索引、什么是非聚集索引、覆盖索引?回表是什么意思?
还有很多数据库的知识,有一句话叫做:“你会的越多,你不会的越多!”
如果上面你都ok,不需要问你项目经验,来干活吧!毕竟你只有一年工作经验,没啥项目可问的,又不是你主导的。
实在上面答的不好,只能问问你项目中的开发思路怎么样了,会尝试找你开发功能的漏洞,看你怎么临场发挥,说说你的思路,看看你的逻辑思维是否严谨。
以上,看看是否你都会,如果你都会,抓紧学习更多的知识去!如果你不会,抓紧学习更多的知识去!学无止尽~
上面的那些,由浅入深,五年十年的都可以问,有人说工作很多年的没必要问这些基础,我不这么认为。如果你开发多年,这些基础我认为你应该是深入骨髓的,无须准备便可脱口而出的,其他任何理由都是借口。
1、java基础知识是重点,例如集合、多线程、IO等基础知识的掌握程度。
2、框架方面,例如spring,mybatis,springboot等使用的熟练程度和对其理解程度。
3、部署方面,例如tomcat、linux等了解多少。
4、数据库方面,例如基本的增删改查,对sql优化了解多少,对索引了解多少
5、解决问题方面,例如:说说你遇到的很难处理的问题,怎么解决这个问题的?
6、对项目的熟悉程度,这个是看你是否真的做过项目。
注:看过源码,了解底层,对框架的原理理解很深会是加分项。
问点JAVA基础知识,偏向规范类的
问点你简历上做过的内容
问点数据库基础,多表查询,汇总之类的
问点框架实际用到的(结合将要安排你的工作内容问)
说明:一年工作经验太深的内容没什么可问的。不想面试造火箭,工作拧螺丝的那种。既然筛选让来面试,你之前一年多工作经历很契合现在公司的业务,所以问点实际的。性格好,好培养,脚踏实地爱学习就可以。
当然了,每个公司对一年开发经验的工程师所必须掌握的技能定义是不一样。
作为面试官,就拿我们公司来说吧:首先重要的是逻辑思维要清晰,其次我们再说技能吧。
都是虚拟机之类的,我面试神舟航天的实施,问的都是很底层的东西,还有学好linux,数据库,开发的话应该会问一些框架吧,分公司,要是普通公司问ssm,要是好一点可能会springcloud之类的,还是看个人能力,因为都不咋会,还得进企业去锻炼,建议一般不要从事软件工程专业。
java的基础方面的:
String,StringBuffer,StringBudilder区别
ArrayList,vector 等的区别
hashMap,hashTable 的区别
多线程的实现方式和方法了
传参数方面的 :
考传的是本身还是副本
如 a(String value); a方法的value参数是传本身还是副本
框架知识:
比如spring 依赖注入,事务深入点的话 拦截器等
db方面的:
简单考下你的sql , 可能会写几个表 要查什么让你写sql 主要考多表连接查询,分组,分组后的查询,排序,取最大最小之类的 看你sql熟练否
0
回答0
回答0
回答0
回答0
回答0
回答0
回答10
回答0
回答0
回答