秋招面经-阿里智能信息-研发工程师JAVA

一面:

1、自我介绍

2、对于未来工作的 base 地是怎么考虑的?

3、谈谈项目 1 做了什么事,自己负责了什么工作(5 min)

4、手撕做题:一个字符串 s 和一个整数 k,找出 s 中的最长子串,要求该子串中的每一个字符出现次数都不少于 k,返回这个子串的长度。比如 s = "ababbc", k = 2,则输出结果为 5。因为最长子串为 "ababb",其中 a 出现 2 次,b 出现 3 次,均不少于 k

5、谈谈当前写法的时间复杂度是多少?

6、思考一下基于滑动窗口能否实现?代码怎么写?

7、手撕做题:写一个线程安全的单例模式

8、谈谈饿汉式单例和懒汉式单例的区别、饿汉式为什么是线程安全的、懒汉式单例为什么要有双重检查的写法

9、volatile 关键字的作用是什么?

10、谈谈 synchronized 关键字的机制

11、还了解 Java 的哪些锁?

12、Java 创建线程有哪些方式?

13、线程池的参数具体有哪些?

14、线程池的消费策略是怎样的?

15、假设有 5 台机器,每台配置:1 CPU,512 M 内存,1 T 硬盘,1 GB 网卡。如何设计一个高效稳定的系统,从 100 亿个数中选出最大的 1000 个

16、算法层面可以采用负载均衡、数据分块并结合堆来实现,那么如何从工程的角度来保证这个系统的稳定性?

17、一个机器处理某个数据块时宕机了,如何不让其从头开始处理数据,而是找到上一次处理数据的位置继续处理?怎么做持久化?怎么做数据恢复?怎么实现数据处理进度的标记?

#发面经攒人品#
全部评论

相关推荐

09-22 22:22
中山大学 Java
双尔:赌对了,不用经历秋招的炼狱真的太好了,羡慕了
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务