2022.9.9 顺丰一面
1、介绍MySQL索引(很笼统的问题,应该要从各个方面介绍,我只介绍了innodb的索引的底层数据结构)
2、spring在研发过程中承担的角色,解决了哪些问题(IOC和AOP,其实可以从JavaEE的三层架构来回答,spring在每一层都提供了解决方案,
- 表现层:spring MVC,
- 业务逻辑层:IOC,
- 数据访问层:spring的JDBCtemplate,
- AOP
- 整合其他框架
3、研发过程中用到了spring的哪些方面(只回答了IOC和AOP)
4、手写单例模式的实现(当时不会,下来学习了,结果后面的招银面试也面到了,所以面试查漏补缺很重要!!!)
5、手写排序算法(写了快排!随机基准数排序版本,写了一个change函数,交换两个数的位置)
6、问change函数可以不用第三个变量实现交换两个元素吗?(异或位运算)
7、synchronize关键字:
作用
加在静态方法上锁住的是什么对象(类对象)
面试官写代码,问我对不对
// 下面的代码能保证线程安全吗??
// 我回答的可以,因为锁住的是局部实例对象
static void test(){
Object o = new Object();
synchronize(o){
// ...业务代码
}
}// 库存
static int i = 100;
// 会抛出异常吗
// 回答的会
static void test(){
Object o = new Object();
synchronize(o){
--i;
if(i<0){
throw exception;
}
}
}static int i = 100;
static Object o = new Object();
// 这样呢,能锁住对象o吗
// 回答的可以
static void test(){
synchronize(o){
--i;
if(i<0){
throw exception;
}
}
}#顺丰科技面试##顺丰科技##顺丰#
安克创新 Anker公司福利 581人发布