百度提前批一面
自我介绍
实习
1.介绍一下实习中负责什么,整个业务流程?
2.2b接口性能提升,你是如何考虑的?
3.整个学习过程中你觉得哪些问题是难点?4.B端这个需求,你在缓存中存取key的时候有设置过期时间吗?如何考虑?
项目八股问的比较基础,主要是db相关的,面试官主要想了解实习中实际用到的时候是何如考虑的。
1.了解过什么设计模式?简单介绍一下
2.介绍一下浅拷贝和深拷贝的区别,BeanUtils.copyProperties是浅拷贝还是深拷贝?
3.String、StringBuilding、StringBuffer之前的区别,为什么StringBuilding效率比较高?
a.同步(synchronized)机制确保线程安全,但它也带来了额外的开销。每次访问StringBuffer的方法时,都需要进行同步检查和加锁/解锁操作,这会显著降低性能。
4.mybatis是否比较了解?mybatis中$和#的区别。.#号:参数值会被安全地转义,防止 SQL注入,是最常用的方式,适用于大多数场景。.$号:参数值直接拼接到SQL语句中,适用于动态SQL语句的某些特殊场景,但要小心使用以避免 SQL注入风险。. 自动注入:如果在第一个判断条件参数中传入一些奇怪的东西,比如一(gg!中一后的都会被注释掉),那么第一个判断条件后面的所有东西都会被注释。SELECT * FROM users WHERE username = 'admin' -- ' AND password = 'anything'
5.加索引的原则,哪些字段加哪些字段不加?
6.两张表连接的字段是否应该加索引?数据表中的状态字段(大部分数据值都一样)是否应该加索引?7.内容不确定且用的比较少的字段加索引吗?
8.索引结构?介绍一下这些结构,尽可能细致(B+树)。
#软件开发笔面经#