说说自己的体验吧,经验的关系,能得到的面试不多,不过还是很幸运的能被大佬挑上简历,而且渣渣还能面俩部门,贼带劲儿.自己比较菜啊,简直就是在拿大厂刷经验,也发现了自己很多很多不会的东西.虽然挂了,但还是坚定了自己奔大厂的决心,福报啥的 emmm...后话了,继续加油~
PS: 蚂蚁的效率挺高的,反馈很快(隔天通知下一面或者通知你 GG 的邮件)...
加粗:求和大佬一起讨论所有的问题,找找正确答案
如何提前发现你的数据有问题,而不是等到用户反馈才知道?
如何防止超卖?
为什么要用 Redis?为什么没有用 db? 数据量不小,查一次耗时长
有没有 QPS?(没有统计过指标)
如何部署?(阿里云采购)
发生过丢消息的情况吗?为什么会丢失? rocket 保证消息不丢失
项目的过程中哪个点比较难?
项目中为什么要用 ThreadLocal 去做租户的隔离?
项目有什么缺点?
100 亿行数据,每个数字 32 位,取最小的的数字
有没有碰到特别难的事情,如何解决的?
业界中间件有什么了解吗?讲一个你深度理解原理的.
高并发的问题有遇到过吗?分布式锁是排他的,如何提升存储效率? 遇到的不多,但如果请求比较多的话会用分布式锁来解决,这么说也不对.应该是递进关系的,后面就给自己挖坑了 分布式锁是排他的,如何提升存储效率,应该是吞吐量的意思吧
有遇到过很大的流量吗? 没有
描述产生一次 fullGC 的整个过程 fullGC 解析
平时通过什么来提升自己 通过博客 /技术书籍
你有什么问题? (您觉得我的短板在于?) 没有互联网的思维,不会估算系统容量就往上发,这怎么能行,数据双写如何保证一致
头一天约了时间,第二天准时打电话过来了,整体下来偏基础,发现自己 JVM 相关菜的一笔,要好好补补,重新看一遍深入理解 java 虚拟机了
简单介绍下自己和项目 blablabla....
你觉得项目里最大的挑战是什么? 答得项目的设计和推动
为什么选择用 rocketmq? 公司推的呗
对 rocketmq 的了解?基本原理 发布订阅,服务注册,消息丢失的情况(几种情况:producer down,broker down,consumer down)
消息如何顺序? 单一队列,多队列分区顺序
rocketmq 事务消息,producer 如果 down 掉,事务无法提交这种情况 https://github.com/apache/rocketmq/blob/master/docs/cn/design.md
rocketmq 是强一致性还是弱一致性
消息重复如何解决?可以在中间件层解决吗?MQ 体系协议了解吗? 业务层幂等,中间件层 kafka 有做过这个处理,不了解
ThreadLocal 是怎样的概念?如何实现线程隔离的?基于这个原理有没有更加优化的方式? 这个优化让我懵逼了
线程池用 ThreadLocal 有什么问题?有什么思路来让业务方不去关注 ThreadLocal 的 set ThreadLocal 在线程复用的时候值可能不是最新的,需要每次都 set
你说你用过 dubbo,那看过 netty 源码吗?
不好意思没有....(那你回去看一下 netty 里的 FastThreadLocal,对 threadLocal 有优化)
https://blog.csdn.net/TheLudlows/article/details/85267651
讲讲 dubbo 的基本原理
JVM 调优?
没做过,说了下公司的一些 JVM 参数
频繁 YGC 如何排查?
支支吾吾半天....
换个问题,为什么会发生 YGC?
如果知道哪些对象需要被回收?
GCROOT
GCROOT 有哪些?
栈和堆有什么区别?
什么时候会压栈?
程序都是线程在执行,线程和栈和堆的关系? 懵逼了,后来发现是想问,栈线程私有,堆公共,一时没想起来
HashMap 如何实现?为什么会变红黑树呢?如何扩容?为什么是两倍?什么时候会用到位运算?
hashmap 到处都是位运算,居然只答出来一个扩容的,脑残
indexFor 取位置的时候也是用的位运算 h&length-1
有提到扩容的问题.扩容两倍的原因,也是为了取模可以通过上面这个&
操作来做提升性能,%
据说慢十倍,咱也不知道,咱也不敢问
https://blog.csdn.net/u014532901/article/details/78936283
你有什么想问的?
101
fantastM 2019-04-26 10:15:18 +08:00
翻页
|
103
shaojz2005 2019-04-26 10:47:06 +08:00
会不会是面试造飞机,工作拧螺丝呢?
|
104
weo0 2019-04-26 10:52:26 +08:00
@shaojz2005 对我来说 像造核弹
|
106
eamon666 2019-04-26 11:00:14 +08:00 1
@woyixinyiyi
首先 explain 的时候要避免 type=all 和 filesort 这两个出现 比如条件是 a>10 b=5 我索引弄成 a,b 也是能用到 a 这个部分的 但是 b 就用不到了 但是如果索引是 b,a 就会完全用到索引。 另外就是 order by 这个 如果你 select c order by c 索引是 c 开头 是可以用的上的 但是 select * order by c 这就不行了 所以这道题是有陷阱的,你要考虑到表中是否是只有 abc 三个字段 那么答案是唯一的 cab 否则就是 ab。也就是说我之前也说的不对。 这道题表面是考最左匹配 其实也包含了聚簇索引相关知识。 |
107
yazoox 2019-04-26 11:02:51 +08:00 via Android
学习一下
|
108
UnknownR 2019-04-26 11:15:07 +08:00
马克
|
111
exonuclease 2019-04-26 12:16:50 +08:00 via iPhone
咸鱼随便答一下 不会 java 只会 cpp
TreeSet/HashSet 区别 这两个就是 set 和 unordered_set 吧 一个是红黑树一个是哈希表 复杂度不一样 一个有序一个无序 HashMap 如何解决冲突,扩容机制 链地址法 每次扩张 2 倍 ConcurrentHashMap 如何做到高并发的 我猜是锁在桶的级别 线程池平常怎么用 。。。要用就抓一个用完了放回去啊 多个线程等待到某一节点然后统一放行有几种实现方式? 条件变量就完事了 数据库索引结构 B 树?多叉查找树反正 select * from t where a=? and b>? order by c limit 0,100 如何加索引 不会 什么是聚簇索引和非聚簇索引 不会 介绍下 Fescar/了解 CAP 吗?redis 里的 CAP 是怎样的? 不会 如何理解幂等?项目中接口的幂等是如何做的? 多次调用结果相同 无副作用 能不能做到幂等看啥业务啊 算法题:两个有序的 list,求交集 从前往后扫 一样就 push 进结果不然挪一下小的那个指针 |
112
dyllanwli 2019-04-26 13:41:59 +08:00
感谢一下
|
113
mineqiqi 2019-04-26 14:16:18 +08:00
咱也不知道,咱也不敢问啊
|
114
junan0708 2019-04-26 15:12:12 +08:00
select * from t where a=? and b>? order by c limit 0,100 如何加索引 加 acb 或者 ac , 查到 a 之后 c 是有序的,acb 的话主要是可以减少回表
|
115
ytmsdy 2019-04-26 15:20:07 +08:00
这面试题感觉不是造导弹啊,是要造核弹啊!
|
116
dfc572364 2019-04-28 07:46:57 +08:00
流弊
|
117
StephenW 2019-04-28 10:47:10 +08:00
从问的问题来看,难度偏高了点,主要是因为你是社招一年的。如果是 3 年的,问几个弱鸡问题有没有解决经验就可以了
另外,问的问题真的是造核弹,入职后你会发现就是把螺丝拧松开再拧上 |
118
nonprocoder 2019-04-28 10:56:17 +08:00
这些能用到吗,90%的程序员都是写 crud 代码,调 API
|
120
StephenW 2019-04-28 14:20:46 +08:00
|
123
chunrong918 2019-04-28 21:33:37 +08:00
@StephenW 划划水是什么问法
|
124
chunrong918 2019-04-28 21:51:14 +08:00
select * from t where a=? and b>? order by c limit 0,100 如何加索引
这道题怎么解答? |
125
linbiaye 2019-04-28 23:07:59 +08:00
你这不是全挂啊?都到了好几面了。
|
126
kangkag0231 2019-05-06 12:11:06 +08:00
可以
|