Java工程师
约 1843 字大约 6 分钟
Java工程师
岗位年限:
1+
面试时间:
2023年11月23日15点
面试方式:
线下
面试问题:
序号 | 问题 | 解答 | 备注 |
---|---|---|---|
1 | 你是本专业的吗,我看简历上没写 | 我是音乐专业出身的,大学毕业后学习的Java全栈开发,一直到同年年底,第二年年初左右,连学习和实训半年左右吧 | |
2 | 我看这是,有两年的工作经验? | 嗯嗯 差了两个月左右两年 | |
3 | 那像你这种专业跨度特别大的,在学Java这方面会不会比较吃力 | 其实最开始还是比较吃力的,有挺多都不懂的,但是跟同事一起没事就聊,在大环境的影响下一点点也就得心应手了 | |
4 | 我看你这什么模块都做过一点是吗? | 对的,我们公司是外包形式的,基本上是有什么活做什么活,有活就干,做什么看公司接什么活了 | |
5 | 众联物流你做过这个项目对吧,可以给我讲一下项目流程吗 | 我在项目中负责的是客户模块和一部分合同管理功能,对客户的订单进行处理,如果客户确定下单了,那我们会针对订单生成合同,之后会锁定合同和订单令其不可修改,这是我负责的合同模块的业务功能,之后还用Element-UI对客户页面进行前端展示 | |
6 | 你能讲一下单点登录的流程吗?是从哪个app单点登录到哪里的? | 我们是从微信到这个系统进行的单点登录,我从令牌里拿到了用户名和头像,之后进行登录或者注册环节 | |
7 | 那之前呢,怎么从微信里取出令牌和里面的值的? | 这个是我跟着当时带我的前辈给我的接口,我直接接到了令牌和值,实现的后端的业务代码,具体流程有些太久了这个项目,我记得不是特别清楚 | |
8 | 我看云易管理系统这个比较近,讲一下这个项目吧 | 这个是我们接到的客户需求,他们对于员工搜集的线索利用率不太满意,所以我们设计了线索和线索池,员工可以自由选择他们收集的线索是否进入线索池,对员工自行放入的线索本月内不可以重复提取,这个也是客户需求,他们说员工经常会重复拨打一个客户的电话,这样造成的客户体验并不友好,造成了客户流失,这是从线索到线索池,之后有意向的线索会被转化为客户,客户不会成为线索,所以客户们会进入公海,员工可以在公海里提取意向客户,这部分也同样提升了工作的效率,线索池和公海是无法互相转化的,之后进入公海的客户如果有购买意向,就会成为商机,这大概就是全部的业务流程了,之后我还实现了Excel表格的导入导出。 | |
9 | 这个项目对你来说有什么巨大的困难或者说影响呢? | 这个业务逻辑对我来说就挺费劲的,因为从这个项目开始我才正式开始参与设计业务逻辑,之前都是给我什么活我就做什么活,拿来就干 | |
10 | 给你一个表格怎么实现导入到数据库的,讲一下这个流程吧 | 首先要针对表格字段设计实体类,之后在表格对应的字段上加注解,像表格内的状态类字段保存在数据库中的是0,1的数字形式,所以我们还有在注解上做一下转换处理,之后把各层方法跑通,就可以实现导入了 | |
11 | 我看这里还用了RESTFul风格,对这个风格你是怎么理解的 | 这个风格给我的影响特别深的一点就是,get请求无法往后端传对象,我记得我当初用这个get请求向后端传了一个对象中包含了另一个对象,给我愁坏了,在前端检查,值没问题,前后端连接没问题,后端打断点进的方法也没问题,就是没有值,最后请教了前辈,改用了DTO处理的这个对象,才给解决了 | |
12 | 传值的时候属性无法映射是吧? | 在我们用get请求传一个对象中包含的对象时,会报超长的错,无法识别里面的对象的值,所以里面的属性就无法进行传递 | |
13 | 我看还做了审批模块,可以讲一下审批的流程吗? | 首先会先设置一个审批组,设置好对应审批组的审批人,之后设定审批方案,选择对应的审批组,最后会按照设定好的方案走审批流程。 | |
14 | 这个审批的流程没用别的什么插件吗,全部是自己手写完成的? | 这个是优化的他们现有的审批流程,他们之前的审批流程就是谁审批就存,有方案就存,存了一大堆数据,在他们现有审批流程的基础上把审批组,和方案优化了,调整了表结构 | |
15 | 我看使用过Redis是吗?起到了什么作用? | 也没起什么作用,就是有就用了,数据量没那么大,也就是访问量大的时候简单保护了一下数据库大概 | |
16 | 那能给我介绍一下雪崩,穿透,击穿吗 | 雪崩就是Redis库中存储的大量数据同时过期时,他们会在同一时间访问数据库,这样就造成了雪崩,我的处理办法就是把过期时间分开设置,穿透就是当我搜索Redis库中不存在的值时,Redis会访问数据库,我会在Redis库中建立一个HashMap存储数据库中的值 | |
17 | 简单介绍一下JWT | 有用户,角色,权限这几个表,之后可以通过登录的用户,查询角色,进行赋权 | |
18 | IOC和DI这块可以大概说一下吗 | IOC就是控制反转,控制是指我们对于对象的工作,反转是指我将创建对象,维护对象的工作交给了bean,这样通过依赖注入就可以使用对象了 | |
19 | 说下MVC的流程吧 | 用户请求,到中心控制器,到适配器,到处理器,到Controller,Service,Mapper,最后在返回来,如果有需要的话在前面还可以加拦截器,处理器,进行登录验证。 | |
20 | 他说想实现个什么自定义的东西在登录验证里问我可不可以 | 这个我看过一部分MVC的源码,在MVC的部分方法上面加自定义的方法就可以了,通过了继续往下走,我是这么认为的,但是没有上手实现过 | |
21 | 测试工具用的postman | 对的,还有手术刀 |