Preface
Contact with java in the second half of 5 years, Qiyu generally participated in java training, during which time he knew it. At the beginning of 2016, I found my first job in my life, with a salary of 3k; I can be regarded as a return for my previous efforts. I am already very satisfied with me at that time. But then I didn't expect the company to be a pit. I have been in the company for more than half a year and wrote a handful of codes. However, I made a beacon for my future career development and technology, and gave me a lot of help. Therefore, there is some truth in saying (suffering from one's strength and losing one's horse, knowing not good fortune).
At that time, there was no code task every day, just sorting out the table data, year after year, day after day. . .
Life turning point
Finally, I am dissatisfied with the status quo and re-planned my career.
I also feel that this is a waste of my time, and I know that (seeing that the students in the same period are thriving) Instead of sitting and waiting for death, it is better to go out and try the water myself and go to a company that can grow quickly. After submitting the resignation application, I started to consciously read some interview questions, regained the training notes, memorized questions, and looked at some basic knowledge questions. . . .
Interview
The interview process was far more difficult than expected. I met n++ homes, and most of them fell to nothing (of course, the technology at the time was better than vegetable chicken). Despite such difficult, there are still two (one is the front end, the other is relatively unpopular) The framework of learning and development) was not what I wanted, all out of career development planning, after thinking twice, I still made a decision to decline (at this time it has been more than half a month since I was laid off), my mentality began to be impetuous, and I began to think wildly , But one thing is certain. I have not regretted my resignation. Finally, on a sunny afternoon, I received an onboarding call from the second company in my life (and it was my favorite). I couldn’t hide my excitement. I no longer remembered what the phone said at the time. I just said "Yes, yes, yes..."
Entry
This is a small company, all the formalities are prepared, and finally I entered the company as I wished, with the caution like the first job, diligent and inquisitive, and dare not to be lazy. This company is very busy and always has work to do. I often work overtime until 9 o’clock. Basically, 996 is the norm. I feel that I am full every day and I can learn a lot. I don’t feel tired and I’m still single. There is nothing to do after work, so there is nothing to complain about overtime, and the pay is very good.
growing up
In the beginning, the team leader and I were doing everything in a mess. But I have grown a lot. The team leader also takes good care of me. I basically answer all questions and help me extend my knowledge when I have time. I am very grateful.
During this company, I also bought my first house in my life, (this is only one set). Of course, my parents paid more than 90% of the money. (Haha secretly happily!! I'm glad I bought it at the time, otherwise I won't be able to buy it later)
After staying in this company for more than two years, the relationship between colleagues is very harmonious, everything is good, but the basic technology and other things are finalized, and the previous work is basically repeated. It seems that there is no challenge. The company does not have the Internet to deal with the new Because of the desire for technology, I am still going to go out and see, to see and see new things;
confused
After moving to many companies, it was far from what I expected. After all, I didn't find a sense of belonging and didn't do it for long after all.
Until I came to this house, it was probably the second half of 2017. I originally thought that I would find someone close to my home, with little work and good money. Fair enough;
Let’s do it like this. It’s more comfortable. Until the rapid development of the company’s products, users have to face a series of problems caused by bugs in the project from 0-10w-100w-200w+, and don’t remember how many nights they have experienced. Very low-level solution to concurrency and increase inventory. Up to now, data migration and backup have made me realize that "improving myself" is very important
Learn
Targeted knowledge points
Multithreading and high concurrent programming
Introduction and detailed explanation of spring and ioc
Simple construction of maven, spring AOP
Explanation of circular dependency and proxy mode in spring
SpringBoot mvc project structure development hot deployment
SpringBoot web project integrates data sources, Thymeleaf
Project development-Thymeleaf, Jpa, Bootstrap
mybatis integrates SpringBoot, mybatis-generator
Role, process and task allocation in enterprise project development
pageHelper, page turning, Example usage, asynchronous form
Development-RBAC, table design, YAML, project configuration
Development-RBAC front and back, mybatis multi-table, thymeleaf
Development-Odata, Restful, SpringBoot file upload
Development-Authorization, Icheck, Mybatis plus
Tengine principle, comparison, deployment, configuration, virtual host
Tengine reverse proxy, load balancing, session sharing, etc.
Tengine dynamic and static separation https SSL asymmetric encryption
Introduction of Nginx OpenSSL self-signed certificate xca FastDFS
FastDFS deployment principle integrates Nginx JavaAPI
High concurrency load balancing: network protocol principle
High concurrent load balancing: derivation of LVS's DR, TUN, and NAT models
High concurrency load balancing: LVS's DR model test construction
Principle of Spring Environment
High-concurrency load balancing: LVS high-availability construction based on keepalived
Spring listener
FastDFS keepalived high availability zookeeper
dubbo demo, role, RPC, principle, RMI
Project microservice split registration center, dubbo admin
WeChat public account project under dubbo
Spring AOP principle
dubbo core configuration aggregation project construction
Million-level traffic multi-level cache architecture solution, openresty Lua
Multithreading and high concurrency programming one
Redis string type & bitmap
redis的list、set、hash、sorted_set、skiplist
Redis message subscription, pipeline, transaction, modules, bloom filter, cache LRU
Redis persistent RDB, fork, copyonwrite, AOF, RDB&AOF mixed use
Redis cluster: master-slave replication, CAP, PAXOS, cluster shard cluster 01
Redis cluster: master-slave replication, CAP, PAXOS, cluster sharded cluster 02
Redis development: spring.data.redis, connection, serialization, high/low api
Zookeeper introduction, installation, shell cli use, basic concept verification
Knowledge of zookeeper principles, paxos, zab, role functions, API development basis
Zookeeper case: distributed configuration registration discovery, distributed lock, ractive mode programming
100 million-level traffic, multi-level cache, and high-concurrency system architecture
Spring Cloud microservice overview and registration center construction
Multithreading and high concurrency programming 6
100 million-level traffic, multi-level cache, high concurrency system architecture, actual combat IV
Inter-microservice calls and fuse degradation
Use of microservice gateway, link tracking, and configuration center
100 million-level traffic, multi-level cache, and high-concurrency system architecture five
Multithreading and high concurrency programming seven
100 million-level traffic, multi-level cache, and high-concurrency system architecture combat VI
Spring source code summary
Online car-hailing project combat 1: Passenger user functions
Current limit of billion-level flow system architecture
Online car-hailing project combat 2: interface security design and distributed lock
Expansion of billion-level flow system architecture
Downgrading of billion-level flow system architecture
JVM entry and class file format
Java NIO
Distributed transaction principle of billion-level flow system architecture
The actual traffic distribution layer of the billion-level traffic system architecture
Online car-hailing project combat 3: message queue application
Explain the Class loading process in detail
The actual domain name and https of the billion-level traffic system architecture
E-commerce system details page PLAN A
Static file generation-rsync
NIO之ByteBuffer
Car-hailing project actual combat 4: project summary
Java memory model
Static document generation business process and technology selection solutions
Arica develops actual CRUD
Netty's NIO selector
Memory barriers and JVM instructions
Static file generation
html synchronization, home page generation, batch generation, health check
Single machine transaction, concurrent lock, stress test
Netty's memory management
Java runtime data area and common instructions
Application scenarios of html architecture, capacity expansion, implementation of static paging
Paging logic 2, dynamic and static, lua access mysql
resty_template, implementation of static file compensation mechanism
Summary of high-concurrency projects with billions of traffic
Master class on mysql tuning
Essential theoretical knowledge for JVM tuning-GC Collector-Three-color mark
PS+PO tuning actual combat
Netty course summary
JVM tuning actual combat
Blockchain-Bitcoin, mining, and speculation principles
Blockchain-Ethereum principle
Blockchain-ghost protocol, pow, pos
JVM actual combat tuning 2
Blockchain-DPOS consensus protocol, solidity smart contract development
Blockchain-solidity handwritten cryptocurrency
Message Middleware-ActiveMQ
Talk about garbage collection algorithm
apache dubbo
spring cloud
Learning and thinking of service mesh microservice design
JIRA sum findbugs
jenkins+code inspection
The above experience and learning are for reference only. For the junior leaders with average technical level, you must show special admiration for him and don’t let him feel that you are complimenting him. No way. This is the social animal survival experience I summarized, otherwise various Put on small shoes for you...
Disadvantages:
One: Approval is required for everything. Although I don’t work overtime often, I sometimes leave late
2: If you don’t have access to core business and want to go to a big factory, you need to work hard in your spare time
Workplace experience sharing
1. During the probation period, I will be suppressed by the leader. I was trained by the leader without warning. You must endure this kind of thing or leave. Don't compete with the leader.
2. Just get along well with your colleagues. Everyone thinks about differently. There is no need to show your own edge. Even if you have strength, you must hide it. Some colleagues will respond to you, and you will gradually understand
At last:
In view of the fact that many people are interviewing recently, I have also compiled a lot of interview topics (spring, mybatis, jvm... if you bring more, you can see the attached pictures) and the actual interview questions of many companies.
The answers to the above interview questions are organized into document notes. I also sorted out some interview materials & the latest interview questions collected by some big companies in 2020 (all organized into documents, a small part of the screenshots), if necessary, you can click to enter to view the materials .
Someone might say: Just put all the real interview questions. . .
Do you know how much I have put together recently?
I hope it will be helpful to everyone. If it is useful, please give me support!