杭州的技术中台,事业部
8.19, 晚上8点左右,突然接到了电话。说是阿里的,然后就开始了电话面试了,猝不及防。
后面才知道这是简历评估面。
秒杀项目相关的问题,我总结在另一篇博文……求助及欢迎讨论
https://www.nowcoder.com/discuss/483320不使用任何优化,直接访问数据库,如何优化 (提示 redo、undo log的开销)
这里应该还可以答:批处理、连接池等
分布式session原理
HashSet的底层结构(不会,说了自己的设计思路)
JVM的类加载器、双亲委派模型
springMVC,答了DispatherServlet的流程
Redis
- 单线程为什么快
- 数据结构、应用场景
- 删除策略
- 如何实现多线程
- 线程池的类型、拒绝策略
- MySQL的索引,为什么用B+树
算法题:
01背包的变式。
//评测题目:
//小明在双十一晚会上抽奖赢得了一次天猫超市免单的机会,
//享受在一个包裹内最大体积V,最大重量M内免单
//假设商品i,体积Vi,重量Mi,库存Si,价格Pi
//目前天猫超市的商品分为生鲜水产(1)、食品酒水(2),美妆个护(3),居家生活(4)四大类
//生鲜水产不与美妆个护同包裹
//请你帮助小明在购物车里添置商品使得总价值最大
8.24 15:00 一面
当天早上11点打过来约的,问了一下,原来之前的是简历评估面,现在才是一面。
- 项目相关
这里有一个拓展问题,跟项目关系不大:
只用MySQL,如何保证数据正确(一致性、不丢失),而且能满足高并发的访问?
(以抢课接口为例,有访问有修改)
我的理解是要保证数据正确,就只能是开启事务。可是开启事务,就满足不了高并发的访问了。而且对库存的修改也是同一行,粒度只能是行锁了,没有优化空间。
这里感觉应该是怎么快速释放锁、降低锁粒度的,可是没思路,求解...
- MySQL
- InnoDB特性
- 索引结构
- 建立索引的原则
拓展问题:为什么建议单表的数据量不宜过大?
应该是 与IO次数相关。
数据多了,索引也多,需要的磁盘IO次数就多了。
synchronized
- 问锁粗化、锁消除。反而没问锁膨胀相关的。
- 悲观锁、乐观锁。对比
- Lock可重入的原理,
- Lock与synchronized
- 公平、非公平锁
线程池
定长线程池有什么问题?
正解:
AOP
能否对静态方法生效
正解:不能
- 学习方法。是否有实用过相关原理
第二天查看状态,已回绝。
全部评论
(3) 回帖