第一次面试,面完,直接拒了!
你好,我是田哥
这是一位东北黑龙江同学的面经,也是他人生第一次面试经历。
来看看他面试遇到了些什么问题,然后,你也可以先看看题目,看看自己能回答上来多少。
精彩文章
资料:秒杀系统设计,文档、代码和视频
用Spring Boot搞了个医院项目,附源码!
海康 面试:说说MyBatis 插件机制
QPS、TPS、并发用户数、吞吐量关系
1000多道面试题,多久能背完?
dubbo源码深度分析:62个文档+中文注释+流程图+思维导图
面试问题
1.自我介绍(就说了来自哪,想找java)(停顿一会儿)
2.说一下你对java的了解?(大声)
3.你对java锁机制了解多少。
4.说一下单例模式
5.MySQL有哪些查询关键字。
6.表连接。
7.说一下表不同连接有什么区别。(开始找到状态。)
8.说一下MVCC工作流程。(结果说成Spring MVC的中央管理器工作流程)
9.Spring Boot了解多少。(还简单说了一下自动配置原理)
10.说一下AOP
11.Java集合有哪些。
12.Spring Boot的Controller有哪些注解。
13.说一下MyBatis
14.MyBatis是对谁的封装
15.Mybatis的xml文件有哪些标签。
16.说一下项目。
17.idea会用吗
18.SVN会用吗
19.linux了解多少。
20.你还知道哪些设计模式。
21.期望工资
22.有过培训经理吗
23.前端你了解多少
24.Jquery呢
25.大概多久到岗
26.这个项目有遇到过哪些问题,难点
27.你对redis很熟悉?
28.Spring Boot怎么整合redis
29.学习成绩怎么样。
面的是一家小厂,非常小,说是系统开发部其实就是几个人。毕竟第一次面试,咬字不禁不清晰,还有有很多口音。回答得也不好,就这样还给我过,看出来是挺缺人的。招聘要求上是说要会用redis,然后去面试结果redis没怎么问,就问怎么整合,亏我看了那么多遍。
xxx
上说3k,最后结果说我一周只能去4天给2.2k。然后我就拒绝了。
参考答案
答案仅供参考,更多是希望能做到抛砖引玉。
1.自我介绍
面试第一步:自我介绍。我们在上一篇文章中已经分享了“自我介绍”,这里就不再赘述了。
2.说一下你对java的了解?(大声)
很多人可能面对这问题有点懵,不知道如何回答。其实,我们这里回答java的特性就行了。
3.你对java锁机制了解多少。
Java中的锁无非就是JVM提供的synchronized关键字和JDK中的Lock接口实现;
Lock接口实现的锁,基本上是基于AQS的实现的。
关于Java中的锁机制,我觉得可以归纳为下面三点:
Java对象头mark word记录锁状态,是无锁、偏向锁、轻量级锁还是重量级锁
锁机制本质是 根据资源竞争的激烈程度 进行锁升级的过程
升级的顺序:无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁
4.说一下单例模式
上一篇文章中是手写单例模式,这次只是说一下,岂不是更简单,关于单例模式,推荐看我的之前写过的文章:
5.MySQL有哪些查询关键字。
SELECT、AS、Distinct、CONCAT 、desc 、FROM、WHERE、AND、LIKE、BETWEEN AND、LEFT 、RIGHT、INNER、JOIN等。
6.表连接。
表连接分为两种:内连接和外连接。
(一)内连接
内连接的特点
通过指定的条件去匹配两张表中的数据, 匹配上就显示,匹配不上就不显示,比如通过: 从表的外键 = 主表的主键方式去匹配
1、隐式内连接
特点:form子句后面直接写多个表名 使用where指定连接条件的这种连接方式是隐式内连接. 使用where条件过滤无用的数据
语法格式:SELECT 字段名 FROM 左表, 右表 WHERE 连接条件;
2、显式内连接
特点:使用 inner join ...on 这种方式, 就是显式内连接
语法格式:SELECT 字段名 FROM 左表 [INNER] JOIN 右表 ON 条件
(二)外连接
1、左外连接
特点:左外连接 , 使用 LEFT OUTER JOIN , OUTER 可以省略
①以左表为基准, 匹配右边表中的数据,如果匹配得上,就展示匹配到的数据
②如果匹配不到, 左表中的数据正常展示, 右边的展示为null.
语法格式:SELECT 字段名 FROM 左表 LEFT [OUTER] JOIN 右表 ON 条件
2、右外连接
特点:右外连接 , 使用 RIGHT OUTER JOIN , OUTER 可以省略
①以右表为基准,匹配左边表中的数据,如果能匹配到,展示匹配到的数据
②如果匹配不到,右表中的数据正常展示, 左边展示为null
语法格式:SELECT 字段名 FROM 左表 RIGHT [OUTER ]JOIN 右表 ON 条件
7.说一下表不同连接有什么区别
上一题能回答上来,基本上这道题,面试官就不会问了。
8.说一下MVCC工作流程
很多人容易把这个理解成 Spring MVC,这个千万要注意。
MVCC:多版本并发控制。原理是:使用版本链+Read View
版本链 同一行数据可能有多个版本InnoDB数据表每行数据记录会有几个隐藏字段,row_id,事务ID,回滚指针。
1、InnoDB采用主键索引(聚簇索引),会利用主键维护索引,若表没有主键,就用第一个非空唯一索引,若没有唯一索引,则用row_id这个隐藏字段作为主键索引。
2、事务开启会向系统申请一个事务ID,严格递增,会向行记录插入最近操作它的那个事务的ID。
3、undolog会记录事务前老版本数据,然后行记录中回滚指针会指向老版本位置,如此形成一条版本链。因此可以利用undo log实现回滚,保证原子性,同时用于实现MVCC版本链。
Read View读已提交隔离级别下,会在每次查询都生成一个Read View,可重读读只在事务开始时生成一个Read View,以后每次查询都用这个Read View,以此实现不同隔离界别。
9.Spring Boot了解多少
咱们把重点放在自动装配原理上即可
Spring Boot 项目的启动注解是:@SpringBootApplication
,其实它就是由下面三个注解组成的:
@Configuration
@ComponentScan
@EnableAutoConfiguration
其中 @EnableAutoConfiguration 是实现自动配置的入口,该注解又通过 @Import
注解导入了AutoConfigurationImportSelector,在该类中加载META-INF/spring.factories
的配置信息。然后筛选出以EnableAutoConfiguration
为key的数据,加载到 IOC容器中,实现自动配置功能!
10.说一下AOP
这个问题,在上一篇文章中已经分享过了,这里不再赘述。
11.Java集合有哪些?
这个上一篇也分享过了,跳过!
12.Spring Boot的Controller有哪些注解?
先来吐槽一下,这面试题想说什么呢?@RestController、@Controller、@GetMapping、@RequestMapping、@ResponseBody?注解挺多的,为什么要和Spring Boot扯上关系呢?
Controller是Spring接受并处理网页请求的组件,是整个应用的入口 ,Spring Boot的Controller中经常会用到注解@Controller、@RestController
、@RequestMapping
、@RequestBody
等 。
13.说一下MyBatis
如果在面试的时候被问到,只要你说出下面三种即可:
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。
MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
14.MyBatis是对谁的封装
MyBatis 是对jdbc的封装,它让数据库底层操作变得透明。MyBatis 的操作都是围绕一个sqlSessionFactory实例展开的。MyBatis 通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
15.Mybatis的xml文件有哪些标签。
Mybatis中有很多标签,比如:<mapper>、<resultMap>、<insert>、<delete>、<update>、<select>、<if>、<where>、<choose>、<when>、<otherwise>、</trim>、<foreach>、<selectKey>
等等
16.说一下项目
那就如实的说说你的项目呗,讲清楚项目是干啥的,你负责的什么?用到了哪些技术栈?这些技术栈用来解决了什么问题?项目并发如何?QPS、TQS、日活跃用户,订单数量等,反正能用数据说的尽量用数据去说。
17.idea会用吗?
这只是个工具,通常都是使用IDEA或eclipse,但是建议使用IDEA。
18.SVN会用吗?
svn可能很多小伙伴并没有用过,因为现在大部分都流行Git,这个实话实话,可能会问一些命令,或者仓库,依赖相关问题。
给大家推荐文章:
Git 常用命令,建议收藏 !
顺丰面试官:你知道哪些Git命令?
用21张图,把Git 工作原理彻底说清楚
19.linux了解多少?
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
把你知道的都说说
20.你还知道哪些设计模式?
那么多设计模式,你就说你相对比较熟悉的就行
单例模式、工厂模式、模板方法模式、装饰器模式、门面模式、代理模式、适配器模式、原型模式、....
给大家推荐我之前分享过的设计模式系列文章,掌握下面这11种,面试基本上没问题了:
设计模式 系列1: 装饰器模式
设计模式系列2:单例模式!
设计模式系列3:原型模式
设计模式系列4: 代理模式
设计模式系列5:观察者模式
设计模式系列6:责任链模式
设计模式系列7:享元模式
设计模式系列8:代理模式
设计模式系列9:委派模式
设计模式系列10:策略模式
设计模式系列11:模板方法模式
21.期望工资
其实,一般技术面试官不太问这个问题,但是这位同学面试的是一家小公司,所以,可能面试官就是合伙人之一,甚至是boss
如果你对薪酬的要求太低,那显然贬低自己的能力;如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起。一些雇主通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱,他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。
回答样本一:我对工资没有硬性要求,我相信贵公司在处理我的问题上会友善合理。我注重的是找对工作机会,所以只要条件公平,我则不会计较太多。
回答样本二:我受过系统的软件编程的训练,不需要进行大量的培训,而且我本人也对编程特别感兴趣。因此,我希望公司能根据我的情况和市场标准的水平,给我合理的薪水。
回答样本三:如果你必须自己说出具体数目,请不要说一个宽泛的范围,那样你将只能得到最低限度的数字。最好给出一个具体的数字,这样表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值。
22.有过培训经历吗
问这个问题感觉是个坑,你要是自己参与过培训,那证明你在学校没学到东西?是不是没参加培训更好?自行脑补,很多人对培训还是带有些不一样的眼神。
23.前端你了解多少
通常HTML、CSS、Jquery,这是肯定都熟悉的哈,还有其他比如Vue之类的知道的话更好。
24.Jquery呢
面试官既然在问这问题,我猜这位朋友没有回答Jquery,导致面试官追问。
25.大概多久到岗
分析:不要以为hr问了这个Offer就已经攥到手里了!可能终极的考验就在这里哦!
✕ 错误回答
:
范例1:随时都行!明天就来!
范例2:大概要两个月之后吧,我想给自己放个假。
评论:如果你说随时可以来,虽然表现了积极性,但是另一方面证明你对老东家“薄情寡义”,没有责任心。而拖个一两个月才入职?开玩笑,企业怎么会为你保留这么久这个职位呢?
✔正确回答
:
“我会尽快处理好自己手头的工作,完成交接后就来入职,这大概需要一周到两周左右。”
评论:一周或两周是一个大概的时间,也是大部分公司可以容忍的时间,具体问题还需要求职者和新东家具体协商。总之,你需要表达自己愿意早点来的意愿,但同时又要为入职手续的办理准备足够充足的时间。
26.这个项目有遇到过哪些问题,难点
这问题其实应该伴随着前面项目介绍的时候问,我们需要提前准备好几个问题,至少三个问题。
问题,如何排查的?解决方法有哪些?最后为什么选择这个方案?心得体会
27.你对Redis很熟悉?
Redis差不多已经是开发者标配了,所以,如果回答说不知道,给人的感觉会很不好的,毕竟这种小公司重点是要干活,不会给你太多时间去学习。
Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Key-Value DB。
Redis具有如下四种特点:
Redis是一个高性能
key/value
内存型数据库。Redis支持丰富的数据类型 。
Redis支持持久化 。
Redis单线程,单进程。
Redis有多种高可用解决方案
28.Spring Boot怎么整合Redis
1、pom.xml中引入Redis的starter
2、配置文件中配置Redis的信息(IP、port等连接信息)
29.学习成绩怎么样。
赶紧秀秀你的成绩吧,没有秀的,很尴尬!哈哈,那就说自己没有挂科也可以。
总之,优点要如实说,要不然在以后的工作中会穿帮的,缺点要挑着说,不要让人家觉得你没有诚意,态度要诚恳,把一个很小的缺点仔细的分析,深刻的检讨,不用真的实诚到把自己的老底都交出去,把握好这个度吧
成绩不突出的同学,我给你一个回答方式:
我的成绩比较一般。我在学校里除课堂上学习的知识外,比较喜欢扩充自己的其他方面的知识,对XX类的书也看了不少。
好了,今天的面经就分享到这里。
更多面试题和答案:http://woaijava.cc/mianshi/index
本人专门做面试辅导、技术分享和技术指导,欢迎各位加入我的知识星球,主要内容:
1、免费 修改简历
2、免费 模拟面试
3、免费 使用专属博客(www.woaijava.cc)
4、免费 使用刷题网站(已更新1046题)
5、免费 无限次数技术提问
6、共享 大量总结好的资料
7、共享源码分析系列(mybatis源码分析、dubbo源码分析、手写Spring IOC、AOP、MVC、手写RPC框架... )、项目实战(电商项目、医院项目、个人博客、OA系统)等
8、专门技术探讨群
扫下方二维码即可加入:
如果学生经济压力较大的,加我weixin:tj20120622 。可以获取优惠。
精彩文章
免费使用!在线刷Java后端面试题
面试官:MQ 消息丢失、重复、积压问题,如何解决?
手写RPC框架,真不是为了装13!
坚持一年,成功进入前50名!
普通二本,毕业就14k,还不满意!
第一次面试,面完,直接拒了!相关推荐
- 关于第一次面试总结(嵌入式软件开发工程师)
第一次面试总结 首先,笔试: 一.问死锁是什么,死锁的原因有哪些?死锁的四个必要条件是神马?如何解开死锁? 死锁: 指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力 ...
- 第一次面试amp;第一次霸面
哈哈哈哈,第一次面试和第一次都献给了CVTE! CVTE的招聘流程有点特别:网測-- 一面--笔试--二面--offer 想起网測那天就心酸.那先在做第三部分的专业測试.计时器突然出错........ ...
- 菜鸟的第一次面试(凉凉凉凉凉凉)
首先都是正常流程,自我介绍,介绍完就开始了和面试官的交流. 1.面试官问我,你是学后端的,怎么选择了前端呢? (我的专业是软件工程,总会被人这么问,但是是说的软件工程不学前端的??然后我就回答说,自己 ...
- 面经(一)人生第一次面试—一首凉凉送给自己
因为错过秋招,现在才开始找工作,对自身的定位也不足,不知道到底可以做什么.瞎投了一通简历,下载了一堆求职app.某app上,某游戏公司hr小姐姐找上了我,问我要了简历,一开始我是想找C++开发岗的,后 ...
- 第一次面试实习-Web前端开发
第一次面试总结 背景情况: 1.室友推荐,12月推送了需要实习生的师哥的微信(当时准备考研期间) 2.推了几次机会,但暂时没空没有面试 3.3月考研成绩出来后,没过国家线,打算考教资(3月12号)后找 ...
- 记录我的第一次面试(C++实习生)
记录我的第一次面试(C++实习生) 前两天在BOSS直聘上上传了自己的简历,投递的方向是C++实习生,一天就接到了HR的消息,让我准备一下初面.虽然知道自己有很多的不足,也知道自己大概率会失败,但是我 ...
- 自投递简历以来的第一次面试
投完简历之后HR小姐姐接着就安排了面试,原定时间是今天下午六点,我五点五十进的会议,结果等到六点二十(真的有点不耐烦了说实话)面试官打电话过来了说网络不是很好,所以改成电话面试了. 1.session ...
- 人生中第一次面试-----字节跳动面试经验总结
20190801 我经历了人生中的第一次面试,一面感觉还行,二面有点惨.(一面和二面是连在一起的),三面也很惨,四面也好惨.然后坚持到hr面. 未来的事情好多不确定,但是唯一要做的还是要不断充实自己, ...
- 谨纪念第一次面试,电话面试,百度一面。。
期中考试最后一科前收到一个电话说明天百度电话面试,当时有点激动,马上准备准备,多好的机会当然要好好把握..之后上了百度实习生招聘官网,发现自己投的简历'运维部_实习平台研发Java工程师'被挤到下面去 ...
最新文章
- php 爬虫_Scrapy 爬虫完整案例-基础篇
- java的hr样式,spring+spring mvc+mybatis开发java医院HR人事管理系统(加强版本+ shiro)...
- windows 获取系统CPU和进程CPU 内存等信息
- 【LeetCode】剑指 Offer 37. 序列化二叉树
- 拓端tecdat|Python、R对小说进行文本挖掘和层次聚类可视化分析案例
- CreateProcess()无法启动应用?
- Java在线反编译网站
- 打游戏用什么蓝牙耳机好?英雄联盟手游推荐蓝牙耳机
- Gif图片分解(支持批量)
- 2021-04-11
- 长江大学一键评教项目简要分析
- scratch编程我的世界3D史蒂夫
- win10锁屏后默认1分钟进入睡眠状态的解决办法
- 上架CiscoWS-C4948E设备及升级IOS
- 重庆APP开发价格费用如何计算?
- typescript 装饰器
- xp系统从u盘启动计算机,U盘启动安装XP系统-从U盘启动给上网本安装XP
- comsol-添加线圈几何分析
- java hasnext_Java Page.hasNext方法代码示例
- Flash Switcher(一) - 快捷Tab切换器
热门文章
- springbbot运行无法编译成功,找不到jar包报错:Error:(3, 46) java: 程序包org.springframework.context.annotation不存在
- Backup Exec 数据库空间不足
- java计算机毕业设计驴友社区网站录屏源程序+mysql+系统+lw文档+远程调试
- Java课程设计——学生信息管理系统
- Class.isArray 的判断逻辑
- Django—中间件详解
- Office总是无响应的解决办法
- networkx计算边的重要性:边介数或者中介中心性edge_betweenness
- postsql查询近一年的数据
- 论文的总体结构及质量控制