# 三七互娱
💣 过程简述
这个其实是获得了笔试机会。选择题难度不大,算法题部分,当时我并未开始刷 LeetCode,导致没有思绪,直接放弃了。
PS:三七互娱的简历投递网站做的非常一般,投递起来很困难。然后,三七互娱也是「广州三大坑」之一。
# 选择题
一个 n 个节点的二叉树,每个节点要么没有子节点要么两个子节点,问树的最大高度?
这里容易混淆高度和深度的区别,不过不影响,因为树的高度和深度是相等的。高度是从下往上数,深度是从上往下数。例如:
这里 G 的高度为 3,B 的深度为 2。所以这里答案应该是。
android判断手机电池状态级别的广播action?
ACTION_BATTERY_CHANGED
以下是私有 IP 地址的是?
私有 IP 地址的范围:
- A 类私有 IP 地址:10.0.0.0~10.255.255.255
- B 类私有 IP 地址:172.16.0.0~172.31.255.255
- C 类私有 IP 地址:192.168.0.0~192.168.255.255
软件测试的目的?
证明软件存在缺陷,使软件中的缺陷降低到一定程度
Arraylist 与 Linkedlist 查找、添加删除区别?
ArrayList 的实现是通过数组,LinkedList 的实现是通过链表,ArrayList 适用于查找,LinkedList 适合增删改。
HashMap 与 HashTable 键值是否为空?
HashMap 对象的 key 和 value 均可为
null
,HashTable 对象的 key 和 value 均不可为null
。HashTable 是 Java 中的遗留类,目前不太实用。而 HashMap 的设计者认为null
作为 key 和 value 是有实际意义的,所以允许其为null
。Activity 的分类是什么?
数据库删除 test 表的语句?
这道选择的选项中有
drop
和delete
和truncate
。通过查询,发现:drop
:是删除表 test,并释放空间,将 test 完全删除truncate
:删除表 test 中的内容,并释放空间,但是不删除表的定义,表结构还有,所以 test 表还在,只是内容为空delete
:可以删除指定数据,也可以删除整个表。如果删除表也是仅删除表 test 内的所有内容,保留表的定义,也不释放空间
针对二叉查找树增加、删除、查找的最坏时间复杂度
jvm 垃圾回收器有哪些?
常见的垃圾回收器分为3类:
- 新生代垃圾回收器:Serial、ParNew、Parallel Scavenge
- 新生代和老年代垃圾回收器:Serial Old、Parallel Old、CMS
- 老年代垃圾回收器:G1 收集器
ContentProvider 的作用是?
跨进程通信,不同应用之间可以互相访问对应的数据库
袋子里有 2 个红球,3 个绿球,2 个蓝球,从中取两个,求一个蓝球都没有的概率?
xml 布局文件放在哪个目录下
res/layout
ABCDEF 依次入栈,出栈序列为 CBDFEA,问栈的最小容量
数组未初始化就输出的结果
int[] a = new int[2]; System.out.println(a[0]); System.out.println(a[1]);
类未构造访问其成员变量的结果
class T { int t; } T t; System.out.println(t.n);
# 算法题
2 道算法题全部来自 Leetcode。
- 买卖股票问题求最大利润
- 求岛屿的周长