当前位置:网站首页>On the day of entry, I cried (mushroom street was laid off and fought for seven months to win the offer)

On the day of entry, I cried (mushroom street was laid off and fought for seven months to win the offer)

2022-04-23 15:01:00 InfoQ

Preface

Let's talk about my personal situation first ,18 This is a fresh student , Through the school entrance to mushroom Street , And then I stayed, almost 2 More than a year , Unfortunately, this year 4 In January, we met with a large number of layoffs due to the epidemic situation , And I was one of them . Fortunately, I had a hunch , Prepared in advance , I've always wanted to skip bytes , I was preparing for it years ago , It's a long battle , And finally 7 Months to win . Jumping in bytes , The day of the entry procedure , As a man , It's really tears . I'd like to share a wave of my real experience , Mutual encouragement .
Small tip:
In fact, when a company wants to lay off employees, there are usually some early signs : Business development encountered a big bottleneck , And it's hard to break through 、 Adjust strategic objectives frequently 、 The executives began to leave 、 Start to pay close attention to attendance 、 At the beginning, some of my colleagues tried to persuade them to quit , If you're starting to have these symptoms in your current company , Don't want to , It's time to get ready .
The following is about 4 Big link :
  • Link one : draw up a plan , Be prepared
  • Link 2 : Implementation plan , Prepare for the actual battle
  • Link 3 : Develop a resume , The CV
  • Link 4 : Byte beat interview experience , Real record restore
Four links , It contains a lot of documentation , Because of the limited space of the article , All in the document , Include Java Learning materials 、 Learning notes 、 The book of algorithms 、 A collection of interview questions 、 Mind mapping (Xmind) etc. , Friends who need these information can scan below

null

Link one : draw up a plan , Be prepared

1. Sort out the knowledge system
Now most programmers are in a very strange situation , My knowledge is scattered , Or to some knowledge point only knows its exterior, does not know its inside , In fact, this is not a systematic carding of their own technical content , So the first step in planning is to sort out your knowledge system . About sorting out the knowledge system , To do the following 2 spot :
  • Do you understand this knowledge point why、where、how
  • Can you explain these concepts and knowledge simply and easily to another person who doesn't understand them at all

null
System knowledge map

null
Docker Mind map (xmid)

null
Java Concurrent architecture diagram (xmind)
2. Prepare the algorithm
  • How to learn algorithms ?
  • What algorithms do programmers have to master ?
  • Leetcode Brush problem , Is it stable ?
About the algorithm part , In fact, there are many details to prepare , So I also spent a lot of thought on sorting out a treasure book about algorithm , This is my knowledge of algorithms and my learning methods , except Leetcode outside , Byte skipping like to ask the core algorithm questions are also in-depth analysis one by one .

null

null

null
3. Collect and sort out the interview questions
Besides the algorithm part , In order to have a clear idea in the actual interview , It is also necessary to have a look at some interview questions or knowledge points often asked by large factories . I collected it specially
near 3 Interview questions for first-line Internet companies in recent years ( The technical part )
, You will find that these interview questions actually ask the same thing , But examining your content and technology has a different purpose , The analysis of this part ,
I also wrote it in the answer ( See the document for details ).
null

null

Link 2 : Implementation plan , Prepare for the actual battle

The preparation needs to be done step by step , But apart from the above, it is certainly not enough , The interviewer is not only interested in technical issues , What you have to ask is about the project , How to prepare the relevant contents of the project ? In addition to the accumulation of their own practical experience , In fact, we can still read the actual combat experience and notes written by some technical experts . Such as :Redis note 、SpringBoot Technical notes, etc .

null
Redis note

null
SpringBoot Technical notes
More practical books to download , See the end of the article

null

Link 3 : Develop a resume , The CV

Resume is a very important link for programmers , A good resume can often help us to open the door of a large Internet factory , I won't repeat too much in the resume section .
You can refer to 《 A guide for programmers to find jobs 》, In addition, I can provide 18 A good resume template .
Once you download it , Make your resume according to the template , Then it can be delivered smoothly ! When delivering a resume, you must refer to the matching value , It's better to find acquaintances
push .

null
Sample resume

null

Link 4 : Byte beat interview experience , Real record restore

The byte is bouncing :
The first side, I think, should be the foundation , Focus on the breadth of their own technology   And the mastery of some technologies , On the other hand, my little brother didn't go into a particular point , The interview time is about 1 Hours .
  • Self introduction.
  • How do you plan to post back office , I didn't think about the work that fit in with my research direction ?
  • I know OAuth2.0 Well , Tell me about your right OAuth2.0 The understanding of the
  • Mushroom blog development process , Do you know or learn about other open source frameworks ?
  • What's the process of mushroom blog post release , Is it a multiplayer blog system ?
  • Do you know any other blog frameworks ? such as hexo
  • hexo What's the difference between mushroom blogs ? Mushroom blog what more features and advantages ?
  • Look at your mushroom blog using RabbitMQ, Let's talk about why RabbitMQ?
  • RabbitMQ And other message queues , such as ActiveMQ,RocketMQ,Kafka What's the difference? ?
  • Redis Use in your blog project , Why introduce Redis?
  • Redis The popular articles are stored in , It's through what ? Is there any problem with this ?
  • Have you heard of the long tail effect ? The recommendation level you set through the recommendation field , This will keep these articles in a high number of hits , And the heat and hits won't decrease over time , Is there a solution ?
  • I see that you can use JustAuth This login Authorization ? Tell me about the problem of account leakage ?
  • Let's talk about Redis, Does it have the problem of thread switching ?
  • Talk about Redis Single thread model and IO Multiplexing
  • Redis The big Key The problem of , If there is one Value Its size is 2M, Is there going to be a problem ? The biggest support Value What's the size ?
  • Talk about Redis colony  Redis Cluster, And the principle of master-slave replication ?
  • say something Redis The sentinel in , namely Redis Sentinel
  • Now let's talk about Linux, You know, Linux How to check the current load situation ?
  • You know something else Linux Orders ?
  • cat、tail、vi、vim Distinction of command , Say it separately ?
  • If Linux You need to open or view large files , What would you do ?
  • Let's talk about Http Code, You know,  3XX  Status code   What is the corresponding ?
  • Talk about some other status codes you know ,4XX  and  5XX?
  • Algorithm problem :
(1)#  Given some arrays , For example, the following format , They all represent an interval , Then you need to merge the intervals

[1,2],[2,4],[3,7],[8,11]

#  As shown above , [1,2]  and  [2,4] = [1,4]

#  then  [1,4]  and  [3,7] = [1,7]

#  Last  [1,7]  and  [8,11]  Can't merge , So the final result should go back to  [1,7],[8,11]

(2)#  Given an array , for example  [1,1,2,2,2,3,3,3,3] In this way , The arrays inside are not necessarily continuous and ordered , Suppose I type in  2, This 2 It means the two with the highest frequency of occurrence

#  Then you need to come back to me  2,3
Byte jumps on two sides :
  • Self introduction.
  • Has blog been open source , What open source protocol is used , How many blog users ?
  • Look at your blog using Solr and ElasticSearch, Talk about how they work , And inverted index ?
  • about Solr perhaps ES Do you know some Chinese word segmentation devices used in it ?
  • Talk about the technology stacks , What you are familiar with are ,mysql  and redis?
  • Chat MySQL The underlying index structure of ,InnoDB Inside B+Tree?
  • B Tree  and  B+ Tree The difference between
  • Chat MySQL The evolution of the index ? One is that B+Tree The? ? from   No index 、hash、 Binary sort tree 、AVL Trees 、B Trees 、B+ Trees   chat .
  • Talk about MySQL The business inside , Talk about what business is ?
  • MySQL What transaction levels are there , And what happens at different transaction levels ?
  • Talk about the difference between repeatable reading and fantasy reading ?
  • MySQL If you use like When doing fuzzy matching , Whether the index will be used ? Must not use it ?
  • Talk about Redis Well , Specific use in your project ?
  • Talk about Redis How to implement distributed locks ?
  • Whether there is cache inconsistency in mushroom blog , How did you solve ?
  • Talk about Redis The problem of cache penetration in , And the solution ?
  • Is there any other solution to cache penetration ? Did you know about the bloon filter ?
  • Redis Cache failures in medium and large areas , Then the request is all called to the database , What's the solution ?
  • If there's some hot data , For example, news between stars , A large number of melon eating users flooded into the background , But the server has not yet cached the corresponding data , This may cause database downtime , How to avoid this situation ?
  • Chat  JVM Structure of ?
  • Talk about the principle of garbage collection ? And garbage collection algorithms
  • Copy algorithm   and   Marking algorithm ?
  • Why not use tag collation algorithms in the next generation ? Or use replication algorithms in the older generation ?
  • I know Volatile Well ? Talk to you about Volatile The understanding of the
  • Volatile How to ensure the visibility of ? And how to implement the mechanism of visibility .
  • If you use a lot of Volatile What are the problems ?
  • On the thread of operating system , And its state
  • The difference between threads and processes ?
  • Why is multithreading proposed , Instead of multiprocessing applications ?
  • Linux What commands do you usually use ?
  • If I need to check the port number or process number , What command would you use ?
  • Talk about another project you did ? Just to introduce
  • Come on , Try to write a topic
#  Flip the list in pairs  #  Given the list : 1->2->3->4->5->6->7 #  Return results : 2->1->4->3->6->5->7
Byte jumps on the third side :
  • Self introduction.
  • Be curious , Using code / There are not many people in the cloud , Why it doesn't work Github?
  • How is your English level ?
  • Let's talk about open source projects ? I think this project already has 800 How wonderful , What do you do in this open source project ?
  • Let's find some places to talk about ? First from ES and Solr Start , Are you both using it ?
  • SQL The way to search , How do you do it ?
  • Use like When it matches , Will the query be very slow ?
  • ES and Solr It's all used on the bottom of lunce, Talk to you about lunce The understanding of the ?
  • lunce There's also a word breaker in it , For example, some new words  “ novel coronavirus pneumonia ” , Can it be well divided ?
  • Besides the artificial maintenance of Thesaurus , To solve the segmentation of the latest words , Do you know any other better way ?
  • Do you know any other open source word segmentation libraries ?
  • Talk about the dictionary tree ?
  • Solr  and  ES It's all used at the bottom Lunce, What's the difference between them ?
  • Solr The so-called cluster environment   and  ES The so-called distributed environment , What's the difference between them ?
  • You mentioned microservices above , Do you know what the concept of micro service is ?
  • Your current micro service , It's also packaged into multiple jar package , Deployed on a server , If something goes wrong with the server , It also makes the service unavailable , Is there a good solution ?
  • Talk about service registration and discovery ?
  • Service registration and discovery , Actually, it depends on the concept of a registry , Will the registration center hang up , And the whole service is not available , Is there any good solution ?
  • I know Zookeeper The whole election process ?
  • Talk about Zookeeper Distributed consistency protocol of ?
  • Talk about the index , I'll write you a list , Look at the following query statements , Go away from the index ?
create table 'tb' (

id int,

name varchar(64),

status int,

createtime timestamp,

PRIMARY KEY (`id`)

)

--  Created three general indexes

create index index_name on table('name')

create index index_status on table('status')

create index index_createtime on table('createtime')

--  Given SQL sentence , Determine how many indexes will be used in the following query

select * from tb where status = 1 and name = "zhangsan"
  • Above SQL Several indexes were used ? They are the ones ?
  • I know InnoDB The underlying index structure ?
  • The results of the two queries are , What kind of operation will be carried out ? intersection , Combine ?
  • If you are in the MySQL Encountered some slow queries in , Is there a solution ?
  • Talk about explain? Executive explain after , The fields that appear , We can help ?
  • I see in your blog , About Redis There are also several articles , We can talk about you about Redis The understanding of the ?
  • Why? Redis Being able to maintain such a high concurrent response ?
  • I know IO What's the principle of multiplexing
  • Through a thread , When connecting multiple threads at the same time, there will be no multiple thread switching ?( I feel like I'm in the pit ..)
  • When you pass jedis Connect redis When , Already connected to a process  ,redis Can I communicate with other processes ?
  • Redis It can process 100000 requests per second , If you follow what you said above , That means it only interacts in  1/ One hundred thousand   seconds ?
  • I know Redis Source code of ?
  • MySQL It was used B+Tree,Redis Medium SortSet Inside the jump watch , What's the difference between them ? Why? MySQL No jump watch , Or is it Redis no need B+Tree Well ?
  • How do you feel about your coding skills ? Let's talk about the operating system first, and then give you a question . In the operating system , There's a cache , Main memory , Virtual memory , External storage , Know what kind of relationship they have , And what they do ?
  • For them , There must be a problem , It's when our main memory is full , Or it's full , Then there needs to be a page feed operation , Do you know what kind of page feed algorithms exist ?
  • Let's talk about LRU? I asked you to write a LRU Algorithms talk about your ideas ?
  • In the form of linked list , The time complexity is O(N), Is there any way to make it O(1) The time complexity ?
  • OK, The idea is OK , Then you write a LRU Algorithm ?( Double linked list  + Hash?)
The answer to the test question with byte skipping :
The detailed answers and analysis of the above three rounds of interview technical questions are arranged in the document , Because of too much parsing text , Don't share in the article , If you need the answer to this interview question, you can write to me .

null

summary

This time, it can jump smoothly , It's a mixture of luck and strength , But one idea I've always had is : Good luck is always for those who are prepared .
therefore , As a technologist , I have obsession with big factories , Then it has to be implemented , Believe that you will get something in return . Here , I also wish you all in the next gold nine silver ten li , The interview went well , Cut through the customs , Take down offer.
All the documents written in the above article , All free to share , Friends in need

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231416491094.html