【科技公司Offer拿到手軟】軟體工程師在北美找工作/跳槽的終極武器 |刷題是什麼?
Hello YouTube, long time no see. Yes, it's been three months since I last posted a video. What have I been doing all this time? Besides playing around at home, I also spent time preparing for an interview. Then I really went to some companies. The result was surprisingly good. As for what company I have gone to, what position, and my own philosophy of jumping, I will share with you next time. Today's main topic is about a secret weapon or a way to become a software company. That is to brush up.
What is a "rubber question"? A "rubber question" is a question that is asked by the software engineers who are constantly practicing their skills, especially in large companies in the north. Just like how you do the simulation test before the exam, it is as important as the preparation. What are these questions? In fact, this question can be very broad.
from the basic design of a HashMap with a stack to the task of writing a algorithm, finding the best sequence of the sequence in a array, etc. all of these can be found in a 45-minute interview. The purpose of this is to determine whether you have the ability to become a good software engineer.
Most of these topics are about computing and data structure. If you are studying computer science or engineering, congratulations, you have a certain foundation. Because of the most basic binary search, heap, quick sort, or even more difficult and complex dynamic programming, you should have been familiar with or even practiced the basic knowledge.
So when you see these things again, you shouldn't feel too unfamiliar. But if you are like me, going to class in a hurry, these things are already willing to be returned to the teacher. Or you are not a computer science graduate, you don't have to worry too much. Because you can achieve the same effect by practicing within a limited time. But this is more challenging for your patience and the cowardly nature of being easily frustrated.
Why do I need to do this? I have been to many big and small companies and had a lot of interviews. Not all companies will test you on how to calculate and how to prepare your data. For example, some companies will test you on how to design API, some basic REST principles, or at most, they will ask you to reverse a linked list.
If you have computer science background or some work experience, these are usually not difficult for you and you don't need to prepare. Or even if I encounter a specific knowledge of a certain language, for example, ask me to explain the Async Event Loop in JavaScript, it does not have much to do with the brushwork.
But based on experience, usually a good company willing to pay you higher than the market price salary of a technology company will have at least one or two rounds of this algorithmic data structure topic. If your title is Software Engineer, Full Stack Engineer or Senior Software Engineer, then practice on the topic will definitely greatly improve the chances of you succeeding in this interview. If you are a manager today, will these companies still test you and teach you how to write codes? It is actually possible.
I know many big companies will at least keep a round of interviews when they meet managers to see if you have a basic job in writing code. As your age and level grow, the number and difficulty of the test subjects will slowly decrease. For example, engineers in the staff level, the company values more your ability to design systems and the ability to complete projects with a team. There will definitely be a test method, but the difficulty and proportion will be lower for a L3/L4 engineer.
By the way, if you want to know how much a high-level engineer can make in the department of finance, you can watch the video I posted before. Before I introduce the method of the topic, I want to talk to you about why these companies need to test the problems of these algorithms and data structures that may not actually be encountered in the actual work. In fact, when you work in a big company, especially if you are a relatively low-level software engineer, you are most likely to write some applications.
Write some API, then write some query on the database Or add some features on the frame that the senior has already written Basically, these nine-layer tasks are not related to these tricky algorithmic interviews I haven't really seen anyone writing a try or finding a minimum spanning tree in graph If you really need this kind of support, just google it online
When you are still in the basic state, and encounter some special problems, you can quickly react to find a solution. For example, I once did a project that needed to use Quadtree to store geolocation. Although I was also looking for a live library to use directly online, if I didn't have computer science basic knowledge, I might not be able to understand why you need to use a high-performance search data structure like Quadtree, instead of simply storing everything in a list.
This clearly shows the difference between an engineer and a programmer. The second reason is to test the algorithm. For example, find the largest value from an array. There may be dozens of different ways of writing, but each method is different in terms of time and space.
How to write relatively optimized time and space-complicated code within a reasonable time range It's easy to see the level of a engineer And the style of your code will be very important The company will pay attention to whether you can understand the code that the average person can understand Because when you enter the company, you must not only see what you write by yourself Familiarity, technical skills, and non-stop interviews can greatly improve your chances of getting offers In fact, most companies are all about the technique of "rubbing"
Actually, think about it, it's a very tough test system. It takes time to prepare. Some people even enter Google and Facebook by a few hundred questions. But I think these high-tech companies that are constantly pursuing innovation and innovation are still using this old test system to interview software engineers. There is a reason for this. The first is the basic evaluation of technology I mentioned before. Then there are two types of people the company wants to recruit.
The first type is genius engineers. These people can usually do one thing and do six things at the same time. They don't really need to prepare, so they can kill most of the math interviews. They are usually interested in reading the articles on how to optimize the math of the database, or they are the players of the math competition. They can do the KMP math with their eyes closed. However, there may only be one such person among the 10,000 engineers. Then there is the ordinary, intelligent like me, but I am willing to work hard to spend time on the topic.
This fully reflects a very important personality trait, that is, you can at least study hard and have a strong sense of progress. Such a person in the team, the chances of success may not necessarily be lost to a natural talent.
You need to know that a 45-minute interview is very limited in terms of time. It's hard for an interviewer to be able to make a contact contribution and have excellent team cooperation in a short period of time. Google has actually done a lot of study. This kind of visualized 10-page interview method can actually be very effective in finding the engineers they need in a short time in a low cost way. Of course, I personally think this is definitely not the best way to evaluate engineers.
And each company should design a more suitable way for them to evaluate engineers based on the talent they need. But if your goal is to find a high-tech job or enter these technology factories, you have to familiarize yourself with their game rules. There are many ways to brush the topic. In fact, the essence is that you have to practice these topics more and then familiarize yourself with the solution techniques of various topics and the way of thinking behind it. Then find a set of learning methods that suits you and keep it.
One important thing is that you must not have a 10 times answer. Because this does not only not achieve the effect of learning, the interviewer just needs to change the topic a little bit, you may not know how to solve the problem. I have met an interviewer who directly pasted the original text without changing it, but this is really very rare. Most of them will change the topic to the way we have seen it, but the core solution method is actually the same as the thinking. As long as you practice repeatedly and master these core concepts, you can raise one against three, there is basically no problem.
And in fact, the things that can be tested are those that are too difficult to test, unnecessary, and meaningless. Then you can make different solutions within a limited time. And then finally achieve relatively optimized algorithms.
I will share some more classic topics with you later. Where to find these topics? There are actually many resources on the Internet that can let you practice typing for free. Some can unlock some special topics or special services after paying. Here I do not recommend Leeko to those who are not familiar with it. Because its library and the overall user experience are the best. On this platform, you can register an account for free. You can start practicing most of the library without paying any money.
And its online geology is also very good. When you hand in your code, it will run various test cases to tell you how much the algorithm is faster than the other people's algorithm and how much space is used.
I think the most characteristic of Leeko is that there is a discussion area for each question. In the discussion area, everyone will share their own method of calculation and solution. Then everyone can vote for each post. Usually the post that most people upload is basically the best method or the most clear idea. You can click to see it and learn how to do it. Because usually this is the most popular method for this question.
Usually, when you can come up with similar ideas or correctly write the code in the interview, you will be considered as a strong hire. In addition, on the Leeko platform, a few questions provide official answers, but I think the reference value of these answers is not high. I prefer to look at the answers and solutions of all experts in the discussion area.
I also recommend two other platforms, one is called Linco and HackerRank. These platforms are similar to Linco, where you can practice the brushwork. You only need one platform, because Linco has about 1700 questions. In Linco, each question will be divided into three levels, which are Easy, Medium and Hard.
I would suggest beginners to start with easy topics because if you can't find the right answer or write the code properly, you don't need to look at medium and hard topics because it will only make you more anxious or want to give up.
When you get familiar with some easy questions, after doing about 30 to 50 questions, you can slowly get to medium questions. As for hard questions, I would recommend doing some more classic questions first. After all, hard questions don't appear often in real interviews. And the solution is relatively difficult to achieve. Usually, if you haven't seen this question, it's hard to come up with a relatively good solution within a limited time. Even make it come true.
I have met a company that has tested my hard test twice in a row. This is rare. I think most of the tests are tested in the medium or easy range. So I recommend practicing the ratio of all the difficult tests. I recommend 30% for easy, 60% for medium, and 10% for hard.
As for how many questions to do, this question is really a person. Some people have a very high understanding of the problem. He may only do 100 questions and he can handle 90% of the interview. For a normal person, I would recommend the number of 300 questions as the standard. Although Leeko's own question code has reached 1700 questions, but when you do 300 questions in a row, you will find that you can master most of the solving skills.
Then apply these solutions to solve more problems. Another important point is that these 300 questions are not done in one go. If you are the first time to brush the question, you may have a lot of frustration. Maybe the first time you brush these 300 questions, you just read the answer of 290 questions. The number of questions that you really independently completed without looking at the answer may be counted by your fingers. I can tell you that you don't have to reply. This is very normal. I want you to go back and do these 300 questions again. This time, try not to look at the answer. See how many questions you can do.
Then when you do the question, you can write some notes to record what your thoughts were at the time. Just repeat the practice until you can think of the correct thought when you see the question and realize the algorithm in 35 minutes. I think it's very important that you can practice these 300 questions to deeply experience what you need to test behind the scenes and the ideas and skills of the question. This is much more than just looking at the answers and doing the question, and then writing 1000 questions. The effect is much stronger.
Because in the activity of the question, the most important thing is to practice the right way to solve the question. As for which 300 questions, if you use Leeko, each question has a number from 1 to 1600 to 1700. Basically, you can start from 1 to 300. I think this is a good start.
还有在Liqo上面假如你付钱的话 你可以解锁一个功能 就是你可以看哪些公司 最近刚考的题目有哪些 或是这家公司最热门的100道题有哪些
-
Being able to be called a strong hire during an interview is definitely not the only thing you need to prepare. But it is definitely a more basic and fast-growing point to improve your success in an interview. In an interview, the company will also value your soft skills and strength.
such as the ability to communicate with the interviewer, whether you can accept criticism, whether you have team awareness and cooperation, etc. are the standards of interview judges. Next, as your level rises, the company will value your ability to design systems more and more. This is actually also possible to prepare.
I will post another video next time to introduce the interview and preparation for system design. But usually this kind of system design interview will require some real work experience to strengthen. Unlike the brushwork, you can prepare in a similar way as a first-class exam. Okay, I will summarize what I talked about today and my own brushwork experience. Actually, I envy those who are aware of the importance of brushwork when they are in college. Because I am not a computer or a volunteer in this field.
So I didn't understand these things when I was in college. I found myself not doing well after entering this field. Then rely on myself Little by little, I did 400 questions. There are more than 80% of the questions. I have done more than three or four times.
Actually, it's not hard to get a job. The hard part is to be able to keep your balance. Because I believe many people are like me, want to go to a better company or get better treatment. But because I have my own work to do now, I only have time to prepare for the job. Then you will usually be very tired after work. Then you may have other messy things to deal with. So it's really difficult to keep your balance and get a job.
But I can guarantee you that this is a very worthwhile investment. If you want to do this industry in the next few years, the topic not only greatly improved my success rate in interviews and confidence, but also greatly improved my ability to write quotes. I clearly feel that my writing is simpler and easier to understand.
And when I reviewed other people's codes I also naturally thought of some suggestions that could be optimized And from a long-term perspective Going to a better company, getting a higher salary, climbing up faster This reward is far more than a few months of hard work Although the topic is not the kind of thing you can do once in your life and you can be completely immune
Because if you have done 1000 questions 2 years ago, but you want to change jobs now, you still have to go back and review it. Because these things are actually quite easy to forget. But you have done it before, so the next review will not be as painful as the last time, it will only get easier and easier. Another important thing is that when you are really going to interview a few days ago, I would recommend you to find a friend or someone with experience as your interviewer to simulate the actual experience and experience of the interview.
And you must be on time because when you are usually doing exercises, you will not feel the tension and pressure from the competition. Plus, if you are a beginner and the interviewer is not very friendly, you may be very nervous and you can't play the usual practice state. That will be a pity.
Lastly, I want to say that, like me, a self-taught person, who used to be a student of the National High School, sometimes a student of the Faculty of Engineering, and not a graduate of Computer Science, through hard work and practice, now can do the Miao Sha interview and continue to produce hard questions. I believe you can do it too.
More transcripts
Explore other videos transcribed with YouTLDR.

فلوق توأم الذكاء الاصطناعي | حضرنا مباراة الهلال والاتحاد ⚽🔥 | واحتفلنا بيوم التأسيس 🇸🇦
القرد مسمار · Arabic

The Missionary Collapse: America’s Fastest-Disappearing Christian Workforce
Christian Faith Archive · English

شروط الأمر بالمعروف والنهي عن المنكر || العلامة سليمان العلوان
سماحة الشيخ العلامة سليمان العلوان · Arabic

ورشة لعبة المال ستحذف بعد ساعات
Safia Tahar - صفية طاهر · Arabic

Seri-I Pengantar Hukum Indonesia (PHI): Sistem Hukum Indonesia
Shidarta S. · Indonesian

Initial Call Center Interview Simulation | No Experience, Undergraduate
Kwestyon · English

Sejarah Latar Belakang Kedatangan Bangsa Eropa ke Indonesia dan Dampaknya Materi Sejarah kelas 11
DELTA BUANA · Indonesian

Bentrok Dua Kelompok Warga Terjadi di perbatasan Desa, Polisi Turun Tangan | Berita Utama Kriminal
tvOneNews · English

المداخلة الأولى "الثوابت الدينية للمملكة المغربية-تعريف وتقريب-" ذ: سعد الدين إحسان
القناة الرسمية للمجلس العلمي لمراكش · Arabic

Santidade
BibleProject - Português · English

Video Animasi Pembelajaran Sosiologi sebagai Ilmu yang Berparadigma Ganda Kelas 10 SMA
Hanifah Muslimah · Indonesian

🔥 La MEJOR FORMA de ESCALAR en Meta Ads
Felipe Vergara · English
Get the TLDR of any YouTube video
Transcribe, summarize, and repurpose videos in 125+ languages — free, no signup required.