北京元衣科技数字有限公司 Java 面经

北京元衣科技数字有限公司 Java 面经

1)

面试官:先讲一下 RESTFUL 风格怎么使用?

我:阿巴阿巴,四种方法讲一下,然后配合 @PathVariable 注解讲一下,路径占位符讲一下,RESTFUL 的好处讲一下,比如路径更简洁、安全(不暴露参数),高效(支持缓存),差不多就行。

2)

面试官:Post 请求的数据是放在哪里?

我:呃呃呃,表单用一个对象存,然后请求有请求头,请求行,请求体,请求体存储表单数据,简单的前端问题,可以对比下 GET 和 POST 区别,比如安全方面,数据长度限制方面等等,只要你会的,都可以按逻辑进行阐述,简单的问题其实去做一个完整的阐述,表达这块建议大家多面试练练。

3)

面试官:文件这块是怎么传输的?

我:我项目是上传过 Excel 文件主要利用了,MultiPartFile 这个工具类 SpringMVC 提供的,用 IO 读取就可以了,我写了个 Excel 工具类读取。

4)

面试官:你项目的安全框架用了什么?

我:阿巴阿巴,这边没用 SpringSecurity、Shrio、Sa-Token ,我就简单用了 AOP 底层代理模式+适配器+一个 JWT,主要用 Token 令牌进行一个,Token 存 Redis,然后动态刷新 Token 机制,用户无感知,这边要听 Redis 的过期策略和内存淘汰机制就更好了,能输出一波。

5)

面试官:JWT 密钥放在哪里?

我:服务端配置文件编写,我这边每个用户注册有 AK,SK,SK 就是密钥,可以根据密钥生成不同的 Token。

6)

面试官:Token 的参数构成有哪些?

我:Header(签名算法和令牌类型),PayLoad 负载包含用户信息、令牌颁发时间、过期时间等等,Signature 是根据头部、负载、密钥加密后合成的结果,一般的 xxx.xxx.xxx。

7)

面试官:Token 存放在哪里?

我:LocalStorage 这边,发送 Axios 请求时,多一个 Authorization 请求头携带 Bearer 空格 + Token

8)

面试官:Token 是怎么生成的?

我:JWT 工具类,用户登录之后,前端会得到一个我后端 Generate 的一个参数,前端获取后存下来就好。

9)

面试官:ArrayList,LinkedList,HashMap 各自的优缺点和使用场景讲一下

我:这边不作赘述了,常见的八股文,按自己的实践和单列集合和双列集合使用场景就可以了,考源码也无所谓都是简单题,比如 Map 的 Put 流程,为什么链表大于等于 8 并且数组长度>=64 树化,为什么从 8 到 6 后退化,Hash 冲突有几种解决方案,各自有什么好处,多线程 HashMap 安全吗,Key Value 为 Null 问题等等,可以讲的东西太多了,可能一个问题讲好几分钟也是正常,只要面试官想听,其实可以一直讲。

10)

面试官:ArrayList 和 LinkedLIst 获取数据的时间复杂度

我:O(1) 和 O(N),数组和链表....

11)

面试官:你数据库掌握能力怎么样?

我:比较弱,只做过几个多表连接,然后说一下,左右连接的区别,内连接,再说一下实际项目怎么写的 SQL,怎么做 SQL 优化等等,索引数据类型,索引失效,事务,隔离级别,三大日志,刷盘时机,MVCC 怎么实现的?行锁,表锁,意向锁,共享锁,独占锁,InnoDB 引擎对比 MyISAM 的优势等等,数据库要是问起来半小时起步了。

12)

面试官:输入 URL 后的一系列流程是什么?

我:URL 检查、缓存查询(计算机网络)、DNS 解析、获取 MAC 地址、TCP 三握、HTTPS 握手、返回数据、页面渲染(DOM)、TCP 四挥,其实这里面每一个都可以阐述,基本是计算机网络的基础知识。

13)

反问技术栈、主要做的业务,以及工作时间和待遇,总体来说面试比较简单,比较浅层,没啥深度考究,过了一天电话说 OC 了,然后是经典流程,拒了...未完待续

语雀笔试和所有面试精华内容:程序员小白条的编程日记:https://xbt.xiaobaitiao.top/ (分享大学经历、求职经历、职场工作、创作经历、生活日常、面经、技术分享等等)定期更新内容,成长打怪系列,分享从大一到大四的完整面经,看完可冲中大厂!

#校招过来人的经验分享#
面经(打怪升级系列) 文章被收录于专栏

打怪升级...

全部评论
好厉害,有楼主二分之一我就满足了
1 回复 分享
发布于 07-02 13:34 广东
居然问这么多
1 回复 分享
发布于 06-30 10:28 上海
这个公司属于什么厂啊,小厂吗
点赞 回复 分享
发布于 06-30 17:50 湖北
mark
1 回复 分享
发布于 06-27 17:22 湖南
1 回复 分享
发布于 06-25 17:59 浙江

相关推荐

06-24 09:59
已编辑
西交利物浦大学 Java
上来一道重排链表两个项目拷打四十分钟1. Java 基础这一块有没有去看过一些源码之类的?看过集合相关的2. 挑一两个讲讲,比如 ConcurrentHashMap吟唱(提到了 1.8 用了 CAS)3. CAS 的这个技术主要是为了什么问题?保证变更数据操作的原子性4. 为什么能保证(原子性)?比较预期值和当前值5. CAS 底层怎么实现的?(操作系统相关)不知道,只知道是硬件层面的指令6. 项目提到了间隙锁问题,MySQL 为什么要引入间隙锁?解决幻读7. 幻读问题是什么?同一事务下相同查询语句返回不同结果集8. 项目里`select ... for update` 的场景为什么会触发间隙锁?当时sb了,没反应过来,说就是会加的。其实是update会加,项目里的也是update不是select,晕了9. MySQL 还有什么其他方案可以解决这个问题?提了一个乐观锁方案,加一个字段检查owner10. AI 方面有没有动手做过项目?没11. 提到过 XXL 的 RPC,实现原理是什么?不懂rpc底层,g,早知道不提了12. 客户端与服务端是如何通信的?Socket13. RPC 在 Socket 基础上做了什么?面试官我知道您想引导我,但我真的不知道14. 简历专业技能里写了零拷贝,说说零拷贝忘了,我都忘记我写简历上了 说了下只记得应该是简化了什么内存操作,不需要经过某个层处理了总结:直接寄,菜就多练
PHI_517:西浦大团建了说是 xjtlu upup
查看14道真题和解析
点赞 评论 收藏
分享
评论
4
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务