中孚信息Java后端一面面经

面试问题:

项目:

介绍一下项目,讲一下项目的具体开发流程。
SpringBoot中怎么处理事务的。有没有了解底层实现。
MyBatis框架是干什么的。

java设计模式的六大原则一法则

  • 单一原则:一个类只做一件事。

  • 依赖反转原则:设计和实现要依赖于抽象类,而不是具体的类。

  • 里氏替换原则:任何时候都可以使用子类型替换父类型。

  • 开闭原则:对扩展开放,对修改关闭。

  • 接口隔离原则:接口要小而精,拒绝臃肿。实现的功能要细分,不能让一个接口实现太多的功能,这样可能会造成数据逻辑错误。

  • 合成聚合复用原则:优先使用合成聚合关系复用代码。


数据结构:

排序算法有哪些

操作系统:

进程间的通信方式。
线程间的通信方式。

计算机网络:

1. TCP的三次握手
2. 为什么要三次握手
3. 四次挥手
4. 四次挥手的中间两次可不可以合并成一次。

数据库:

1. 数据库都学了什么
2. 数据库索引的底层实现是什么。
3. mysql数据库的隔离等级是什么:
4. mvcc是怎么实现的。
  • MySQL InnoDB 引擎使用 redo log(重做日志) 保证事务的持久性,使用 undo log(回滚日志) 来保证事务的原子性

  • MySQL InnoDB 引擎通过 锁机制MVCC 等手段来保证事务的隔离性( 默认支持的隔离级别是 REPEATABLE-READ可重复读 )。

  • 保证了事务的持久性、原子性、隔离性之后,一致性才能得到保障。

5. 当前读和快照读。
6. B+树的结构
7. 对一个有索引的表进行查找时,查找流程是什么。
8. sql注入攻击

sql注入,简单来说就是用户在前端web页面输入恶意的sql语句用来欺骗后端服务器去执行恶意的sql代码,从而导致数据库数据泄露或者遭受攻击。


防御:

1.预编译:JDBC进行连接时使用PreparedStatement类去代替Statement,或者传入的条件参数完全不使用String字符串

2.占位符:在用mybatis时,则尽量使用#{param}占位符的方式去避免sql注入


面试总结:

大约面试了四十分钟作用,当时走的是提前批,问的问题挺基础的,基本都是八股文。
面试官听声音应该很年轻,语气挺好的,就是只会给你提问题,不会给你答复,这个做的挺不好的。
#实习经验分享##面试题目##中孚信息#
全部评论
🎉恭喜牛友成功参与 【实习经验分享】活动! ------------------- 分享你的实习面经,做一个复盘和总结,可以更好提升自己哦!参与即有奖~ 👉快来参加:https://www.nowcoder.com/discuss/832274
点赞 回复 分享
发布于 2022-01-28 18:32
这是校招吗 还是社招
点赞 回复 分享
发布于 2022-02-09 10:23
请问测评完多久回复的啊?我怀疑我卡在了测评上
点赞 回复 分享
发布于 2022-04-14 19:18

相关推荐

不愿透露姓名的神秘牛友
11-27 10:28
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
小红书 后端开发 总包n+8w+期权
点赞 评论 收藏
分享
评论
14
54
分享
牛客网
牛客企业服务