面试经验分享(个人真实经历)
本文是个人面试的真实经验,在这里与大家分享,希望可以帮到最近正在求职的小伙伴们,如有逻辑或者答案不对的地方,欢迎大佬们指正,我们一起进步哈!
Java基础面试题肯定是要掌握的(不然初试就凉凉)
所谓的初试,大部分是那些hr沟通后进行的电话面试,或者是在第一次电话联系中和你说明他们公司需求后的情况下随机问的一些问题,目的是测试你是否有任职这个岗位的基础能力(说白了我感觉是在试水),下面分享一下我初试问到的问题:
一. 电话面试真实被问过的问题(平均面试时间大约在20分钟左右):
- 有了解过Java的集合吗,能不能概括说一下都有什么?
- HashMap和HashTable有什么区别吗?能简单说说吗?
- 当你说了某个集合后,面试官会问:“那你了解过他的底层原理吗?例如HashMap为什么采用数组加链表的树结构?”
- 那你除了XXX集合还了解过其他的吗?
- 你说的这些那些是线程安全的,哪些是不安全的?哪些是有序的,哪些是无序的?
- 一般都用什么框架呢?分布式掌握的怎么样?有涉及过吗?
- SpringMvc了解吗?能简单说一下它的运行流程吗?
- 看你写简历上有写用过SSM,能说一下Mybatis吗?
- MyBatis的二级缓存了解过吗?可以简单解释一下吗?
- AOP和IOC知道吗?可以说一下吗?
- MyBatis里${}和#{}的区别?什么是SQL注入?
- Spring的常用注解知道多少,可以说一下吗?
- 你觉得Spring好在哪里?
- 有用过SpringBoot吗?能简单说一下它的启动原理吗?
- SpringBoot的常用注解能说一下吗?
- 数据库用的什么?对数据库这方面能力怎么样?
- MySql的存储引擎有什么?有什么区别?
- 可以说一下数据库优化吗?有什么优化方式?
- 索引了解过吗?创建索引有什么前提或者是原则要求吗?
- 事务隔离级别知道吗?每个级别会引发什么事情?MySql的默认级别是什么?
- 乐观锁和悲观锁知道吗?请简单说一下
- 行级锁和表级锁了解过吗?怎么实现的知道吗?
- sql语句优化掌握多少,说一下一些你用过的关键词?
- 什么是视图知道吗?
- 那数据库的三范式了解过吗?
- 非静态资源可以调用静态资源里的常量吗?
- 有用过redis吗?redis的持久化机制有了解过吗?
- redis的数据类型?以及应用场景?
- 可以解释什么是缓存雪崩吗?什么是缓存穿透?
- 你之前写的项目有用到redis吗?如果有的话为什么要用呢?起到什么作用呢?
- 消息队列有接触过吗?你一般都用什么中间件?
- 前端框架了解多少?用过JQuery吗?
- jvm了解吗?
- 有用过多线程吗?用来干嘛的?
- GC垃圾回收处理机制了解吗?能简单说说吗?
- 微服务了解吗?
- Http协议和Tcp协议了解吗?他们有啥区别吗?
- linux有用过吗?简单的操作指令知道吗?
- sychronized和lock有什么区别吗?你常用的是哪一种?
- Zookeeper有用过吗?
- 你平时都怎么创建线程的?有哪几wen种方式?
- String\StringBuffer\StringBuilder的区别?
个人总结:
个人感觉问的都是一些简单基础的知识,回答的不需要特别的深,但是一定要表达清楚;大部分hr应该问的都是他们觉得需要的技术的基础问题,当然不包括自己简历上写自己所掌握的技术栈,过程中要自信一点,不要回答的太流畅,会被认为在背书,也不要一直支支吾吾,那样会被认为不够熟悉,能力较强的可以把个别的问题和项目连起来解释,通俗的解释我觉得比官方的好一点。
对自己的项目要有一定了解,简历上的技术栈把自己熟悉的放在前面,不熟悉的尽量不要写,避免给自己挖坑。
二、复试被问的问题总结(就是电话面试后来电话通知现场面试或者视频面试的)
复试的问题大部分都是面试官对着你的简历问的一些问题(可以理解为对基础理论问题的升级版),有的公司喜欢问项目里的技术点,还有的也喜欢问项目里的细节问题。话不多说,咱们直接切入正题(实际情况还是按照大家自己的简历上的技术栈内容,下面是本人的大致内容,大家可以参考一下):
- 看了你的简历,上面有写了解一些前端的基础?能说下JQuery的构造器和选择器吗?常用的哪几种?
- 能不能说一下你上一个项目遇到的技术难点?有解决吗?怎样解决的?
- Spring常用注解可以说一下?@Autowired注解了解过吗,可以解释一下吗?一般用在什么地方?如果我现在在Service层里放一个这个注解,然后下面放一个自定义方法,里面写了一个输出语句,运行时候能输出来吗?
- 如果我想在spring boot里面创建一个Bean,该怎么做?
- 看你简历有用过ngnix,说一下什么是正向代理,什么是反向代理?那我现在如果想获取我客户端的本地IP地址,该怎么拿到?
- ngnix的操作指令熟悉吗?简单说两个常用指令?有自己配置过吗?
- linux有自己部署过吗?操作指令了解吗?如果我想导入外部文件该怎么导入?需要进行哪几步?
- Sql语句掌握的怎么样?如果有两个sql,sqlA和sqlB,sqlA里面想引用sqlB,那么这个sql语句排序该怎么排?谁在前,谁在后?
- 现在我新建了一个表,表里有两个字段a\b,我如果写了select * from 表名 where a=?,b=?;请问这个用到索引了嘛?
- 可以说一下java支持的数据类型有哪些?什么是自动拆装箱?
- comparable和comparator接口都是干嘛的?有什么区别嘛?
- 数据库的分库分表有接触过吗?能不能说一下怎么操作的?
- 多表联查会吗,如果我想把两个表连在一起,然后查询某个信息你会怎么做?
- 你有使用过图片上传是吧?用的是什么形式,是动静分离吗?上传的流程可以简单说一下吗?
- 你这简历里的项目有哪几个是上线的?访问量怎么样?数据库有遇到什么问题吗?
- 如果出现了高并发的状况你会怎么处理?
- 有用过shiro是吧?能不能说一下shiro的注解,核心注解是什么?Spring全家桶里也有安全模块,为什么采用了shiro呢?
- 你有过es?知道es主要是干嘛的吗?
- 消息队列了解过吗?我看你用过RabbitMq,能简单说说这个中间件有什么优点吗,就是采用他的原因?
- 那如果发送消息的时候出现消息丢失你该怎么办?你怎么确认客户端是否收到了你发送的消息?
- 你应该接触过Java集合把?那我们说一下这个Java集合体系?你先说一下,就从collection下面开始说把;(后面就全部的说了一遍)
- HashMap的底层数据结构能说出来吗?能详细解释一下吗?它的存储是根据键值对是吧?那你知道list的数据结构吗?那现在如果我把在HashMap里的键值对给拿出来封装一下,然后用LIST,可以达到一样的效果吗?其中的大概你明白吗?用set下的HashMap和list下的linkedlist哪个效率高,为什么?
- 能不能说一下你平时创建索引都怎么创建?举几个例子看看?
- 能不能把你最近接触的一个项目的模块功能大概说一下,你负责了哪些?主要采用了什么技术?是自己独立完成的吗?上一个公司工作的团队任务分工?
- Tcp三次握手和四次挥手的流程原理了解过吗?
- 如果我想使用线程安全的hashmap有什么方法吗?
- 你在参与上一个项目中碰到的异常都有哪些?请说一下?
个人小结:我把个别公司二面的以后的都放在一起了,大家可以看看,面试过程中有的问题我也是没完全理解面试官的意思。。。,不过可以确定地就是他问的都是项目里的技术点和一些细节,个人感觉面试官在了解你能力的同时也在侧面考察你是不是做过这些项目,大部分问的问题都在这里,建议大家面试前过一遍项目,有的时候小细节就是他们想问的;还有一部分就是他问的算法部分,大家有感兴趣的可以留言,我会尽快分享出来。
以上就是我个人总结自己被问到的,面试了一周去了五六家公司,蚂蚁在小也是肉,希望能帮助正在求职的小伙伴躲过面试的坑,如果大家感兴趣的话可以收藏评论,后面我会把相应的我的回答也贴给大家,大家可以参考一下(本人菜狗一个,大家参考就好),大家可以总结最满意的回答,活学活用。
给大家推荐几篇详细的资料,面试前看绝对加分
来源:oschina
链接:https://my.oschina.net/u/4265622/blog/4497849