Why, it's almost the new year. There are still people coming for an interview , Look at your resume , well ?23 year , Isn't this a newly graduated kid , As a result, I didn't expect people to optimize the performance of the existing project , Saved the company half the cost , such “ Wang fried ” play , Straight to everyone .
Our company never did before he came JVM tuning , The home page of each event will pop up . A friend said before ,“ Our company's systems have never been performance tuned , After the integration test is OK, it will go online , There have been few performance problems since the launch .”
In fact, not having a performance problem does not mean that the program does not have a performance problem , It only means that the system has a small number of visits . Is microblog paralyzed because of the surge in traffic in a short time , The system can't carry it , There is a performance bottleneck .
Most of the performance problems are caused by excessive traffic ,618, double 11 No more , Rush for tickets on holidays ,12306 The website has the most say , If this hangs up , But it will be scolded by the people all over the country .
There are also some performance problems that break out over time , If it does not restart after running for a period of time , At a certain time, the node memory will suddenly explode . Anyway, some projects of our company have encountered embarrassment in this regard , The initial solution was to write a script , witching time of night , Secretly restart to free up memory .
The new colleague sent me his self-study materials , I think it's good , Share with you .
This PDF The knowledge points include five parts ,26 Knowledge points （ The following is a screenshot of the document content , To this document , Click the business card at the end of the text , You can get it for free by scanning the code ）：
* Java part ：Java Basics , aggregate , Concurrent , Multithreading ,JVM, Design pattern
* Data structure algorithm ：Java algorithm , data structure
* Open source framework ：Spring,MyBatis,MVC,netty,tomcat
* Distributed part ： architecture design ,Redis cache ,Zookeeper,kafka,RabbitMQ, Load balancing, etc
* Micro service part ：SpringBoot,SpringCloud,Dubbo,Docker
one ,java Knowledge part
Now the interview pays special attention to many basic principles , However, many people do not understand some core principles thoroughly , Especially for Java Some core basic knowledge points of are not mastered enough , for example
JVM, Common algorithms and data structures, etc . It is the so-called wanzhang tall building rises from the ground , Only grasp the foundation firmly , To go further , Only in the face of constantly updated technology can we master it quickly , At the same time in the interview , You can also stand out in your work ! Here's what you have to master Java Knowledge part , A lot of content , Are some key knowledge !!!
1.Java Basics ：
2.Java aggregate ：
3. Multithreading concurrency ：
4.java virtual machine (JVM)：
JVM It's primary Java The only way for programmers to grow , study JVM before , You just need to know how the code is compiled Class, Virtual machine loading Class Just run it , study JVM
after , You can deeply understand the process of code from compilation to loading , Creation and garbage collection of objects in memory , Quickly locate performance problems in daily development, etc , Of course, it is also an indispensable bonus in the interview .
5, Data structure and algorithm
What data structures ( Line , chain , heap , Stack , queue ) And in Java Where is it useful .8 Large algorithm ( Time complexity , Spatial complexity , Memory ,CPU Influence of ) And its application .KMP
Search algorithm , Binary search , recursive algorithm ( Writing method , Memory impact ). number , Figure and its application .hash surface , And its application in practical work .
two , Database part
Recommended reading ：《 High performance MySQL》 《MySQL Technical insider :InnoDB Storage engine ( The first 2 edition )》
three , Open source framework
Spring As a lightweight Java Development framework , The idea of interface oriented programming runs through the whole system Java System application , So in Java Often mentioned in the interview .
four , Distributed high concurrency architecture
This part is about distributed architecture knowledge , include Redis,Zookeeper, Database performance optimization , Load balancing, etc !
five , Microservice knowledge
There are many small partners interviewed recently , I hope it can help more people successfully pass the interview of large factories , If you need to click the business card below to scan the code, you can get it for free , No routine !!!