50道选择题,15道判断题,4道简答题,2道编程题
选择题覆盖面很广,数据结构,Java,计网,数据库,黑盒白盒测试,测试的分类,测试工具,redis等
UDP和TCP哪个无连接,最坏复杂度,哪个选项能体现递归的原理
简答题:
1.抽象类和接口的区别
- 抽象类可以包含普通方法的实现,而接口只能定义方法签名。
- 一个类只能继承一个抽象类,但是可以实现多个接口。
- 抽象类可以拥有构造器,但是接口不行。
- 抽象类的访问修饰符可以是 public、protected 或 package-private,但是接口只能是 public。 总的来说,抽象类更偏向于提供一些通用的代码实现,而接口更偏向于定义规范。
2.CAP原则
CAP原则指的是分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)三者无法同时满足。在分布式系统中,当网络分区或者故障发生时,必须要做出取舍。
3.Redis持久化方式并说明优先级
Redis支持RDB和AOF两种持久化方式。 RDB:将内存中的数据保存到磁盘上,是一个快照的形式。可以设置自动或手动触发方式,优点是占用资源小,缺点是可能会丢失一些数据。 AOF:将写操作以日志的形式记录到文件中,可以通过重放日志恢复数据。可以设置同步频率,优点是可以实现实时备份,缺点是占用资源高。 优先级:如果需要高可用性和数据完整性要求较高,可以使用AOF持久化方式;如果更加强调性能,可以使用RDB方式。也可以同时使用两种方式,优先使用AOF方式。
4.事务的四种隔离级别
- READ UNCOMMITTED(读未提交):允许一个事务读取另一个事务尚未提交的数据。这种情况下可能会导致脏读、不可重复读、幻读等问题。
- READ COMMITTED(读已提交):要求一个事务只能读取已经提交的数据。可以避免脏读问题,但是可能会出现不可重复读、幻读等问题。
- REPEATABLE READ(可重复读):保证了在同一事务中多次读取同样的数据结果是一致的。可以避免脏读和不可重复读问题,但是可能会出现幻读问题。
- SERIALIZABLE(可串行化):将所有事务按照顺序依次执行,不会出现并发问题。但是效率低下,一般不使用。
编程题:
力扣上的原题
1.判断是否为高平衡二叉树
https://leetcode.cn/problems/balanced-binary-tree/
2.量大水量