去邮储银行面试了,压力不大!

今天分享一位同学邮储银行的后端开发的面经,邮储银行的总包据听说 26W,邮储试用期6个月,由总行随机分配去网点,实习期工资五、六千左右。

邮储银行的面试流程,先是笔试,笔试跟互联网还不太一样,互联网中大厂笔试都是算法题,邮储的笔试没有编程题,全是单选题,150分钟 。

  • EPI(45 题,言语理解,逻辑推理,数算,思维策略,资料分析) 。

  • 英语(40 题,其中 20 道单选,5 篇阅读理解) 。

  • 综合(60题,银行行业,信息科技,法律,时事政治)。

笔试通过之后,就会进行面试邀约了。主要经历了一二面,每一面大概问 15 分钟的问题,相比互联网中大厂的面试难度是降低了不少。

  • 第一面的时候是群面的,三个候选人一起面,每个人先自我介绍,然后面试官对每个人一个一个问题

  • 第二面的时候是多个面试官面一个人

面试过程中被问的一些问题:

  • 技术问题:Java、MySQL、Redis、网络、算法

  • 软问题:职业发展、银行的认识、遇到的困难的解决等等。

这次跟大家解析一波银行一二面的技术方面的问题,大家看看难度如何?

图片

MySQL

聚簇索引和普通索引区别是什么?(一面)

图片

在 MySQL 的 InnoDB 引擎中,每个索引都会对应一颗 B+ 树,而聚簇索引和非聚簇索引最大的区别在于叶子节点存储的数据不同,聚簇索引叶子节点存储的是行数据,因此通过聚簇索引可以直接找到真正的行数据;而非聚簇索引叶子节点存储的是主键id,所以使用非聚簇索引还需要回表查询。

因此聚簇索引和非聚簇索引的区别主要有以下几个:

  • 聚簇索引叶子节点存储的是行数据;而非聚簇索引叶子节点存储的是聚簇索引(通常是主键 ID)。

  • 聚簇索引查询效率更高,而非聚簇索引需要进行回表查询,因此性能不如聚簇索引。

  • 聚簇索引一般为主键索引,而主键一个表中只能有一个,因此聚簇索引一个表中也只能有一个,而非聚簇索引则没有数量上的限制。

如果聚簇索引的数据更新,它的存储要不要变化?(一面)

  • 如果更新的数据是非索引数据,也就是普通的用户记录,那么存储结构是不会发生变化

  • 如果更新的数据是索引数据,那么存储结构是有变化的,因为要维护 b+树的有序性

数据库的表锁和行锁有什么作用?(一面)

表锁的作用:

  • 整体控制:表锁可以用来控制整个表的并发访问,当一个事务获取了表锁时,其他事务无法对该表进行任何读写操作,从而确保数据的完整性和一致性。

  • 粒度大:表锁的粒度比较大,在锁定表的情况下,可能会影响到整个表的其他操作,可能会引起锁竞争和性能问题。

  • 适用于大批量操作:表锁适合于需要大批量操作表中数据的场景,例如表的重建、大量数据的加载等。

行锁的作用:

  • 细粒度控制:行锁可以精确控制对表中某行数据的访问,使得其他事务可以同时访问表中的其他行数据,在并发量大的系统中能够提高并发性能。

  • 减少锁冲突:行锁不会像表锁那样造成整个表的锁冲突,减少了锁竞争的可能性,提高了并发访问的效率。

  • 适用于频繁单行操作:行锁适合于需要频繁对表中单独行进行操作的场景,例如订单系统中的订单修改、删除等操作。

表级锁:MySQL 里面表级别的锁有这几种:

  • 表锁:通过lock tables 语句可以对表加表锁,表锁除了会限制别的线程的读写外,也会限制本线程接下来的读写操作。

  • 元数据锁:当我们对数据库表进行操作时,会自动给这个表加上 MDL,对一张表进行 CRUD 操作时,加的是 MDL 读锁;对一张表做结构变更操作的时候,加的是 MDL 写锁;MDL 是为了保证当用户对表执行 CR

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值