暑期实习:上海字节飞书企业应用面经(OC)
字节飞书一面(3.16)
- 自我介绍+项目(没有围绕项目问)
- 写题:接雨水
- 从写Java代码到代码在JVM运行,经历了哪些(编译、类加载相关)
- 了解lombok吗,lombok生效的时间和设计思路
- findClass() 和 loadClass() 的区别(双亲委派相关)
- 如何打破双亲委派,如何实现
- Synchronize和Lock区别
- Synchronize的同步阻塞
class A { public void synchronized a() { } public static void synchronized b() { } public void c() { synchronize(A.class) { ... } } } //大量线程访问以下方法,问阻塞状态 a.a(); b.b(); c.c(); a.b(); d.a();
- ApplicationContext、BeanFactory、FactoryBean的区别和联系
- ApplicationContext的父子容器是什么
- 静态代理和动态代理
- AOP相关
检查是不是同一个类中的方法调用(如A方法无@Transactional注解,调用了一个有@Transactional注解的方法),这样事务也是不生效的。原因可参照如下文章:
https://blog.csdn.net/levae1024/article/details/82998386
https://blog.csdn.net/gx_hxl/article/details/80808088
https://blog.csdn.net/m0_38027656/article/details/84190949
class A { public void a() { b(); } @Transactional public void b() { ... } }
spring 在扫描bean的时候会扫描方法上是否包含@Transactional注解,如果包含,spring会为这个bean动态地生成一个子类(即代理类,proxy),代理类是继承原来那个bean的。此时,当这个有注解的方法被调用的时候,实际上是由代理类来调用的,代理类在调用之前就会启动transaction。然而,如果这个有注解的方法是被同一个类中的其他方法调用的,那么该方法的调用并没有通过代理类,而是直接通过原来的那个bean,所以就不会启动transaction,我们看到的现象就是@Transactional注解无效。
Sql题:
给定student表
name age
A 18
B 18
C 21
D 19查询年龄不重复的年龄
结果应为:
age
21
19分段查询年龄的人数,10-19,20-29
结果应为
10-19 20-19
3 1
反问环节
追问:Cookie和Session的区别
了解过在Tomcat中,Cookie什么时候产生,什么时候消亡吗
向我推销一下自己
字节飞书二面(3.23):
- 自我介绍
- 项目相关问题:①角色权限模型;②用户认证(加密)和鉴权(角色权限)
- 零拷贝
- http断点续传
- linux从通电到启动服务,经历了哪些步骤
- linux系统中进程的通信方式
- http和https之间的区别
- https的握手过程
- CA证书的验证流程,信任链最上层是什么,可以伪造吗
- 密码套件里有哪些内容
- Spring相关:三层缓存解决循环依赖,每层依赖的作用,两层可以吗
- 算法题:LC22:括号生成
字节飞书三面(3.26)
- 自我介绍
- 项目相关问题
- 算法题:
- 二叉树的直径
- 最长上升子序列(打印路径)
无hr面
因为第三面的时候,做题做了很久,感觉面得不是很好,后面打电话问hr,说的是可能给我调剂到成都,然后会有一场加面,清明节后询问加面时间,结果得知不用加面了,也不用hr面了,已经进入流程在审批offer了!意外之喜!
收到offer letter(4.8)
运气很好,还愿牛客!
#实习#