乐趣区

关于面试:面试记录

前言

经验了两次面试,记录一下

XX 银行

1. 自我介绍
说了一下我的项目经验,我的项目次要性能,我的项目负责局部,我的项目技术栈
2. 解决过的我的项目中最难的一点是什么
说了一下问卷零碎导入答卷部
3. 你的多线程解决在并发状况下会呈现什么问题。
4.jvm 相熟吗?(不相熟)
5. 我的项目中除了 mysql 还用了哪些数据库。(h2)
6.mysql 中左链接,排序,倒序,组合(Group by)关键字是什么
7. 在 excel 表数据处理时除了字段校验外还要留神什么?(不晓得想问什么)
8. 数据流怎么敞开的
9.String StringBuilder StringBuffer 区别。

北京某科技公司一面

1. 自我介绍
2. 口试算法题复盘
3.http 与 https 区别,https 的申请过程是怎么样的。
4. 你后盾接口怎么实现的
5. 如果不应用框架,怎么实现一个后盾接口?(提醒 socket)
6.nginx 次要解决什么问题,如何解决的,什么是同源,如果不必 nginx 能不能解决,怎么解决
7. 关系型数据库和非关系型数据库别离举例,两者区别
8. 事务有什么益处,怎么放弃的数据一致性
9. 索引在哪用过,索引底层是什么,索引怎么通过 b + 树查数据的(不是一条数据),b 树与 b + 数区别,联结索引怎么通过 b + 树查数据
10. 服务器是如何解决并发申请的,如果让你设计,怎么设计,服务器解决一个申请创立一个线程还是过程,线程和过程区别,并发与并行区别。
11. 学校成绩。
这家面试显著感觉到问题更有深度,更偏差对常识的思考。

save 办法的并发问题

@Test
void saveUser() throws InterruptedException {List<User> users1 = new ArrayList<>();
    List<User> users2 = new ArrayList<>();

    for (int i = 0; i < 50; i++) {User user = UserControllerTest.getOneUser();
        users1.add(user);
        user = UserControllerTest.getOneUser();
        users2.add(user);
    }

    new Thread(() -> {for (User user: users1) {this.userRepository.save(user);
        }
    }).start();
    new Thread(() -> {for (User user: users2) {this.userRepository.save(user);
        }
    }).start();

    Thread.sleep(10000);
    Assertions.assertEquals(this.userRepository.findAll().size(), 100);
}

测试了一下,并没有什么问题。

退出移动版