How do the hardest-working students in the computer department of the university learn?

I am often asked this question by my classmates, how hard can I find a good job?

Can you get into a good company if you study well?

fart!

The old senior who was snotted and tearful by the school education came to answer a wave.

When I was in college, I won the National Encouragement Scholarship for three consecutive years and passed CET-6. I thought the soft test was useful, and I also took a software designer certificate. I thought CET-4 was useful, and I also took a software test engineer certificate. Writing software, self-taught MFC and wrote several small desktop programs.

I thought I was awesome and went looking for a job, but I asked for 2,500, but no one accepted it. In 2011, a top-level graduate of the computer department had a salary that was not as high as that of the assembly line.

Now I have been working for nearly ten years, and I have also moved to several large factories. There are no less than a hundred interviews for school recruitment and social recruitment. Here are a few words from my heart.

4000 words, this may be the article that will change your life.

These contents will involve industry secrets, I hope you can read them patiently, it will definitely be helpful, and I will be even more grateful if you can give me a like.

Table of contents:

  • Why can't you get into a good company if you study well?

  • what to look for

  • how to enter the competition

  • How to prepare for an internship

  • Increase project experience

  • How to prepare for the school recruitment written test

 

1. Why can’t you get into a good company if you study well?

It wasn’t until I became a recruiting interviewer in a certain factory that I realized that it’s useless to study well. It’s only useful if you study well in 985 and 211 schools!

There is often a saying in the market, "Swipe LeetCode when you graduate, and you will get a soft offer"

There is no doubt that this thing really happened!

But if you do the same, I am afraid that your resume will not pass!

The secret of school recruitment lies in:

1. School recruitment is the only way for fresh graduates to enter the big factory. If you miss the school recruitment, you want to enter the big factory at least three years/five years later! Because big companies have a graduation year limit for social recruitment, usually three or five years.

2. The halo of a famous school is a very important halo for school enrollment. As long as the school is good and the grades are good, even if you don’t know anything, many big companies will give you an offer. The secret of school recruitment lies in finding suitable talents for training, not in reality. Ability to work.

Therefore, only those who have the halo of a famous school can get a soft offer by swiping Leetcode! Others are not!

 

2. What to look for in school recruitment

I saw a joke once, it was very funny.

It is said that a person got on the elevator by accident and didn't know what it was, but he was very scared and kowtowed inside. As a result, when the elevator stopped, he was already on the roof.

Therefore, he told everyone he met that he had to kowtow all the time when he got on the elevator, so that he could go to the rooftop.

The joke is a bit cold, I didn't allude to the entrepreneurial leaders in the 1990s, and I didn't mean to say the truth that "pigs can fly when they encounter troubles".

What I want to say here is that sometimes, we think that we have done the right thing to achieve our present, but it is not.

Just like many students think that they can get an offer by swiping Leetcode, it is his school name, not LeetCode, that actually helped him get the offer.

There are four halos that school recruiters value: prestigious school halo, competition halo, internship halo, and project halo! ! !

School, is decided the moment we step inside. The other three are things we can fight for ourselves. These contents are very competitive whether you are applying for a large company or a small company, follow along

 

3. Competition halo:

During college, there were many algorithm competitions and ACM competitions. Try to participate in national competitions with gold content, so that you can shine.

 

4. Internship Halo

Going to a big company for an internship is much easier than recruiting into a big company. Students from secondary schools can also get in for an internship. Moreover, there are opportunities for interns to become regulars in large companies. In the companies I have worked for, as long as you go for an internship and perform well, basically 100% of them will become regulars.

Even if you can't get an internship in a big company, having internship experience will be a very important item on your resume when recruiting at the school. And generally, if you have internship experience, you will have project experience, which really kills two birds with one stone.

There are three ways to find an internship:

1), internship platform, official account

Some platforms for finding jobs and internships can directly search for jobs. There are many platforms, such as Intern Monk, Fresh Graduate Job Search Network, Boss Direct Employment, Hedgehog Internship, Lagou.com, Zhaopin.com, 51job, etc.

2), corporate official website/recruitment special network

Every large company has its own official website. When an intern position is open, there will be a corresponding entry on the official website.

For example: Alibaba Group Recruitment

For example: Tencent Group

For example: Baidu recruitment

The following is a list of common Internet company recruitment addresses, go and see for yourself. Baidu Recruitment / Join Bytedance-Recruitment / Jingdong Recruitment-Home / Xiaomi Recruitment / Huawei / Pinduoduo Social Recruitment / VIVO / OPPO / Netease Social Recruitment / 360 Recruitment Official Website / Sina Recruitment / Xiaohongshu Recruitment / Zhihu-Social Recruitment / Ctrip-Recruitment Center / Momo Recruitment / iQiyi Recruitment-Hot Jobs / 58 City Recruitment / Autohome Recruitment / Huya Live-Social Recruitment / Join Us- Douyu / Joyful Times Recruitment Official Website / Talent Recruitment-51job / Cheetah Mobile Online Application System--Homepage /Sogou Recruitment / bilibili Recruitment / Sohu Recruitment Official Website / Mainai-Achieving Career Dreams / DiDi Recruitment / Kuaishou Recruitment / Meituan Dianping Recruitment Official Website / China Ping An-Recruitment Official Website / Suning Recruitment Official Website / Focus Media Recruitment / Talent Future Recruitment / Tongcheng-Elong Recruitment System / UCAR Recruitment System / 37 Mutual Entertainment Recruitment_37 Mutual Entertainment / User Network Recruitment / Zhongan Insurance Recruitment Information / Giant Network Recruitment Official Website / Social Recruitment Wangsu Technology-the world's leading Internet basic service platform / Xunlei Social Recruitment / Keike Fangfang Campus Recruitment Official Website Recruitment System / Fangtianxia Recruitment--You Will Fall in Love with Fang.com/Liepin_2019 Autumn Campus Recruitment Information /Brave Recruitment Program-Come if you have the guts-Migu Culture / Social Recruitment_Meitu Company Recruitment Official Website / HKUST Xunfei | iFLYTEK - Build a Beautiful World with Artificial Intelligence / Nanjing Tuniu Technology Co., Ltd. Online Application System / Meyou| Girls Assistant-Join Us / Dingxiangyuan Latest Recruitment_Dingxiang Talent Network Careers at Microsoft | Microsoft jobs / Job Talent-Apple (China) / Careers Center | Samsung Singapore / Visa Job Opportunities: Visa Global Jobs / Taiwan Semiconductor Manufacturing Shares Limited / Jobs at Intel / Cisco Careers | Join the #WeAreCisco Tribe / IBM How to Achieve Your Career Peak- China / Qualcomm Recruitment_Qualcomm China Recruitment | Qualcomm / Working at Dell Careers / Sony China Career Portal /Hikvision Recruitment / DJI Recruitment / ZTE Global Recruitment Portal / Vivo Recruitment / OPPO Recruitment Official Website / Zhuhai Gree Electric Co., Ltd. Recruitment System

3) push inward

If you have some friends, seniors, and seniors who have already been employed in the ideal company, you can contact them. If their company has an internship position, you can ask him to assist you in the internal recommendation process. In many companies, internally recommended students are exempted from resume screening and written tests, and can directly enter the interview. Of course, there are also some companies that have the same process regardless of whether they are internally promoted or not.

 

5. Increase project experience

If you really don't have time for an internship, or if you don't do any projects during the internship, what should you do? The most important thing in a resume is project experience, how to solve it?

 

Knock on the blackboard! ! ! Create project experience without project experience! ! ! !

Now there are so many practical tutorials on the Internet and source code sharing everywhere on github, all of which can be used by you.

In the comment area, some juniors and younger sisters asked me for learning materials. Here, by the way, I will share with you the materials I have compiled by myself. I started, advanced, and finally promoted to the expert position. I learned from here, not online. The ones that are packaged at random are bought online when you need to learn knowledge in a certain direction, and finally aggregated.

It brings together mainstream programming content such as java, C++, Python, web front-end, postgraduate entrance examination, design pattern, interview, applet, linux, database, go, data structure, algorithm, machine learning, etc., nearly 3000G

 

Computer classic materials: 46 directions of computer majors for entry-level advanced practical tutorials

During the interview, these project experiences can be written down. The most important thing is that you have to figure it out. Try to imitate it first, and then write it again from the beginning to the end, so as to understand all the knowledge points involved. meeting. During the interview, just tell the truth, just say that you imitated it yourself, it doesn’t matter, as an interviewer, what we value more is what you know and whether you really know it.

Having said so much, what I want to tell you is that don’t think that you can stop working hard if you are in a 985/211 elite school. There are many people who graduate from elite schools and can’t find a job every year. Only students who are in prestigious schools and have good grades do not need to work hard. The ridiculous thing is that this group of people is precisely the hardest working crowd.

I have told you all the secrets, and my friends are working hard in these four directions, no matter whether it is school recruitment or social recruitment, it will not be a big problem.

 

6. How to prepare for the school recruitment written test

 

The most important courses in the school admissions written test

  • Data Structures and Algorithms,

  • computer operating system,

  • computer network,

  • Principles of computer composition.

These courses are also key examination subjects for school recruitment. You need to be proficient in a language (Python, Java, or C++), and then use the language you are familiar with to implement basic algorithms and data structures.

No matter what you study, the most important thing is to find a course with a good reputation and learn it from the beginning to the end. Don't learn from east and west. This effect will definitely not be very good.

Here I recommend some courses that I have read and are more recognized, just follow along.

 

Data Structures and Algorithms

Regarding the data structure, what I want to say is that it is the simplest and most basic of the four. Without the data structure, almost any program will fail, so when discussing the data structure, it is often necessary to talk about the algorithm.

Simply mastering common data structures is as interesting and simple as dismantling delicate instruments. Just because the function of the data structure in the program is very similar to the instrument components, different data structures have different characteristics, so if you want to learn the data structure well, diagrams are a must-have weapon!

Here we strongly recommend the "Data Structure" course offered by Zhejiang University in Chinese universities, which covers commonly used data structures and algorithms.

Data Structure_Zhejiang University_China University MOOC (MOOC)

Supplemented by teaching materials and reference books, "Big Talk Data Structure" is strongly promoted. You can know the style of this book just by looking at the cover

That's right, this is the author of the famous "Big Talk Design Patterns", absolutely top.

Algorithm courses are often put together with data structure courses. In some colleges and universities, there are two courses such as "data structure and algorithm" and "algorithm design and analysis".

But many students don't understand the difference between data structure and algorithm. Some students even think that data structure contains algorithm.

In fact, you can get a rough idea from the literal meaning. The data structure mainly explains the organizational form of the data. In other words, I am how we want to store these data, so there are lists, heaps, stacks, trees, and graphs. This is data. The focus of the structure.

The algorithm focuses on ideas, such as how to sort the elements in the list, and how to find the largest and smallest numbers in the current storage structure? Wait, to put it bluntly, it is the idea of ​​​​solving problems in reality. That's why there are three major algorithms: divide and conquer thinking, greedy thinking, and dynamic programming.

The routine of learning algorithms is very simple, read more, write more, and use computers more. Since it is a collection of ideas, if you read a lot, you will naturally learn without a teacher.

As for brushing questions, many students know that they need to brush LeetCode.

LeetCode question bank: (2123 questions)

Question Bank - LeetCode

There are more than 2,000 questions in total, and some questions are very difficult. Even if you have 10 questions a day, you have to study for at least half a year. This is obviously not suitable for most students.

Therefore, we need to find the core and most important set of questions, that is,

For example, if time is tight, you can first brush up the questions in the "Programmer Interview Collection", a total of 109 questions.

"Programmer Interview Collection" - LeetCode

After brushing, if you have time, you can brush the questions of "Sword of Offfer", a total of 75 questions.

"Sword Finger Offer" - LeetCode

Because these two books are a summary of high-frequency questions for interviews, naturally many topics overlap. This also shows the importance of these two books.

Of course, I also have a collection of high-frequency interview algorithm exercises summarized by Google brothers, which contains common data structures and algorithm summaries, both in layout and content, are very good.

Star 7K+! Brother Google's writing notes are on fire!

 

computer operating system

No matter what language you learn, you can't avoid dealing with the operating system. The final execution of all languages ​​depends on the operating system.

For example, you can use new to create a variable to store data in C++, or you can create a space through malloc.

But do you really know the difference between them? No matter what operator is used to manipulate the program, it is the operating system that actually allocates the memory space in the end. Therefore, if you want to really understand the difference between them, you must go deep into the internal principles of the operating system.

This is why, when we learn a language, it is relatively simple, but when we really go deep, we don't understand many things.

The operating system is the basic knowledge that programmers must learn to advance.

If you are just starting to learn the operating system, it is not recommended to read books. Believe me, within minutes, you'll be dozing off. If you can't study for a week, you want to retreat.

Here I recommend the operating system course of Tsinghua University at Station B. This is the most simple and easy-to-understand operating system course I have ever seen.

[Tsinghua University] Lecture 113 by Chen Yuquan on Operating System (Part 1)_哔哩哔哩_bilibili

[Tsinghua University] Lecture 113 by Chen Yuquan on Operating System (Part 2)_哔哩哔哩_bilibili

While watching the video, if you still want teaching materials, you can use "Introduction to Operating System" to help you get started when watching the first part. When you see specific operating system theories, you can use the industry classic "Modern Operating System" to learn more . This will be much easier than reading the book directly.

 

computer network:

The computer network provides pipeline services, which are as simple as a water pipe. The sender Bob injects a ton of liquid into the pipeline, and the receiver Alice receives the entire ton of liquid, no more or less. Of course, this is a perfect ideal, but reality is often not like this.

 

The real situation is this: the water pipe between Bob and Alice has a reservoir (booster pump) every few kilometers. This reservoir has several water inlet pipes and several water outlet pipes. The overall flow velocity of > the overall flow velocity of the outlet pipe, then the flow difference between the two will be temporarily buffered in the reservoir. Later, if the overall flow velocity of the inlet pipe < the overall flow velocity of the outlet pipe, then the water in the reservoir can take the opportunity to flow away.

But if the overall flow velocity of the inlet pipe > the overall flow velocity of the outlet pipe continues, the excess water will not fit in the reservoir, and the excess water will overflow. This overflowing water will never reach its destination, will it?

This reservoir has a professional name: router. Since the reservoir cannot compensate for overflowing water, a flow compensation mechanism is naturally needed to compensate for the loss of flow. So who will compensate?

Certainly it cannot be compensated by the network. The network has always been stateless (Stateless) as the primary goal. If the network is used to compensate the traffic, the network will naturally be required to remember the state, which is unacceptable!

In the end, the burden of the traffic compensation mechanism falls on the traffic sender Bob. The code that implements this traffic compensation mechanism is well-known, and its name is TCP!

The TCP boss implements the flow compensation mechanism, which is actually very simple, just one sentence: confirmation mechanism!

Once the traffic arrives at the receiver, Alice, the receiver, needs to explicitly confirm the arrival, otherwise the TCP boss will periodically use the traffic compensation (retransmission) mechanism.

So TCP is a code that needs to remember the state (State), and it is Stateful in nature!

It can also be seen from the above examples that computer networks are much easier to learn than operating systems, because computer networks are not abstract, and examples can be found in real life. Moreover, if we want to know the details in the network, we can analyze it by capturing packets.

Course recommendation Harbin Institute of Technology's computer network series courses:

 

Harbin Institute of Technology Computer Network_哔哩哔哩_bilibili

What needs to be explained here is that there are many details in the computer network, and Mr. Li's explanation is also very comprehensive. But these details don’t need to be paid attention to. For example, we can’t remember the error code classification of the Http protocol, and it doesn’t make any sense to remember it. Just know that there is such a thing. When you need it, Baidu, isn’t it delicious? (If it is used for the postgraduate entrance examination, I didn't say it, the postgraduate entrance examination...)

Regarding computer networks, what we really need to understand is the reasons and specific usage scenarios of osi layer 7 protocol and Tcp layer 4 protocol, which is enough.

Regarding books, Xie Xiren's "Computer Network" is used by most colleges and universities. This book is very good and easy to understand. It is also a commonly used textbook for postgraduate entrance examination 408.

 

Principles of computer composition

The principle of composition should be the most difficult course among all courses. It is a course that connects digital electricity and assembly. The core of the whole course is to use digital logic circuits and flip-flops to build a machine that can run assembly instructions.

Learning by simply reading books and watching videos will be extremely boring. It must be paired with experimental games to make it easier to understand and stick to it.

If you need to feel it in advance, you can play a game called Human Resources Machine. The code area is ROM, the middle box is register, the input and output on both sides will be combined and loaded into RAM, and the villain is the arithmetic unit.

This article has an introduction and gameplay of this game:

Human Resource Machine: Human Resource Machine

You can start with this game.

Coming back to the question, we recommend learning materials first, and finally recommend some experimental games.

The video is the first to promote Carnegie Mellon University's "In-depth Understanding of Computer Systems" series of courses. English is not good? It doesn't matter, there are Chinese and English subtitles, after watching this set of videos, not only can you learn knowledge, maybe you can also pass CET-6 by the way.

[Precise Chinese and English subtitles] 2015 CMU 15-213 CSAPP In-depth understanding of computer system course video_哔哩哔哩_bilibili

It is recommended to use "In-depth Understanding of Computer Systems" as a supporting textbook. This video should also be used in this textbook.

Composition principle Game recommendation:

The content related to logic circuits in Oxygen Not Included can provide specific cases and improve the perceptual cognition of logic gates. At the same time, it can derive many mechanism-related thinking, such as transforming specific problems into mathematical logic, concurrent conflicts of villain operations, random Map generation, authority management, complex function zoning planning, etc.

  • Human Resource Machine can display the relationship between instructions and operations most intuitively. As mentioned above, it is inextricably linked with the original big job. In addition, it provides a relatively stable curve through the level, which can be avoided in advance because of understanding Frustration from not enough. There is also a multi-threaded version of this game: 7 Billion Humans =

  • Opus Magnum has low pre-knowledge requirements and an extremely artistic logical presentation. After completion, you will really have the pleasure of alchemy.

  • Silicon Zeroes solves flip flops in one shot!!!

  • TIS-100 compilation king of kings

 

It is not a problem at all to learn these contents and pass the school recruitment written test.

But the school recruits not only a written test, but also an interview. The interview test is the actual combat ability of the project.

There are so many things about school recruitment that I won’t list them all here. I have organized what I have learned over the years into a book and open sourced it on github. I believe it will be very helpful to everyone, everyone can go to see it.

It is still being updated, welcome everyone to star.

Address: https://github.com/harvic/FightingCoder

Well, that's all for this article, I hope everyone can find a good job after graduation.

I'm @启船, it's not easy to be original, give me a thumbs up.

 

All my articles are original, and the copyright belongs to @启船. Unauthorized reprints must be investigated

 

 

 

 

Guess you like

Origin blog.csdn.net/harvic880925/article/details/118079540