7.22 阿里 政务中台 Java后端

一、项目


二、Java相关的题

1.String是可变的吗

2.StringBuilderStringBuffer

都是用来处理字符串的拼接的,但是StringBuffer是线程安全的,StringBuilder是不安全的,但是实际上,当你的拼接次数在百级别的时候,使用以上三个几乎看不出效率上的差异(自己测试过),再往上才能体现出StringBuilderStringBuffer的优势。

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,空间复杂度只需要上面说的两个变量。

如何优化

可以做剪枝的操作,可能之前某次操作已经得出来目前为止的的最小深度了,那么对于后面的递归,当发现深度大于目前的minDeep的时候就可以不需要继续递归下去了直接减掉当前分支。
后面面试官还问可不可以继续优化,当场确实想不出来,然后晚上睡觉前就想到了。。可以做层次遍历

四、网络

1.网络七层结构

2.arp协议在哪一层

前几天刚好看到过哈哈哈哈哈,在数据链路层,ipmac转换

3.http2.0

不清楚。。。

4.tcp协议头有哪些东西

我怎么知道啊。。。

五、数据库

1.数据库第一范式

没有答出来。。

2.MySQLprimary key有什么作用

没有primary key要全表扫描,加了树结构索引可以加快查询

3.primary key 如何保证不重复

这里我实在不知道想问什么。。说了auto_increment自增,然后面试官说加入我有id=7,现在我要insert id=7,会怎么样,这个我就没有试过了。

4.数据库有哪些存储引擎

主要是InnoDBMyISAM

5.InnoDB的索引是什么样的结构

这里扯到了和MyISAM的区别,也就是聚簇索引和非聚簇索引

六、后面就是聊天了

#阿里巴巴##秋招##面经##Java#
全部评论
1 回复 分享
发布于 2020-07-27 13:16
点赞 回复 分享
发布于 2020-07-23 10:46
[a,b,c,d,d,d,c,a,d]应该是[a,b,c,d,c,a,d]把?
点赞 回复 分享
发布于 2020-07-23 10:48
老哥 面完你没问评级吗
点赞 回复 分享
发布于 2020-07-23 11:47
第一题有什么好点的方法吗
点赞 回复 分享
发布于 2020-07-23 12:13
又看见你了老哥
点赞 回复 分享
发布于 2020-07-23 14:32
算法题要AC吗还是只是说思路
点赞 回复 分享
发布于 2020-07-23 15:22
老哥是几面啊
点赞 回复 分享
发布于 2020-07-27 21:50
内推开始之前面了一面说通过了,让我等二面,内推投完就没有消息了。我真的服了
点赞 回复 分享
发布于 2020-08-05 22:33

相关推荐

扭转乾坤_:现在企业都是学华为,一直通过丢池子里,最后捞
点赞 评论 收藏
分享
4 15 评论
分享
牛客网
牛客企业服务