杭州西溪——阿里外包:一面出结果+手撕代码

背景:22年专升本,科班,3年经验(支付、电商项目)

第一阶段:手撕代码,40分钟
滑动窗口:给定一个字符串,求出其最大无重复字符子串的长度
如:abcabcd -> 输出3
如:1231323 -> 输出3
【可以用自己的idea】

第二阶段:八股
1.set和list的区别?java的集合是怎么实现排序的?
2.set怎么做去重的?(自己瞎编的,糊弄过去了,建议大家看看源码)
3.java的锁实现有哪些,说一下区别和实际应用?(synchronized、lock)
4.乐观锁和悲观锁有什么区别?
5.说一下线程池的核心参数?怎么创建线程池?
6.多线程的使用场景有哪些?juc的工具类有用过吗?(countDownLatch)
7.如何保证接口的幂等?仅仅靠分布式锁就行了吗?
8.分布式锁好还是乐观锁好?(我懵逼的,我不知该怎么说,因为这两个锁在我看来是不同维度的)
9.redis:讲一下hash类型?redis的setnx和set有什么区别?底层有什么关联?
10.说一下你项目里的策略模式?(策略+工厂 实现动态路由)
11.java里的阻塞队列有哪些?
12.讲一下慢sql优化的步骤?
13.explain执行计划代表索引的字段是哪个?(type)索引类型有哪些值?(all、const、range、ref)
14.SpringMVC的基本原理是什么?

第三阶段:场景
刚才你说一般在定时任务中使用多线程,那在集群环境下,怎么保证只有一台服务器执行任务呢?怎么保证负载呢?
(ps:我不知道,希望大神在评论区解答)
全部评论
场景题,使用分布式锁呀
点赞 回复 分享
发布于 04-14 15:10 浙江

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务