1、stream流你熟悉吗?说一下常用的api?
-
stream流你熟悉吗?
-
熟悉的
-
-
说一下常用的api?
-
map()对一些对象的属性做映射
-
sorted()排序
-
filter()对一些元素进行过滤
-
forEach()循环遍历元素
-
collect()收集stream流
-
count()统计个数
-
最大最小值max()或min()
-
limit()取前几个元素
-
skip()跳过前几个元素
-
2、你们项目是怎么处理异常的?你说一下怎么实现全局自定义异常处理器?
-
你们项目是怎么处理异常的?
分为局部异常处理和全局异常处理
-
局部异常处理:针对明确可预见的错误场景,我们用try-catch直接捕获,然后在catch中处理异常或者继续往上层抛出异常
-
全局异常处理:对于未被局部异常处理捕获的异常,我们会定义一个全局自定义异常处理器来统一处理
-
-
你说一下怎么实现全局自定义异常处理器?
-
首先编写一个全局自定义异常处理的类
-
在类上添加@RestControllerAdvice注解,@RestControllerAdvice=@ResponseBody+@ControllerAdvice
-
编写处理全局异常的方法,方法参数上要写上处理的异常类型
-
方法的返回值一般就是本项目的通用返回值
-
在方法上添加@ExceptionHandler注解
-
3、什么是aop?说一下实现aop的步骤?有哪些通知?项目中哪里用到了aop?
-
什么是aop?
-
aop就是面向切面编程,其实就是面向特定方法编程,就是对方法可以实现增强,好处就是无侵入、解耦
-
-
说一下实现aop的步骤?
-
引入依赖(如果是spring-boot-starter-aop)
-
使用@Aspect注解和@Component注解定义切面类
-
使用@Pointcut注解定义切点表达式
-
使用通知定义增强逻辑(一般用环绕通知@Around)
-
补充:这里有可能有不同的问法,比如你说一下aop用到了哪些注解?
-
有哪些通知?
-
前置通知
-
后置通知
-
返回后通知
-
异常后通知
-
环绕通知
-
-
项目中哪里用到了aop?
-
我项目中一般用aop来做日志记录还有数据脱敏
-
补充:结合ioc,这里也有可能有多种问法,比如:“你说一下spring的核心是什么?”、“你说一下你理解的spring”
4、最后你有什么想问我们的
分两种情况
-
如果是技术面试官或者是领导
补充:等待对方介绍完业务之后,一定要感谢面试官,“好的,我这边没有问题了,谢谢面试官”,这样面试的收尾节奏就非常不错了,愉快地结束了,还有更加进阶一些的,如果对方在介绍业务的过程中刚好有一些领域是你具备的,比如面试官介绍了,我们公司在做一些物联网相关的业务,这时候在最后,可以变成“面试官,我这边之前在项目中也有过相关物联网的经验,所以对此非常感兴趣,好的,我没问题了,谢谢面试官”,这样可以让对方对你的好感、还有候选人匹配度更加加分
-
我想了解一下贵公司是做什么业务的
-
-
如果是hr
补充:如果是hr就不要问,贵公司做什么业务了,很多hr都不知道自己公司做什么业务的,这样让别人尴尬难堪,我们不做让面试官尴尬难堪的事情,这时候要给hr一点存在感,问一些hr熟悉的问题就可以了
-
贵公司出勤时间、上班时间怎么样的?
-
补充:一般来讲这个问题是面试最后的问题了,也不要说我没问题,一个问题都没有,显得没有诚意,这种时候就简单问一个问题走个过场就行了,还有两种例子是不建议的:
(1)“后边还有多少轮面试,是线上还是线下啊”,这种回答有一个不好的地方,你拿捏不准这场面试官对你是否认可,有可能你只是还不错,也不是很好,面试官原意可能觉得这个人也没答错什么问题,但是好像也不是很优秀,可以放到下一轮继续观察,但是你问了之后,可能会让面试官觉得,这个小子好像对自己盲目自信,是不是觉得自己能到下一轮?但是其实你的面试表现也不是很好,对自己定位不清晰,甚至就不考虑你了,本来有一些机会就变成没机会了,其实问这种问题对于能否通过这场面试已经毫无意义,甚至还有小概率事件影响最终结果,面试官在面试结束前问这个问题,大多数也只是出于礼貌,也是走个过场,如果你前边技术面试部分很出彩,你最后随便走个过场,人家知道你优秀,也知道你不缺offer了,待会很快就会给你打电话发offer或者约下一轮,和你确定聘用关系,你要是前边技术面试部分很拉胯,你在最后才来展示发挥“个性”有啥用?人家也不会考虑你,说白你前边技术面试部分出彩那就大局已定,不用靠后边发挥,人家也抢着要你,对待面试要精益求精,每个环节都要追求完美,不能让面试官有一点不舒服的感觉,你让面试官不爽,面试官权力很大,他就能一句话让你不过,所以不允许有一点瑕疵,或者有很小概率会导致问题出现都要扼杀在摇篮里
(2)“了解一下贵公司有哪些技术栈”,这个也不建议问,待会面试官以为你很介意技术栈,难道面试官公司技术栈和你目前有一些技术栈不匹配你就不考虑了,你没有学习能力的吗?入职之后你可以学的,这个候选人是不是一个只会关注技术栈的“书呆子”?不从业务考虑问题吗?技术也只是服务于业务


