From programmer to architect, five years advanced to Ali P7, talk about my experience! ! !

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!

 

Guess you like

Origin blog.csdn.net/SQY0809/article/details/108752231