怎樣準備阿里技術面試
In June 2020 I watched an inspiring talk by Anthony D. Mays, a technical coach and founder at Morgan Latimerco. He came on a Facebook Developer Circles Benin live session and talked about how to prepare for a technical interview.
2020年6月,我觀看了Morgan Latimerco的技術教練兼創始人Anthony D. Mays的精彩演講。 他參加了Facebook Developer Circles貝寧直播會議,并談到了如何準備技術面試 。
During the live session, he said that “Helping people to digest what you learn from me today and sharing with your network is a good thing”. When you learn something from someone, it is a good idea to pass that knowledge on to others. And if you look at that information closely, it's a good way to learn.
在現場會議中,他說:“幫助人們消化您今天向我學習的內容并與您的網絡共享是一件好事。” 當您向某人學習某些東西時,將這些知識傳遞給其他人是個好主意。 而且,如果您仔細查看這些信息,這是學習的好方法。
So, I decided to put into writing what he discussed during the live session along with my own personal experience. At the end of this article you will understand the following:
因此,我決定將他在現場會議中討論的內容以及我個人的經歷寫成文章。 在本文結尾,您將了解以下內容:
- How to get the attention of top companies 如何引起頂級公司的關注
- What happens when you have their attention 當他們引起注意時會發生什么
- The type of interview you will likely get 您可能會得到的采訪類型
- A framework for problem-solving (6 steps to use in a technical interview) 解決問題的框架(技術面試中使用的6個步驟)
入門 (Getting started)
In 2018, my friend and I had this dream of interning at big tech companies. It was pretty cool to have such big dreams, but the question here was “am I prepared for the task ahead of me?”
在2018年,我和我的朋友實現了在大型科技公司實習的夢想。 擁有如此偉大的夢想真是太酷了,但是這里的問題是“我準備好要面對的任務了嗎?”
I remember joining LinkedIn for the first time and I didn't even know how to find my way around. I kept sending messages to different recruiters at big tech companies asking them to refer me for roles that were perhaps a bit out of my reach.
我記得第一次加入LinkedIn,我什至不知道如何找到自己的出路。 我不斷向大型科技公司的不同招聘人員發送消息,要求他們推薦我擔任可能超出我職責范圍的職位。
But do you know the funny thing? A lot of people make this same mistake. Before trying to get the attention of big tech companies you need to:
但是你知道有趣的事嗎? 很多人會犯同樣的錯誤。 在引起大型科技公司的關注之前,您需要:
- Have a wide range of experience. 有廣泛的經驗。
- Be seen as someone innovative. You can show this in several ways, either by building something and publishing it, or by starting your own company or working with a startup. 被視為具有創新精神的人。 您可以通過構建和發布內容,或者通過創建自己的公司或與初創公司合作,以幾種方式顯示此內容。
- Show that you are a problem solver by being able to discuss your impact. 通過討論您的影響來表明您是解決問題的人。
如果您具有這些資格,您如何獲得頂級高科技公司的關注? (If you have these qualifications, how do you get the attention of top tech companies?)
擁有很棒的簡歷 (Have an awesome résumé)
Some people may be smart but their résumés are horrible. My first résumé was really bad, and whenever I look back at it I start laughing.
有些人可能很聰明,但是他們的簡歷卻很糟糕。 我的第一份簡歷真的很糟糕,每當我回頭看時,我都會大笑。
I looked for ways to improve my résumé by doing research and reaching out to some people on LinkedIn to help review it. It got to the point where I was changing my résumé up to twice a day.
我一直在尋找方法,通過進行研究并與LinkedIn上的一些人聯系以幫助審查它來改善我的簡歷。 到了我每天最多更改兩次簡歷的地步。
I still wouldn't say that I am the best at writing a résumé, but if I compare the before and after, I have improved.
我仍然不會說我最擅長寫簡歷,但是如果我比較前后的話,我會有所進步。
When writing your résumé, use as many numbers as you can – how many bugs did you fix, how much money did you raise, how many projects do you have on Github, what impact did you make, and so on.
編寫簡歷時,請使用盡可能多的數字-您修復了多少錯誤,您籌集了多少資金,您對Github進行了多少個項目,您產生了什么樣的影響,等等。
Please note: Your résumé should include your Linkedin profile, so make that profile look like your résumé. When you have an amazing profile recruiters might contact you through Linkedin. If you don't have a Linkedin profile, you should start one here.
請注意:您的簡歷應包括您的Linkedin個人資料,因此使該個人資料看起來像您的簡歷。 當您的個人資料令人贊嘆時,招聘人員可能會通過Linkedin與您聯系。 如果您沒有Linkedin的個人資料,則應在此處開始。
獲得推薦 (Get Referrals)
If you get a referral, it should be from someone who knows you and is familiar with your work. If you don't know anyone, you can start building relationships with these people.
如果您獲得推薦,則推薦人應該是認識您并且熟悉您工作的人。 如果您不認識任何人,則可以開始與這些人建立關系。
Please note: A referral doesn't always get you the job, but it can help you jump to the front of the line so you get contacted.
請注意 :推薦并不總是能為您找到工作,但可以幫助您跳到生產線的最前面,因此可以與您聯系。
一旦得到公司的關注,會發生什么? (What happens once you have a company's attention?)
Getting the attention of the company allows you to talk to the recruiter about your background and whether the position might be a great fit for you.
得到公司的關注,您可以與招聘人員討論您的背景以及該職位是否適合您。
If it is a great fit then you will go through several interview processes. Below is an example of some types of technical interviews you might go through.
如果非常合適,那么您將經歷幾個面試過程。 以下是您可能要進行的某些類型的技術采訪的示例。
手機屏幕 (Phone screen)
You may be contacted by an engineer to do a phone screen where you work through a technical question.
工程師可能會與您聯系以制作電話屏幕,以解決您遇到的技術問題。
Make sure you prepare for your phone screen – you might have one or two of them. And if it goes well and you pass, you will be invited for an onsite or virtual interview depending on the company.
確保準備好手機屏幕–您可能有一個或兩個。 如果一切順利,并且您通過了,則視公司而定,您將被邀請進行現場或虛擬面試。
現場/虛擬面試 (Onsite/Virtual Interview )
If you’re applying for a software development position, you’ve got a special set of skills to prepare. Yes, you’ll be asked to code. No, you likely won't get a computer, just a whiteboard.
如果您正在申請軟件開發職位,則需要準備一些特殊的技能。 是的,系統會要求您編碼。 不,您可能沒有電腦,只有白板。
Whiteboard and coding interviews require a special set of skills. Even the best coders can get nailed on coding questions.
白板和編碼采訪需要一套特殊的技能。 即使是最優秀的編碼人員,也可能對編碼問題有所了解。
You might have to go through four or five onsite or virtual whiteboard interviews with different engineers. This is because the company wants to see how you work with different engineers who are very likely working on different kinds of problems. It also helps them see if you are well-rounded.
您可能需要與不同的工程師進行四到五次現場或虛擬白板采訪。 這是因為該公司希望了解您如何與很可能處理各種問題的不同工程師合作。 它還可以幫助他們了解您是否全面。
If you do well in all interviews, that's great. Just try to be consistent - if you do well in one but not in another, this can be confusing to those looking at your performance.
如果您在所有面試中都表現出色,那就太好了。 只是要保持一致-如果您在一項工作中表現出色,但在另一項工作中卻做不到,這可能會使那些關注您績效的人感到困惑。
This process is the same in a virtual interview. The only difference is that instead of a whiteboard you will be asked to share your screen while they watch you code.
在虛擬面試中,此過程相同。 唯一的區別是,當他們觀看代碼時,將要求他們共享屏幕而不是白板。
基于知識的面試 (Knowledge-based interview)
These types of interviews test your knowledge. You will be asked things like how the framework you're using works, why you should make use of if-else statements, and so on.
這些類型的采訪會測試您的知識。 系統會詢問您一些問題,例如您正在使用的框架如何工作,為什么要使用if-else語句等等。
行為面試 (Behavioral Interview)
Smaller tech companies are a bit different, but one similar thing is the behavioral interview. This often tests that you know how you solved a problem in a particular situation, how you work under pressure, and so on.
較小的科技公司有些不同,但是行為采訪是類似的事情。 這通常會測試您是否知道如何在特定情況下解決問題,如何在壓力下工作等等。
It is also good to know your résumé well so you can talk about the details listed on it.
很好地了解您的簡歷也很好,因此您可以談論上面列出的詳細信息。
基于項目的面試 (Project-based interview)
Typically, you will be given a project to work on. Then you return it in x hours or even days – it depends on the company.
通常,您會得到一個要進行的項目。 然后,您需要在x小時甚至幾天內將其退回,具體取決于公司。
解決問題的框架 (A framework for problem-solving)
Software companies are looking for good problem solvers. So the question is – how do you become an excellent problem solver?
軟件公司正在尋找好的問題解決者。 所以問題是– 您如何成為出色的問題解決者?
Good problem solvers ask questions, and they know how to think up multiple solutions. Here are some strategies to help you improve your problem-solving skills.
優秀的問題解決者會提出問題,他們知道如何思考多種解決方案。 這里有一些策略可以幫助您提高解決問題的能力。
在技??術面試中使用的6個解決問題的步驟: (6 problem-solving steps to use in a technical interview:)
- Repeat the question out loud 大聲重復問題
- Follow up by asking questions to help understand the problem 通過提出問題來跟進,以幫助理解問題
- Use an example so you know what the input looks like – you can draw it. 使用示例,您可以知道輸入是什么樣子–可以繪制它。
Brainstorm, and stop and think about one or two ways you can solve the problem. This is where Big O comes into play.
集思廣益,停下來思考一下解決問題的一種或兩種方法。 這是Big O發揮作用的地方。
- Implement the technical solution 實施技術解決方案
- Test to be sure there are no errors in your code. 測試以確保您的代碼中沒有錯誤。
These steps can also be applied to your day to day work as well. And you can test them out by doing a mock interview with another engineer – it'll really help you prepare for the actual interview.
這些步驟也可以應用于您的日常工作。 而且,您可以通過與另一位工程師進行模擬面試來測試他們–這確實可以幫助您為實際面試做準備。
結論 (Conclusion)
Success, especially in interviews, requires a lot of hard work and time. I hope the tips I shared in this article help you get started in your tech career.
成功,尤其是在面試中,需要大量的努力和時間。 希望我在本文中分享的技巧可以幫助您開始從事技術職業。
信用 (Credit)
Anthony D. Mays for his inspiring talk.
Anthony D. Mays的鼓舞人心的演講。
You can follow my blog here.
您可以在這里關注我的博客。
翻譯自: https://www.freecodecamp.org/news/how-to-prepare-for-a-technical-interview/
怎樣準備阿里技術面試