1)
面试官:先来个简单的自我介绍
我:把自己的学习过程、经历(比如竞赛,学术等等成就)、开源项目、等只要是亮点的都可以进行阐述,学校的一些文体活动就不必说了,实验室的一些项目还是可以说的,引导面试官向你会的方向进行提问就完成这阶段的任务了。
2)
面试官:能看一下你的开源项目线上运行效果吗?
我:共享屏幕,主要展示项目的亮点,然后梳理下业务逻辑阐述,面试官追问难点,阐述自己项目的难点就好了,提前准备好就可以了,面试官让我展示下主要的代码,前后端的都有,可能很多人电脑 16 G 内存,开个前后端的IDE,加上视频和浏览器就很卡了,所以程序员至少得 32 内存,不然太难受了。
3)
面试官:了解工具类吗?介绍一下你项目的工具类
我:共享屏幕介绍下常用的工具类就可以了,我是自己封装了一些适用于自己项目的方便的 API。
4)
面试官:看一下你接口调用的业务层代码
我:一边共享屏幕一边介绍就可以了,主要介绍业务逻辑和数据处理,AI 调用,生成图表等等。
5)
面试官:我看你简历中写了设计模式,介绍一下你了解的设计模式
我:单例、策略、装饰器、简单工厂、适配器、门面模式,等等,结合项目和 Spring 等开源框架的源码去讲一下具体的使用场景就可以了,自己介绍自己熟悉的就好了,像代理模式的 JDK 和 CGLIB 就可以引导面试官,或许会让你手写一个。
6)
面试官:了解 Java 的 IO 流吗?
我:主要介绍一下字符流,字节流,各自的使用场景和优缺点,然后写了一个读取文本的示例(共享屏幕),缓冲字符流读取。
7)
面试官:Stream 流介绍一下
我:介绍一下我经常使用的一些方法,并给面试官看了一下我的一些小 demo。
8)
面试官:Spring 事务介绍一下
我:主要介绍 @ Transactional 注解,然后和事务失效的场景,按常见的八股文说就可以了,最好结合一下自己的项目阐述。
9)
面试官:介绍一下 MySQL 的索引
我:这块很宽泛,可以慢慢谈,先按分类谈有哪些索引,然后索引的作用,引导索引失效,回表,覆盖索引,索引下推等等,只要面试官没说停,一直可以进行延伸。
10)
面试官:你的项目中有哪些考虑到了性能问题?
我:自己的项目确实没啥性能问题,不过可以说下优化查询语句和利用 Redis 进行缓存预热,会多级缓存的话可以阐述咖啡因本地缓存的使用。
11)
面试官:你的公钥和私钥,签名这块怎么做的?
我:按 API 项目的八股文回答,总计阐述怎么实现即可。
12)
面试官:三大范式了解吗?
我:阿巴阿巴,常规的学校考试问题
13)
面试官:让你设计一个聊天的表
我:共享屏幕设计一下表字段和注意事项
14)
面试官:说下 Linux 的一些命令
我:阿巴阿巴,常用命令说一下即可
15)
面试官:看一下你的个人博客
我:简要概述下个人博客写了什么,然后对我的一些意义,怎么进行编程的学习等等。
16)
反问:业务方向
今天刚面完,Waiting,继续努力!分享面经,从我做起.gif~
个人开源项目 Gitee 地址:https://gitee.com/falle22222n-leaves