7.22 阿里 政务中台 Java后端
一、项目
二、Java相关的题
1.String是可变的吗
2.StringBuilder和StringBuffer
都是用来处理字符串的拼接的,但是StringBuffer是线程安全的,StringBuilder是不安全的,但是实际上,当你的拼接次数在百级别的时候,使用以上三个几乎看不出效率上的差异(自己测试过),再往上才能体现出StringBuilder和StringBuffer的优势。
3.什么是线程安全什么是线程不安全
4.线程池是什么样的结构
①避免直接创建和销毁线程,这都是操作系统级别的“动作”,是很耗资源的
②用来做类似流量控制,避免过多线程同时运行造成CPU负载过重
5.Java里面线程池的类结构
6.线程池里面的一些核心参数,核心线程数、最大线程数、队列
7.ClassLoader
8.JVM的内存结构
栈
堆 老年代
新生代 survivor
eden
又大概讲了一下垃圾回收相关
三、算法题
1.存在一个字符数组或者说是字符串,删掉里面相邻且相等的全部字符,使得最终的字符串没有相邻且相等的。比如[a,b,c,d,d,d,c,a,d]最终结果应该是[a,b,a,d]
2.给出一个森林,找出其中叶子节点深度最小的那颗树
这里就是说用变量存储那棵树的跟节点,再用一个全局变量minDeep存储当前最小深度,每棵树用递归去做,递归的参数是(当前节点,当前深度),递归的结束条件是(left==null&&right==null),然后每次递归结束都判断当前深度跟minDeep做一个比较。
时间复杂度是总的树节点的个数n,空间复杂度只需要上面说的两个变量。
如何优化
四、网络
1.网络七层结构
2.arp协议在哪一层
前几天刚好看到过哈哈哈哈哈,在数据链路层,ip到mac转换
3.http2.0
不清楚。。。
4.tcp协议头有哪些东西
我怎么知道啊。。。
五、数据库
1.数据库第一范式
没有答出来。。
2.MySQL的primary key有什么作用
没有primary key要全表扫描,加了树结构索引可以加快查询
3.primary key 如何保证不重复
这里我实在不知道想问什么。。说了auto_increment自增,然后面试官说加入我有id=7,现在我要insert id=7,会怎么样,这个我就没有试过了。
4.数据库有哪些存储引擎
主要是InnoDB和MyISAM
5.InnoDB的索引是什么样的结构
这里扯到了和MyISAM的区别,也就是聚簇索引和非聚簇索引
六、后面就是聊天了
#阿里巴巴##秋招##面经##Java#