Bo2SS

Bo2SS

My journey from 0 OFFERS in the autumn recruitment to 7 OFFERS in the spring recruitment

【May 2021, Spring Recruitment has basically come to an end】

💬 Let me introduce my situation first. I am a non-major student, with a 211 master's degree and a focus on fault diagnosis of rail circuit. The surprises that computer science has brought to my life ignited my passion, and I wanted to enter the internet industry. However, during the fall recruitment, I was torn between pursuing a PhD and finding a job, and ultimately did not succeed in applying for a PhD, resulting in a fall recruitment record of 0. This outcome made me more aware of the gap, so after some struggles, I began participating in the spring recruitment, and fortunately, I had some gains in the spring recruitment. Therefore, I want to share my journey from 0 OFFER in fall recruitment to 7 OFFERS in spring recruitment.

🧱 Of course, my abilities are still far from enough (my hair is still there, and I still have potential), but compared to my performance in the fall recruitment, I have made some progress, and I want to document this period of growth and share my experiences with those who might need it, the ones on the journey~

🎤 The article is mainly divided into two key points, the timeline of the career change, insights (on learning, interviews, tips), and conclusion, so please read patiently~

😊 It will take about 10 minutes to read this article, and you will gain 5️⃣ learning methods, 6️⃣ interview tips, and 7️⃣ friendly reminders!

Here are the 7 OFFERS I have received so far:

7 Offers

In the end, based on my preference for the company, I chose Shopee, to be a little shrimp.

Two Key Points#

Learn, learn, learn; choose, choose, choose

This is the biggest key point that brought about this change. I hope that after reading the full text, you can remember these two key points, then my article won't be in vain~

📕 Learning: About 6 months of studying computer systems, the learning process is documented in my blog

🔀 Choice: I switched from applying for algorithm positions to applying for development positions, as the competition for algorithm positions is just too fierce... big shots~ In this spring recruitment, I applied to a total of 21 companies, and 13 of them entered the process.

Career Change Timeline#

🥁 The story begins at the end of my first year of graduate school in 2019. Please don't blame me for being verbose; I will first introduce my basic situation for your reference:

Career Change Timeline

⚪ Origin: I became interested in artificial intelligence due to the classification algorithms used in my research topic.


🏃‍ Experience

1️⃣ I applied for an internship in Huawei's image direction, encountered an enthusiastic supervisor who helped me along the way, but unfortunately, I failed the final personality test; I almost had a connection with Huawei, but missed out during the early batch and fall recruitment.

2️⃣ I then participated in internships at two other companies: Tsinghua University Information Technology Research Institute and Zhongsheng Yihua Technology Co., Ltd.; if you want to intern at a school laboratory, you can pay attention to well-known school forums.

3️⃣ During this period, I participated in two competitions: the Kaggle Global Wheat Competition and the second Nvidia Hackathon, and published a paper in the railway field EI. For Kaggle competitions, you can leverage some deep learning platforms, such as DeepEye, which will help with team formation, explain the baseline, and provide ideas.

4️⃣ During the fall recruitment phase, I only made attempts, applying to no more than 10 companies, while focusing most of my energy on applying for a PhD, but I was just a step away in all three attempts.

  The third attempt was unsuccessful, but I still accompanied my girlfriend to visit Shenzhen's Happy Harbor, enjoying the sea breeze. Life is about looking forward!🔭

My OFFER Journey Reflection 2

5️⃣ During my second internship, I felt the efficiency improvement of C++ in algorithm applications, attended the Pirate Class offered by Kaikeba, and unexpectedly got attracted by Brother Guang, so I signed up for the year-long Pirate Class. This was a surprise for me and also a turning point; the origin of this blog is also due to the Pirate Class.

6️⃣ During the spring recruitment phase, in the golden three silver four months, I spent the entire month of April in my dormitory, either preparing for interviews or in interviews; each interview was an opportunity for improvement. A very important skill is to review: What tasks are boring but become more meaningful the longer you persist?


🚩 Key Points (the four flags in the image)

1️⃣ Tsinghua Internship: This should have been the stepping stone to getting through the resume screening; most people are interested in prestigious schools and large companies.

2️⃣ Kaggle Silver Medal: This is a bonus that reflects enthusiasm, and I gained a lot during the process: friends from the competition (who later participated in the Nvidia competition together), the entire process of algorithm application (data preparation -> algorithm training -> algorithm inference -> optimization).

3️⃣ Pirate Class: I realized how vast the computer system is. I don't know how many non-major students, like me, preparing for fall recruitment, thought that just frantically practicing problems would be enough, but without a foundational understanding of computer systems (algorithm data structures⭐, operating systems, network systems, databases, the latter three are generally the focus of interviews), the efficiency is definitely not high!

4️⃣ Switching to Development Positions: Without good papers or a strong background, it is almost impossible to compete for real algorithm positions, and the competition ratio for algorithm and backend positions is 30+ : 1, data sourced from the programming guide Algorithm Positions are Exploding...

Insights#

My abilities are still far from enough, but I would like to share some of my humble opinions on learning and interview methods, for your consideration~

Learning Process#

The process of honing internal skills should not be underestimated

1️⃣ Emphasize the Basics: In-depth study of all branches requires a solid foundation.

 (1) For learning paths, you can pay attention to the course designs of prestigious schools and look at related suggestions on Zhihu. It is best to have a learning mentor to guide you, which can help you avoid some detours and have a general understanding of the overall learning path; as you continue learning, this path will become clearer.

 (2) For learning methods, I agree with the following: ① Watch videos to spark interest, pinpoint key points, and clarify clues; ② Read books to improve the knowledge system, filling in gaps; ③ Practice to deepen understanding, solve problems, work on projects, and write more code; ④ While inputting, also output yourself; ⑤ Make good use of online resources.

  ① Watching videos can refer to recommendations on Zhihu; you can generally find resources on Bilibili.

  ② Reading books should avoid reading word for word; there are many books on reading techniques (in fact, methods are more important than effort). I have read “How to Read a Book”, and here are some suggestions: the approach to reading professional books is to read three times:

  i. The first time, familiarize yourself with the table of contents and grasp the general idea.

  ii. The second time, quickly read each chapter and identify the key issues in each chapter.

  iii. The third time, read in-depth on these key points, combining with related books, and when reading computer books, be sure to pay attention to code practice.

  iv. The first two readings should be fast, while the third should be deep. In short, focus on key issues, don’t get bogged down in details, and don’t stretch the timeline too long, otherwise, you will forget what you read earlier, increasing frustration, and ultimately wasting time with poor results.

  ③ For practice:

  i. Practice problems based on LeetCode. For every algorithm or data structure you learn, find related themed problems to practice; if you just need to maintain your skills, you can solve one problem a day. Problem-solving ability is generally a hurdle before interviews at large companies. Out of the 13 companies I entered the process with, I failed in 6, mostly because I couldn’t solve the coding problems. Practice more problems, but don’t forget to build a solid foundation in algorithm data structures. I recommend a card-based recording platform: Quizlet, suitable for recording scattered knowledge points and techniques, which you can review during spare time. Here’s a set of problem-solving knowledge cards I recorded, and everyone is welcome to contribute, editing password: haizei.

image-20210601100054975

  ii. For projects, you can pay attention to various learning platforms, GitHub, prestigious school courses, etc. You can also check Zhihu for answers.

  ④ During these processes, learn to output, be diligent in summarizing, and have at least your own mind map for each piece of knowledge.

  ⑤ Learning should also involve finding organizations; one of the biggest advantages of the internet industry is its strong community interaction and numerous learning platforms.

  i. Make good use of communication platforms, meet good mentors and friends, learn from each other, common ones include Zhihu, Bilibili, CSDN, GitHub, StackOverflow, V2EX...

  ii. If you are interested in English, I also recommend several English learning platforms:

   a) ScienceDaily (high-quality computer-related news)

   b) codewars (discrete programming practice training, suitable for various languages)

   c) codecademy (card-based interactive learning platform)

  iii. If funds allow, you can try some quality training institutions, where you have guidance and supervision. However, in learning, you must take the initiative, think more, reflect more, and not overly rely on external forces.


2️⃣ Clarify Goals: Which direction do you want to go? What knowledge is needed for this direction? What learning goals do you want to achieve in what time frame?

 (1) After laying a solid foundation, first answer these questions. Learning with purpose will be more motivating and help you achieve success steadily.

 (2) Strive to obtain your stepping stones for job hunting—good schools, internships at large companies, major competitions, key projects, etc.

 (3) Similarly, combine the three steps of video, books, and practice.


3️⃣ Focus on the Present: One thing at a time.

 (1) Regardless of whether you are changing careers or not, there are often other matters involved or pressures from your major's topics. You must learn to work in parallel, focusing on the present moment. It’s best to plan each stage—daily, weekly, monthly—otherwise, focusing on the wrong things is meaningless.

 (2) You can also find some time management and concentration improvement books. I have read “The Little Strong Promotion Record”, and here’s a bit of reading insight: link.


4️⃣ Self-Control: This is also very important; the road is long and difficult.

I have read Stanford University's “Self-Control”, which teaches you:

 (1) Some small tips to improve self-control, such as daily meditation (sticking to 3 minutes a day is not easy, I recommend the audio: Satya Meditation), eating sweets (like ice cream, I often do this), etc.

 (2) Self-control has a limit; don’t give yourself too many difficult tasks at once. Relaxation is key (explore your interests and hobbies to adjust yourself), but this limit can also be improved through meditation and physical exercise.

 (3) Don’t break your promises too much; otherwise, you’ll easily become numb to setting goals. Set achievable goals to increase your sense of accomplishment before raising the difficulty.

 (4) When you don’t want to continue studying or working, you can use that time to rest instead of doing energy-consuming tasks that prevent you from studying or working later.

 (5) Reading this book also requires some self-control.


5️⃣ The learning process is not achieved overnight but is gradual, “Mindset: The New Psychology of Success”.

Interview Tips#

If the previous learning process is solid and grounded, using some interview techniques will yield twice the result with half the effort; otherwise, greater willpower and mental effort are needed.

1️⃣ Knowledge of the computer system is mainly divided into algorithm data structures, operating systems, network systems, databases, programming languages, engineering capabilities.

 (1) [Algorithm Data Structures] You can brush through the 200 questions organized here. If one round is not enough, then do two rounds; the key is the algorithmic thought. This requires some willpower, but don’t make it too difficult. The premise is to learn algorithm data structures as well as possible; once the foundation is solid, it will be easier to understand.

 (2) [Operating Systems, Network Systems] Highly recommend Xiaolin Coding’s Illustrated Operating Systems and Illustrated Computer Networks, which cover all exam points and are explained thoroughly. If you don’t understand something, flipping through related books or surfing the internet can generally solve it.

 (3) [Databases] You can prepare for the database questions organized on Niuke (must-know for Java positions).

 (4) [Programming Languages] This depends on the specific position; you should have a language you are proficient in and understand the underlying principles of common methods, generally combining knowledge of operating systems and network systems.

  ① For C++, I share a C++ guide on Niuke.

  ② Niuke also has many similar guides.

 (5) [Engineering Capabilities] Generally can be improved through practice during the learning process, and the requirements are not too high.


2️⃣ You can use overleaf to create your resume, which is an online LaTeX tool. LaTeX typesetting looks cleaner and more professional.

👉 Here’s a Chinese resume template I modified, with the following effect:

image-20210601102725048

 (1) [Instructions]

  ① Click Open as Template.

  ② After loading, modify the resume.tex file to complete the content.

  ③ Compile to generate a PDF, which can be downloaded for use (Note: Select XeLaTeX in the Menu menu's Compiler).

 (2) Learning scholarships can reflect your learning ability; if you have them, you can write them on your resume in one line.

 (3) The order of past experiences and professional skills can be determined based on the value of past experiences.

  ① Past experiences should be described based on the STAR principle (Situation, Task, Action, Result).

  ② If the competition is particularly impressive, it can be showcased earlier. In short, place your highlights in prominent positions (upper middle position).

 (4) Try to avoid subjective evaluations of yourself; increase objective facts by showcasing actual results.

 (5) Avoid fabricating! Generally, if your resume passes the screening, it means the interviewer recognizes it, so as long as you can demonstrate what is stated on your resume during the interview, there should be no problem. If you can go deeper, that would be even better!


3️⃣ A very important skill is to review.

 (1) After each interview, record the key points of the interview and find satisfactory answers, thinking about which questions could be answered better in a different way.

 (2) After several interviews, your interview skills will definitely improve, at least you will know what to say, what not to say, what is commonly asked, and what is not important.

 (3) Therefore, do not submit applications to your most desired companies first; polish yourself first before trying~

 (4) Refer to What tasks are boring but become more meaningful the longer you persist?


4️⃣ During the interview, if you encounter questions you don’t understand, just say you don’t know.

 (1) Answers that lack logic and are full of loopholes are worse than not answering.

 (2) If it’s a crucial question, then study it well during the review, and make sure to know it next time!


5️⃣ Whether you receive an offer is one thing, and the level of compensation is another.

 (1) When you have enough energy, mastering more and going deeper will help you stand out and earn a higher salary. So when you have the capacity to learn, don’t be satisfied too early.

 (2) HR interviews generally ask about expected salary and current offers, so think about how to respond; this is also an important reference for determining your compensation.

  ① If you already have some offers, make good use of them to raise your value.

  i. If it’s an offer from a small company, describe the advantages of that offer rather than saying you only have one small company offer.

  ii. In short, dig out the advantages of your existing offers, such as work hours, compensation, benefits, work direction, etc.

  ② If you currently have no offers, you can check the approximate level of relevant positions in the OfferShow WeChat mini-program or look at the average salary for relevant positions in that city to have an expectation and assess your approximate position based on your performance in written tests and interviews.

  i. Generally, you can gauge the interviewer’s attitude and feelings from their demeanor and words. If they talk a lot and are willing to share information about the company, they are generally satisfied with you.

  ii. When discussing salary, avoid giving a range; it’s meaningless. For example, if you say 20~25K, the interviewer will assume your expected salary is 20K.🙂


6️⃣ Until the moment the offer is issued, you are not considered hired. Take every interview opportunity seriously, including HR interviews at this company and interviews with other companies.

Tips#

1️⃣ The difficulty of the challenges you face is not the key; the key is to have a will of steel, always ready to face difficulties. You can sharpen your will through sports, reading, socializing, etc.

2️⃣ Whenever possible, visit companies you like and cherish the opportunity to communicate; it can motivate you and may lead to meeting someone fateful.

3️⃣ There is no turning back in life; seize the moment. Don’t let the time spent regretting starting something exceed 30 seconds.

4️⃣ Read more books and find fragmented time. I recommend the WeChat Reading APP—a large interactive reading platform where you can look at others’ notes while reading, focusing on key points.

5️⃣ Considerations for changing careers:

 (1) The completion status of your major research topics, first solve your graduation pressure.

 (2) Learning requires mentors; self-exploration can easily lead to detours. If conditions allow, don’t hesitate to invest in education.

 (3) Encountering various other matters interspersed, mindset and time management skills are crucial.

6️⃣ When you feel like you can’t persist, think about how your efforts now will surely be appreciated by your future self.

7️⃣ Finally, I recommend my blog and some notes, use them as needed. Below is the notes collection area:

image-20210528112029591

Conclusion#

👏 Of course, I want to thank everyone and everything I encountered along the way.

🎎 At the same time, I challenge my parallel self—who chose other offers.

💪 The future is long, and lifelong growth awaits.

🎈 Best wishes.


Thank you all for reading! Feel free to reply and comment~

I wonder if everyone remembers the two key points mentioned in the article. I hope this article helps everyone, let’s work hard together!

In future blogs, I will also focus on the knowledge system of iOS development, so interested friends can pay more attention~🎉

The inspiration for this article came from a Vietnamese restaurant with a good atmosphere, but the taste is still a bit unfamiliar; the best dishes are the shrimp chips and chicken wings.🤫

My OFFER Journey Inspiration
Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.