记一次蚂蚁金服的面试经历( 六 )

11、如果现在一台生产的数据库挂了怎么处理?

首先这题没有 get 的面试官想问的点是什么,所以就根据自己项目本身的情况做答了。我们项目生产上的数据库是有主备的,在主数据库挂掉的情况下是会切换到备数据库,先保证业务的稳定性,然后在对崩溃现场进行保留,方便后续分析问题,找到原因。这里面试官追问了一下,我们主备的切换是自动的还是手动的,这个由于是公司运维团队负责的,自己本身不是特别清楚,但是根据对公司运维团队的了解,应该是自动的。所以就这样如实的回答了。

12、数据库如何实现 rollback 的?

数据库在写入数据之前是先讲对数据的改动写入 redo log 和 undo log,然后在操作数据,如果成功提交事务就会讲操作写入磁盘;如果失败就会根据redo log 和 undo log 逆向还原到事务操作之前的状态。

13、工作这么久你遇到的最难的技术点是什么?

我这边根据具体的工具经理,回答的是 kafka 的初次使用,因为当时是公司内部第一个引入 kafka,之前没有小组使用过,所以要采很多坑。并且那个时候 kafka 还没有发布1.0版本,官网和网上提供的版本很杂乱不兼容。

推荐阅读