当前位置: 首页 > 面试经验 >

江苏某科技公司 Java 面经

优质
小牛编辑
102浏览
2024-02-06

江苏某科技公司 Java 面经

江苏某科技公司 Java 面经

一个老板,一个员工,轮流面....50 分钟拷打,算是没面试上大厂前最长的面试了。

下面的我就统一用面试官称呼,面试的问题顺序可能有出入,见谅,全凭记忆。

1)

面试官:自我介绍一下

我:这块我就不写了,关键是大家要突出自己的亮点,最好是有实际经历,有实习经历可以说实习,有开源项目的可以说开源项目,开参加过竞赛,数模,等等的都可以具体阐述。

2)

面试官:介绍一下你的开源项目

我:主要介绍制作项目初衷,项目制作过程,然后有哪些收获,再介绍了下主要的两个亮点功能,项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system,大一和大二的同学可以沉淀下,也开源个项目,但项目是要进行一定的宣传的,我本身是做自媒体的,然后大学学软工,转程序员.jpg。

3)

面试官:SpringBoot 自动装配原理

我:常见八股文不作阐述,可以看我前面几篇面经,基本都会问这个问题。

4)

面试官:HTTP 加密过程说一下

我:也是一个八股文,不过后续面试官追问了,也就是第五项

5)

面试官:为什么要一次非对称和多次对称

我:这边讲一下多次对称加密和一次非对称加密的优缺点和使用场景就可以了,然后我再介绍了下常见的对称加密算法和非对称加密的算法,以及算法优化的一个历史,这边说了一下有些历史算法是不安全的,已经被破解过。

6)

面试官:你的项目权限校验是怎么做的?

我:开源项目我用的是 JWT + Redis + 拦截器,接口平台项目依旧是 AOP + Session,顺便后续说了下分布式 Session 怎么配置,以及为什么要用 Token 不用 Session,主要是移动端和防止 CSRF。

7)

面试官:数据库的数据结构是怎么样的介绍一下?

我:按不同分类介绍一下,比如底层物理存储,聚簇索引和非聚簇索引,按数据结构 ,R,Hash,B,全文索引,按应用维护,主键、普通、唯一、全文、范围等等,重点在 InnoDB 的 B + 树,面试官追问了叶子节点存储的是什么?以及聚簇索引和非聚簇索引的不同,这些都是基础,还是挺好回答的。

8)

面试官:数据库的慢 SQL 怎么排查?

我:怎么开启慢查询日志,Config,然后用 explain 命令,介绍下各个字段,有哪些连接,哪些索引,面试官追问数据库在生产环境怎么去查询慢 SQL,听面试官说好像是用阿里云的一个可视化面板,又问执行慢查询日志在生产环境有什么问题,我就答了一个可能产生阻塞,以及 MySQL 实例挂了,日志可能过大等。

9)

面试官:Redis 在你项目中是怎么使用的?

我:介绍一下自己的 Token 使用 Redis,以及定时任务做了一个缓存预热,然后面试官追问了下常见的八股文,缓存穿透,击穿、雪崩问题的解决方案,我也就按八股文进行回答。

10)

面试官:Redis 持久化有了解过吗,怎么实现的?

我:RDB 和 AOF 都讲一下就行了,对比优缺点和使用场景,然后讲一下 RDB 的过程,比如 Fork 子进程等等,讲了下 AOF 重写机制, AOF 刷盘机制,AOF 的流程,AOF 的校验和机制,总的来说都是介绍了一下八股文。

11)

面试官:我看你写了多线程,介绍一下你项目中有没有使用多线程?

我:面试官其实想问 Parallel stream,因为我简历上写了 Stream 流,但我对并行流没怎么用过,讲了下 CompletableFuture 工具的异步编排,其实就是 BI 项目中门面模式+异步编排,虽然没提高什么效率,有个短板效应,用的 allof().join(),还是介绍了一下。

12)

面试官:有什么想问的?

我:反问公司的技术栈和业务,大体了解是 Java、Python、Go 为主要开发语言,而且 Java 不是原生的 JDK ,好像说了 AOT,还有用 Kafka 做一个数据收集的中间件等等功能,具体也没听清,另外还有 SocketIO,感觉这家公司对多线程和数据量的要求还是有的,听说 JDK 用的 11。

面完口干舌燥,面完过了几天就说 OC 了,主要看我的意愿,接下来会继续分享一些面经,其实有很多小公司只有 10 分钟的电话面,而且看了我开源项目和个人博客后直接就过技术面了,But,我:我想被拷打多问点问题,年后再战!关注我即可收获最新的面经.gif

 类似资料: