首先进行自我介绍。
1.什么是事务?
是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元);
2.事务的四个原则:
原子性 :事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做
一致性 :事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统 运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是 不一致的状态。
隔离性 :一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性 :也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。
3.是否熟悉Linux?
4.除了MYSQL,其他的数据库有没有了解?
5.算法题:给一个数组包括10个数/字符串,可以乱序输出。
(我一开始的回答是,可以随机产生一个数,使数组中的数依次减去这个随机数,所得到的10个差,优先输出最小的,再随机产生一个数,用剩下的9个数依次减去这个随机数,得到9个差,优先输出最小的,依次输出这10个数字)
面试官说数组中可以不是整数,可以是字符串怎么办?面试官给出提示根据数组下标依次输出,但是当输出数组中最后一个元素时,可能一次性输出的几率比较小,怎么办?
(我说,可以采用二分思想,当输出的数为原数组长度的一半时,可以把剩下的数重新放到一个数组中,重新产生随机数。面试官说有更加便捷的方法,之后可以想一下)
6.数据库有一种优化,当突然断电时,一个sql命令执行了一半,依旧可以保证数据的完整性,这个原理是什么?
(这个问题我只说了还原,但并不知道具体什么)
7.问了大学做的一个项目是关于深度学习的,用到了什么框架(我们用的是网上开原框架:卷积神经网络)?小组之间的合作是怎么样的?卷积神经网络相比传统的语言有什么不同之处?小车是怎么采集车道线图片的?小车是怎么调试参数的?
8.在上一个公司实习的主要工作是什么?(我说是TOB业务交流,包括软件测试)面试官说是否可以自动化测试?(我说可行性并不高,因为软件流程很复杂,包括审核、提交,每一步骤都不同)
感受:大部分问题都没回答上来。



