前段时间公司新来了个同事,听说大学是学的广告专业,因为喜欢IT行业就找了个培训班,后来在一家小公司干了三年,现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍,服务器缩减一半,性能反而提升4倍!给公司省了不少成本。
后来才知道,他在以前的公司,业务能力特别强,JVM调优经验丰富。
在他来之前我们公司从不不做JVM调优,之前也有朋友说,“我们公司的系统从来都没有经过性能调优,集成测试没问题后就上线了,上线后也几乎没出现过性能问题。”
其实没遇到性能问题不代表程序不存在性能问题,只能说明系统的访问量有点小。微博瘫痪不就是因为短时间内访问量暴增后,系统扛不住,就出现性能瓶颈了嘛。
大部分的性能问题都是由于访问量过大导致的,618、双11就不说了,每逢节假日出游抢票,12306网站最有发言权,这要是挂了,可是要被全国人民骂的。
还有一部分性能问题是随着时间积累爆发的,如果运行一段时间后没有重启,到了某个时间节点内存就会突然爆掉。反正我司一些项目就遇到过这方面的尴尬,一开始的解决方案就是写个脚本,在夜深人静的时候,偷偷地重启释放一下内存。
性能调优其实是每个合格的工程师必备的技能,JVM调优,Mysql调优,各种分布式中间件的调优是绕不过的,来看下一线互联网公司的这些题目:
这个新同事把他的自学资料发给了我,我觉得还不错,分享给大家。
这份资料内容涵盖极广,包含了22个技术栈、内容涵盖各大厂面试必问的一些问题:
第一篇:java相关
- 基础篇&进阶篇
- 字串符&集合面试题汇总
第二篇:并发编程
第三篇:JVM面试题
第四篇:数据结构与算法
第五篇:网络协议
第六篇:数据库
- MySQL面试题
- 52条 SQL性能优化策略
- Redis面试题
第七篇:框架相关面试题
- Spring面试题
- MyBatis面试题
- SpringBoot面试题
- Spring&SpringBoot常用注解
第八篇:微服务
- SpringCloud面试题
第九篇:中间键相关
- Dubbo面试题
- Nginx面试题
- Zookeeper面试题
- MQ面试题
- kafka面试题
- ElasticSearch面试题
第十篇:Linux
最后
整份文档一共有将近 500 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习