八股文相关:
排查问题工具:https://arthas.aliyun.com/doc/dashboard.html
美团技术团队:https://tech.meituan.com/2013/12/04/yui3-practice.html
美团线程池文章:贼精华
https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html
优化逻辑思路: 压测接口 确认慢sql + 前置缓存,缓存预热 + 扩容 + 服务降级 + 服务熔断
【智能问答机器人】
https://blog.youkuaiyun.com/PAL_AI/article/details/93232147
https://baijiahao.baidu.com/s?id=1686741986843124488&wfr=spider&for=pc
- 行业高频词获取方式,公司的智能问答机器人的架构流程,完整的链路分析
- 情景话术配置(情景模拟 商品反问模板、订单反问模板、尺码表计算模板、特定活动模板、物流模板、)
- 自定义关键词、自定义问法
- 行业高频问法配置(通用回复问法、店铺个性问法、商品级问法)
- 店铺分析(上传语料)
- 迁移灵犀版本升级,遇到的困难,如何解决
- 识别率和覆盖率如何计算得到的数据,如何智能学习
- 亮点的功能
- 前置缓存设计
【超级简历】: https://www.wondercv.com/jianlimoban/chengxuyuan/
【java面试指北】: https://www.yuque.com/books/share/04ac99ea-7726-4adb-8e57-bf21e2cc7183?#
【java面试指北】: https://wx.zsxq.com/dweb2/index/topic_detail/118811814512212
https://www.cnblogs.com/yourbatman/p/11532729.html
https://javadoop.com/post/spring-ioc
https://javadoop.com/
https://mp.weixin.qq.com/s/I6SPNQaQgJkGTh-pKpDPTg
https://arthas.aliyun.com/doc/thread.html
【面试题】
https://wx.zsxq.com/dweb2/index/topic_detail/818811128411212
https://wx.zsxq.com/dweb2/index/topic_detail/418812811415118
https://wx.zsxq.com/dweb2/index/topic_detail/418815285244128
https://wx.zsxq.com/dweb2/index/topic_detail/185585181211852
https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7?#
https://javaguide.cn/system-design/framework/springcloud/springcloud-intro/#%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81-ribbon
https://github.com/Snailclimb/JavaGuide
https://github.com/CodingDocs/awesome-java
https://time.geekbang.org/column/article/313763
https://www.wondercv.com/jianlimoban/chengxuyuan/
【设计模式 Design pattern】:https://www.cnblogs.com/chenssy/p/3357683.html
【分库分表】:https://shardingsphere.apache.org/document/legacy/3.x/document/cn/overview/
【凤凰架构-周志明-牛人大佬】:http://icyfenix.cn/introduction/about-me.html
【面试推荐的项目,按照顺序看】
[1] JavaGuide: https://github.com/Snailclimb/JavaGuide
[2] CS-Notes: https://github.com/CyC2018/CS-Notes
[3] advanced-java: https://github.com/doocs/advanced-java
[4] miaosha: https://github.com/qiurunze123/miaosha
[5] toBeTopJavaer: https://github.com/hollischuang/toBeTopJavaer
[6] JCSprout: https://github.com/crossoverJie/JCSprout
【整理文章看的顺序 -> meeting】
https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485808&idx=1&sn=1013253533d73450cef673aee13267ab&chksm=cea246bbf9d5cfad1c21316340a0ef1609a7457fea4113a1f8d69e8c91e7d9cd6285f5ee1490&token=510053261&lang=zh_CN&scene=21#wechat_redirect
https://javaguide.cn/java/concurrent/%E6%8B%BF%E6%9D%A5%E5%8D%B3%E7%94%A8%E7%9A%84java%E7%BA%BF%E7%A8%8B%E6%B1%A0%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5/
https://snailclimb.gitee.io/javaguide/#/./docs/java/new-features/java%E6%96%B0%E7%89%B9%E6%80%A7%E6%80%BB%E7%BB%93?id=java-%e5%b9%b3%e5%8f%b0%e6%a8%a1%e5%9d%97%e7%b3%bb%e7%bb%9f
https://snailclimb.gitee.io/javaguide/#/?id=%e5%b9%b6%e5%8f%91
https://github.com/Snailclimb/JavaGuide
https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7?#
【推荐书籍】
https://www.zhihu.com/question/56110328/answer/869069586
《Redis开发与运维》
【小破站推荐视频】
https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247507589&idx=1&sn=75f21ac51ab750f5409c51e0dfec2262&scene=21#wechat_redirect
https://wx.zsxq.com/dweb2/index/topic_detail/418451155121458
【编辑器】
http://www.markdown.cn/
【面试所需实战项目】
https://github.com/CodingDocs/awesome-java
【线程相关】
-> https://mp.weixin.qq.com/s?__biz=Mzg3NjU3NTkwMQ==&mid=2247505103&idx=1&sn=a041dbec689cec4f1bbc99220baa7219&source=41#wechat_redirect
-> https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html
需要重新再次看的(AQS): https://www.javadoop.com/post/AbstractQueuedSynchronizer-2
计算机网络相关的文章
JavaGuide -> https://javaguide.cn/cs-basics/network/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E5%B8%B8%E8%A7%81%E9%9D%A2%E8%AF%95%E9%A2%98/
【mysql优化】
-> https://javaguide.cn/database/mysql/mysql-high-performance-optimization-specification-recommendations/
-> mysql mvcc https://javaguide.cn/database/mysql/innodb-implementation-of-mvcc/
【redis】
-> 分布式锁 https://mp.weixin.qq.com/s/CbnPRfvq4m1sqo2uKI6qQw
-> https://mp.weixin.qq.com/s/kyFAWH3mVNJvurQDt4vchA
-> redis 基础操作命令大全 http://redisdoc.com/string/index.html
【java命名规范】
-> https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486449&idx=1&sn=c3b502529ff991c7180281bcc22877af&chksm=cea2443af9d5cd2c1c87049ed15ccf6f88275419c7dbe542406166a703b27d0f3ecf2af901f8&token=999884676&lang=zh_CN#rd
【spring相关文章】
-> ioc源码 https://javadoop.com/post/spring-ioc
-> bean的生命周期 https://www.cnblogs.com/zrtqsk/p/3735273.html
【java源码分析篇】
-> https://javadoop.com/
【网络相关】
-> https协议,安全证书CA https://www.cnblogs.com/sujing/p/10927569.html
【高质量文章】
- https://mp.weixin.qq.com/s/1nd0OE_6FKklus0FpOlTlA
- https://mp.weixin.qq.com/s/Qc4t_-_pL4w8VlSoJhRDcg
- https://mp.weixin.qq.com/s/nEMSqw7nPR_WaZ19gh810A
- https://patents.google.com/patent/CN103714160A/zh 外网相关论文文章
- https://juejin.cn/post/6844903936718012430 分布式下 CAP和BASE理论的解释,写的很好
- https://draveness.me/whys-the-design-dns-udp-tcp/ 为什么这么设计系列
- https://mp.weixin.qq.com/s/T6mMDdtTfBuIiEowCpqu6Q 系统架构异地多活
一面基础知识:
1.Java线程池参数含义
corePoolSize 核心线程数
maxinumPoolSize 最大线程数
keepAliveTime 空闲线程存活时间
unit 存活时间的单位
workQueue 存放线程任务队列
threadFactory 线程工厂,创建新线程
handler 线程池拒绝处理后的任务,四种拒绝策略,抛异常(默认),由当前线程执行,丢弃最老的
参考csdn:
https://blog.youkuaiyun.com/xiewenfeng520/article/details/106954170
https://blog.youkuaiyun.com/xiewenfeng520/article/details/106954169
https://blog.youkuaiyun.com/xiewenfeng520/article/details/106954167
2.Java线程同步方法,synchronized和ReentrantLock
相同点
synchronized和lock都是可重入锁,即一个线程可以对同一把锁加多次
不同点
synchronized是关键字内置语言实现,Lock是Java语言api接口
synchronized在线程发生异常时会自动释放锁,因此不会发生异常死锁。Lock异常时不会自动释放锁,所以需要在finally中实现释放锁。
Lock是可以中断锁,Synchronized是非中断锁,必须等待线程执行完成释放锁。
Lock可以使用读锁提高多线程读效率。
ReentrantLock可以设置成公平锁,synchronized使用的是非公平锁
ReentrantLock只能修饰代码块,而 synchronized可以用于修饰方法、修饰代码块等;
ReentrantLock可以知道是否成功获得了锁,而 synchronized却不行
ReentrantLock可以绑定多个Condition条件
参考:
https://www.jianshu.com/p/96c89e6e7e90
3.Java 垃圾收集算法,CMS收集的阶段
4.hashmap和concurrentmap
5.mysql索引结构,聚集索引和非聚集索引
6.redis几种数据结构,zset实现原理
7.描述mq(kafka)架构
菜鸟国际仓储团队一面:
一、做过的最复杂的一个技术难点项目:
二、RocketMQ:
1、遇到RocketMQ 消息积累了怎么处理?。
2、如果RocketMQ中broker集群全部挂掉了怎么办?
3、RocketMQ 如何保证数据不丢失?
4、举一下项目中实际使用RocketMQ的例子:
答:
三、缓存:
1、Redis 速度快、性能高的原因?
2、Redis 实现分布式锁的注意事项?
3、【重要】缓存一致性设计实现?
5、zk 实现分布式锁原理
四、多线程
1、多线程线程池如何设置才合理?
五、JVM
1、类加载器、双亲委派模型?
2、乐观锁 和悲观锁?
介绍一下两种锁?synchronized 介绍一下?synchronized做了哪些优化?
CAS 介绍一下,有哪些问题,如何解决?
深圳天猫海外技术:
dubbo的懒加载,rocketmq和kafka的技术选型
1.问做过的系统,有什么亮点
2.dubbo原理
3.dubbo延迟加载
4.redis缓存击穿,热点key
5分布式锁使用场景
Spring和springboot的区别,springboot如何实现自动装配,dubbo有哪些角色和zk具体的调用方式
1.map的结构。1.7和1.8的区别,为什么使用红黑树不用平衡二叉树,红黑树的结构,怎么自旋的。currenthashmap的分段式锁怎么理解?为什么1.8舍弃了?
2.linkblockqueue和currentblockqueue实现线程安全的方式是否一样,不一样在哪里,为什么前者会维护一个队列长度的常量,而后者需要每次遍历得到?
3.锁的实现有哪几种?区别是什么?有什么不同的使用场景?
4.lock的api有哪些,怎么用?锁升级的过程,自旋锁是怎么自旋的?会一直自旋下去吗?怎么控制,为什么不能一直自旋?
5.cas怎么解决线程冲突的?是否会出现a,b两个线程同时campare但是不同时间swap呢?如何解决?
6.volatile的特征?怎么做到可见性的?详细说说过程
7.aop说一下,实现的方式?jdk和cglib的区别,spring怎么判定使用这两种方式?为什么jdk1.7比较慢,1.8后快了,优化了什么?jdk反射调用的实现方式是原代码,还是新生成的代码?
8.mybatis为什么可以把sql拿来就用,底层是怎么实现的?是否有使用到aop原理?怎么用的?
9.redis有用过吗?你们怎么用缓存?怎么保证多线程一致性?分布式锁怎么用的?怎么保证多线程可用?
10.生产如何排查一个接口响应慢?如果是数据库响应慢,该怎么快速定位是数据库响应慢?
11.生产应用怎么部署的?有使用容器吗?多机器部署吗?异地双活怎么做的?
P7考察点:复杂系统架构,业务领域抽象,有多次较大项目的success story
学习参考
https://www.jianshu.com/p/158b8bfb1831 算法
http://mysql.taobao.org/monthly/2017/12/ 淘宝数据库周报
https://zhengkai.blog.youkuaiyun.com/article/list/2?t=1 小哥的csdn,里面的文章有对子项目的描述,也有常用的faq和版本升级描述,我觉得不错
webservice:
https://www.cnblogs.com/leeego-123/p/10404631.html
面试着重看
http://note.youdao.com/noteshare?id=d4b8e649e8ee6903164027f02be2e8f4 数据库相关笔记
http://note.youdao.com/noteshare?id=3e0ab575a837ab9d898e7c7693cd40b3 入职+web基础
http://note.youdao.com/noteshare?id=5c3f67c47e36fc8aac7c73a4fa88178a 项目涉及的知识整理
http://note.youdao.com/noteshare?id=eb27d6c6ce3e6e1b28ed8e4f320bd115 面试总结
http://note.youdao.com/noteshare?id=ff2e44246a026ec8abf0de255c6e8d10 java学习引导
http://www.makeru.com.cn/course/details/2058.html shell命令
https://www.cnblogs.com/look-look/archive/2019/10/30/11765523.html
这个面试题整理挺多都是面试问到的问题
https://github.com/souyunku/DevBooks 面试题整理
https://github.com/Snailclimb/JavaGuide 知识总结
https://www.cnblogs.com/intsmaze/category/997405.html 复习参考
超级好用的组件url(包含前端+后端代码生成等)
http://c.runoob.com/front-end/854
https://start.jhipster.tech/jdl-studio/
https://www.ibm.com/developerworks/cn/opensource/os-springroo1/index.html
https://projects.spring.io/spring-roo/
https://www.katacoda.com/learn
https://ant.design/index-cn
https://umijs.org/zh/guide/#%E7%89%B9%E6%80%A7
https://www.jhipster.tech/
http://editor.swagger.io/
https://app.swaggerhub.com/
https://lanhuapp.com/
正则表达式,超级好用的网站测试
https://www.runoob.com/regexp/regexp-example.html
自动生成api文档
https://gitee.com/treeleaf/xDoc
前端移动端组件
https://youzan.github.io/vant/1.x/#/zh-CN/quickstart
golang:go语言
https://www.runoob.com/go/go-tutorial.html
画图工具:
https://www.processon.com/
千图网会员:
http://588ku.com/