Linux的epoll机制?
为什么重写equals时必须重写hashCode方法?
微服务调用链?
http://blueskykong.com/2017/11/10/apm1/
http://www.10tiao.com/html/516/201710/2651103505/1.html
Java 现有的数据结构实现一个LRU缓存?
LinkedHashMap accessOrder设为true,按照访问顺序排序
如何减少上下文切换?
上下文切换又分为2种:让步式上下文切换和抢占式上下文切换。
前者是指执行线程主动释放CPU,与锁竞争严重程度成正比,可通过减少锁竞争来避免;
后者是指线程因分配的时间片用尽而被迫放弃CPU或者被其他优先级更高的线程所抢占,
一般由于线程数大于CPU可用核心数引起,可通过调整线程数,适当减少线程数来避免。
Spring的缺点是什么?
Spring的缺点不多,如果非要找几个的话,我觉得是
1、开发效率。Spring这种通过XML配置的方式,很容易配置错误,影响开发效率。
当然有些配置可以使用Anotation配置,但是不能完全替代XML,比如包扫描,创建多个实例都需要通过XML来配置。
Spring的这种设计是一种通过XML来编程的方式。
2、测试效率。配置多的话,容器启动时间比较长,影响测试效率。所有有些测试,我们尽量都不启动Spring容器。
3、有一定的上手成本。
Spring容器初始化过程?
https://juejin.im/post/5af8f8066fb9a07ac85a853e
http://lumingfeng.xyz/2016/05/05/%E8%AF%BB%E3%80%8ASpring%E6%8A%80%E6%9C%AF%E5%86%85%E5%B9%95%E3%80%8B-%E6%80%BB%E7%BB%933-IoC%E5%AE%B9%E5%99%A8%E7%9A%84%E5%88%9D%E5%A7%8B%E5%8C%96%E8%BF%87%E7%A8%8B/
http://cxis.me/2017/02/10/Spring%E4%B8%ADIOC%E5%AE%B9%E5%99%A8%E7%9A%84%E5%88%9D%E5%A7%8B%E5%8C%96%E8%BF%87%E7%A8%8B/
如何测算系统并发量?
1.如何测算并发量?
通过访问日志(如 Nginx) ,除以相应时间片段
2.如何提高并发量?
具体问题具体分析,看问题瓶颈出在哪? 大概思路分三个方面
a.减少请求数量(前端或各级缓存)
b.减少请求实施处理量 (异步)
c.优化容器并发处理 (线程支持、并发数支持、垃圾回收设置等)
d.分布式 水平扩展
Google是如何在一秒内把搜索结果返回给用户的?
如果有几十亿的白名单,每天白天需要高并发查询,晚上需要更新一次,如何设计这个功能?
1000万条数据如何从数据库取出来?不能直接加载到内存?
分页?海量数据处理:http://uule.iteye.com/blog/2419270
新浪微博是如何实现把微博推给订阅者?
如果由你来设计,你会如何实现朋友圈的功能?朋友圈的分页功能是如何实现的?
http://ifeve.com/question/如果由你来设计,你会如何实现朋友圈的功能?朋/
让您做一个电商平台,您如何设置一个在买家下订单后的”第60秒“发短信通知卖家发货?
您需要考虑的是 像淘宝一样的大并发量的订单.
http://ifeve.com/question/关于淘点点面试中碰到的架构设计问题?/
秒杀系统设计?
秒杀防止超卖?
1、将提交操作变成两段式,先申请后确认。
1.1利用Redis的原子自增操作(相比较MySQL的自增来说没有空洞),同时利用Redis的事务特性来发号,
保证拿到小于等于库存阀值的号的人都可以成功提交订单。
1.2数据异步更新到DB中。
优点:解决超卖问题,库存读写都在内存中,故同时解决性能问题。
缺点:由于异步写入DB,可能存在数据不一致。另可能存在少买,也就是如果拿到号的人不真正下订单,可能库存减为0,但是订单数并没有达到库存阀值。
2、数据库层面
2.1设计2张表:
第一张:判重表(buy_record),该用户有没秒杀过该商品
字段: id, uid, goods_id, addtime
第二张表:商品表 goods
字段: goods_id goods_num
2.2对(uid,goods_id)加唯一索引!
start transaction;
insert into buy_record。。。
if(唯一索引报错?)
抛异常,已经秒过了,回滚。。。
update goods set goods_num=goods_num-1 where goods_id=$goods_id andgoods_num>0 ;
if(受影响行数<=0)
抛异常,商品秒完了,回滚。。。
该方法完美的解决了超卖与select排它锁导致的并发低的问题。极大提升性能
3、Mysql优化,改源码
丁奇在DTCC2013上分享的《秒杀场景下MySQL的低效》,使用组提交
生成唯一串的需求,并发请求量非常大,该如何实现?
http://ifeve.com/question/京东面试题-有一个生成唯一串的需求,并发请求/
1、预生成,由单独的第三方服务器(区别应用服务器来生成)
2、格式:应用服务器ip+进程号+当前时间(精确到纳秒)+计数器
mysql处理什么数量级的数据时,性能会急剧下降?
1、跟mysql版本有关系
2、使用场景了,如果是单表就是500w就会性能下降。根据业务场景进行分库分表
分库分表,如何动态扩容?应该遵循什么原则?
http://ifeve.com/question/使用对id取模的方法做数据库的水平拆分,如果需要/
有关注哪些新的技术?
职业规划是什么?短期,长期目标是什么?
如何学习一项新技术,比如如何学习Java的,重点学习什么?
http://ifeve.com/java-interview-question/
https://www.cnblogs.com/java1024/p/8594784.html
http://www.infoq.com/cn/articles/jdk1.8-abstractqueuedsynchronizer
面试:
http://uule.iteye.com/category/171363
行为面试法
http://job.chsi.com.cn/jyzd/zcht/200805/20080521/6960450.html
网友评论