作者:Mercurio
链接:https://www.nowcoder.com/discuss/385250?channel=-2&source_id=discuss_terminal_discuss_sim
来源:牛客网
- java内存管理模型
- gc几种算法 优缺点
- 如何避免full gc
- 缓存击穿,雪崩,穿透怎么解决的
- 多线程用过哪些类
- 线程池实例,参数
- 线程池的流程
- 拒绝策略
- 我通常用哪个策略
- 用的设计模式有哪些
- spring 中哪些有
- spring初始化bean流程
- 循环引用解决
- spring底层用的反射是class.forName还是classloader(我懵了)又问forname和classloader底层的区别
- 加载到jvm中bean完成了初始化什么什么的 (awsl听了好几遍录音还是没听出来问的是什么)
- 后来才明白过来问的是延迟加载,我说了BeanFactory和applicationContext的区别
- 什么样的bean你会设置为延迟加载(涉及到了我的知识盲区)我扯了扯感觉有点像单例的懒汉和饿汉,说我想到的是比如数据库连接这种肯定用到并且长期存在的不延迟加载,一些朝生夕灭的对象用延迟加载(感觉不太会就随便答答)
- 数据库的sql优化
- 数据库索引
- 一个表十几个字段,怎么建立索引,我说把选择性强的放在前面,再看查询日志,看一下哪个查询的次数多
- 性别这种索引放在前面还是后面
- B+的查询原理
- 什么样的查询会有回表查询
- aaaaaabbbbbbzzzz.....zzzccccccc这样的字符串有100kb,怎么压缩
我说放一个数组num[x-'a']记录每个字母出现了多少次
他说还可以优化吗
我说可以记录每个字母出现的开始位置和结束位置
他说只需要记录开始就可以了(对哦) - 性别反转 表中有个字段性别 = 'm' 代表男性 'f'代表女性,一句sql反转过来
- 问我机器学习的算法rpm 我说不太了解
- 工作地有要求嘛,加班能接受嘛,实习时间可以嘛
项目
- 怎么达到这个qps的
- 怎么保证事务的
蚂蚁金服二面
这个面试官感觉超级有水平很多问题我都是有了解过,感觉虽然说的都是对的,但是在实际中应用是有问题的
项目
因为我的操作系统项目里面涉及到了进程调度,问我软中断是怎么实现的
秒杀系统的背景
rabbitmq应用的场景
为什么用rabbitmq 我说相对于kafka低延时
什么途径知道rabbitmq低延时
延时是哪里到哪里的延时
有考虑过用redis嘛
qps什么概念,他说秒杀的tps更重要(开始探讨)
有没有测试过tps
扣库存乐观锁和悲观锁用的哪个
为什么不使用乐观锁
你的职责是什么
幂等哪里实现的
高并发的时候幂等不太合适...(懵)我说用了事务
### 基础
学的最好的课 我说计网
你们学的几层协议 我说7层和5层都了解过
负载均衡 4层和7层的区别(我懵了)
最吃力的课 “设计模式
离散数学怎么样 “还好
(嗷突然想起来之前还有)问我lambda表达式,每个用户有个黑名单标识位,如何用lamda表达式来实现把黑名单标识位为true的过滤出来并得出String的形式
阿里云二面
先是给我发过来个链接让我写题
- 两个String相加,返回一个String,我第一次手撕代码超级紧张,漏洞百出,还好最后(好像)改对了
- 用hashmap实现一个缓存,要求有过期时间,一开始思路有点问题又想明白了修改过来了
然后打电话过来,就开始自我介绍了
(到反问阶段才想起来录音好气鸭(叉腰)就说些我能想起来的叭) - spring创建bean的流程
- mybatis怎么避免sql注入
- 设计模式用到了哪些
- 操作系统项目里面的进程调度讲一下
- 秒杀的流程
- 数据库建立索引了嘛
- 数据库索引讲一下
- 你觉得还有什么没问到的讲一下 我开始讲TCP拥塞控制流量控制
- 你觉得你如果能在阿里工作,最想收获到的是什么