- SQL优化,执行计划,索引以及底层数据结构**
-
HashMap 底层数据结构,hash冲突的几种处理方式
-
ConcurrentHashMap 怎么保障的线程安全
-
线程池几个核心参数,核心线程数怎么设置,默认的几种饱和策略
-
ThreadLocal 源码 以及内存泄漏的原因
-
CountDownLatch.await() 方法怎么处理InterruptedException
-
AQS抽象队列同步器源码
-
ForkJoinPool 原理
-
重入锁ReentrantLock 基本使用,需要注意什么
-
CAS 原理,存在的问题
-
关键字volatile了解过吗?保障了什么,可以举例子来说明吗
-
RocketMQ 怎么保障消息不丢失
-
Spring AOP基本使用,以及源码,动态代理的两种方式各自的原理。
-
SpringBoot2.0 为什么默认使用CGLIB
-
Spring 循环依赖问题
-
针对我以前写过一个插件扩展功能,问其基本实现原理,然后回答了基于Spring 容器具有继承和多子容器容器隔离的特性实现了不同租户功能的隔离。
-
通过阅读Spring maven打包插件源码了解了spring 加载jar的机制,然后依赖了该项目中的一些关键jar 实现了自己的classLoader。然后面试官问 classLoader动态加载
-
class 怎么保障元空间不OOM,回答的如果自己使用的classLoader的话 需要先卸载对应的class。
一面总结,总体来说
面试题都很常见。但是阿里的面试官喜欢往深了问,如果没有相应的基础很难招架。一面比较顺利,电话结束后面试官说后面面试官再和你聊
自我介绍
项目相关
- 聊自己最有成就感的项目
回答的是刚毕业还是一个小白的时候,独自负责成功上线的一个项目,在这个过程中不断的解决尽管现在看起来很简单的问题。最后成功上线,也获得了客户和公司的认可
- 然后问 自己最有挑战的项目,难点?回答了 以前做过的信贷决策引擎系统2.1. 设计的方向是平台化,我们为业务提供的是一套决策流程框架,具体的业务指标是由模型算法工程师通过Python来实现,
平台只是通过Python脚本执行引擎去执行模型中的每一个指标,最后将指标结果进行汇总计算出来一个结果提供给银行作为参考。而针对流程中需要定制开发的部分,我们通过提供一个扩展接口包,各自的银行开发人员只需要去实现这个扩展包 就可以进行定制开发了,开发完成以后将开发好的jar包上传至扩展管理平台 (每一个银行在技术上就是一个spring上下文),就可以将银行的需要的功能动态的加载进系统中了。2.2. 晚上定时跑批系统的高并发处理。由于评级系统在评级的过程中涉及到大量的数据接口,因此评级整体上通过异步来处理的。通过MQ和Redis来做的异步评级2.3 由于评级系统内部涉及到大数据量的接口查询和存储,因此需要提高系统的一个吞吐,可以通过一个注重吞吐量的垃圾收集器来处理,另外由于外部接口即可能是同步的也可能是异步回调的,因此我们内部通过抽象“异步回调模型”来实现了一个统一的标准。另外系统中大量使用了线程池,因为对我们对线程池做了相应的优化。
专业技能
一般来说,面试官会根据你的简历内容去提问,但是技术基础还有需要自己去准备分类,形成自己的知识体系的。简单列一下我自己遇到的一些题
- HTML+CSS
- JavaScript
- 前端框架
- 前端性能优化
- 前端监控
- 模块化+项目构建
- 代码管理
- 信息安全
- 网络协议
- 浏览器
- 算法与数据结构
- 团队管理
- 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
最近得空把之前遇到的面试题做了一个整理,包括我本人自己去面试遇到的,还有其他人员去面试遇到的,还有网上刷到的,我都统一的整理了一下,希望对大家有用。
其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等
由于文章篇幅有限,仅展示部分内容