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;
        }
    }
}
#顺丰科技面试##顺丰科技##顺丰#
全部评论
楼主有后续二面吗
点赞 回复 分享
发布于 2022-10-17 15:17 江苏

相关推荐

我见java多妩媚:大外包
点赞 评论 收藏
分享
3 13 评论
分享
牛客网
牛客企业服务