怎样准备阿里技术面试
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/
怎样准备阿里技术面试