最近收到很多找NG留学生给我留言如何去准备SDE/SWE或者类似岗位的Tech Interview今天csoahelp在此给大家梳理一下找SWE/SDE面试上岸总结:
编码: Coding是整个面试准备周期里,耗时最长的一环。高效刷题,提升现场coding和debug的能力是关键。
面试实习建议可以刷LeetCode easy和medium50/50一起刷,面试ng我建议medium和hard60/40一起刷,及时查漏补缺。刷题一定要熟练,需要平时多积累。能给出最优解的话是加分项
系统设计: 和coding不同的是,system design interview 中的问题是open-ended,不仅需要足够的知识积累,对于non-technicalability的考察也非常重视。entry level如何准备System Design,可以找到onsite公司近两年的面经,刷完所有的System Design题目,找到其工业界实现的blog,反复咀嚼,预设面试官会问到的题目,做针对性地mock演练
关于Project: 在准备项目经历时,提前组织好自己的语言,捋清项目process,对于项目最重要的是要掌握是怎么设计出来的,中间遇到哪些问题,是怎么思考的,具体是怎么解决的,是否还有其他更优的方案
BQ面试: 隐形考察在Behavior Lerdership,这个环节非常重要,公司通过了解你的背景性格来看你是否适合这份工作,同学们一定要花时间来单独准别下behavior Questions。Why xxcompany、Why coding一定是绕不开的,大家可以去参考亚麻BQ题,16条领导力原则是必考重点,很多中小厂、独角兽BQ都是套着亚麻的十六条LP考察
The field of software engineering is devoted to the development of software. It has the power to mold and transform the world as we know it. Software developers create programs, databases, user interfaces, etc. that are utilized by millions of people all over the world. For many programmers, becoming a software engineer is the zenith of their careers. After all, software developers are essentially building the future - a cool and sophisticated one at that - with so many jobs moving digital and nearly everything becoming "smart" these days. In the software industry, software developers are well rewarded. The fact that software engineering is such a dynamic field is one of the reasons for this.
What is Software Engineering?
Software engineering is defined as the process of identifying user needs, then designing, creating, and testing software to meet those requirements. It is a discipline of engineering concerned with the growth of software products by the use of well-defined scientific concepts, methodologies, and procedures. It follows a set of principles, best practices, and procedures that have been fine-tuned through time, evolving as software and technology evolves. Software engineering results in a product that is dependable, efficient, and effective in its function.
Interviews are gateways to the enticing world of software engineering. When someone wants to work as a software engineer, they must be able to deal with difficult interview questions. Everyone has a different way of posing a question, and you must be prepared. They provide you with a real-world platform to assess your problem-solving abilities as well as determine how competent you are. We have gathered some Software engineering questions which will help you crack that interview.
These questions are divided into two categories, one part is for freshers and the other for experienced professionals. So, let's get started.
解答
软件工程领域致力于软件的开发。它具有塑造和改变我们所知世界的能力。
软件开发人员创建的程序、数据库、用户界面等,被全世界数百万人所使用。对于许多程序员来说,成为软件工程师是他们职业生涯的顶峰。毕竟,软件开发人员本质上是在构建未来——一个既酷又先进的未来,如今有这么多工作正在数字化,几乎所有事物都变得"智能"。在软件行业,软件开发人员获得了丰厚的回报。软件工程是这样一个充满活力的领域,这也是原因之一。
什么是软件工程?
软件工程被定义为识别用户需求的过程,然后通过科学概念、方法和程序来设计、创建和测试软件以满足这些需求。它是一门工程学科,关注软件产品的增长,通过精心定义的科学技术和方法来实现。它遵循一系列经过时间考验的原则、最佳实践和程序,随着软件和技术的不断发展而不断演进。软件工程的结果是一个可靠、高效和有效的产品。
面试是进入诱人的软件工程世界的门户。当有人想成为软件工程师时,他们必须能够处理困难的面试问题。每个人提出问题的方式都不同,你必须做好准备。面试为你提供了一个真实的平台,以评估你的问题解决能力以及确定你的能力如何。我们收集了一些软件工程问题,这些问题将帮助你通过面试。
这些问题分为两个类别,一部分是针对新手,另一部分是针对经验丰富的专业人士。所以,让我们开始吧。
What is Amazon looking for in a candidate?
As mentioned before, learning and demonstrating your adherence to their leadership principles is key to landing your dream job at Amazon. Interviewers like the Bar Raiser are frequently assigned one or multiple leadership principles to focus on per round, meaning that you will encounter them at every stage. There are even reports of interviewers asking candidates to recite each principle from memory.
Therefore, it is imperative that you prepare at least one practical example from your past that demonstrates each principle. As you may be asked more than one question on a given principle, we also recommend crafting a few “flex” stories that you can apply to different principles. More on answer techniques in section 3.
To help you familiarize yourself with the leadership principles, we have listed them below. Don’t worry, we will delve deeper into each principle and the interview questions that test them in section 2.
Amazon’s leadership principles:
- Customer Obsession
- Ownership
- Bias for Action
- Have Backbone: Disagree and Commit
- Invent and Simplify
- Dive Deep
亚马逊在候选人中寻找什么?
如前所述,学习和展示对领导原则的遵守是获得亚马逊理想工作的关键。面试官,如Bar Raiser,经常被分配一个或多个领导原则,以便在每个阶段进行关注。甚至有报道称,面试官会要求候选人从记忆中复述每一条原则。
因此,你至少要准备一个过去的实际例子,以证明每一条原则。由于你可能会被问到多于一个问题,所以我们建议你编写几个"灵活"的故事,这些故事可以应用于不同的原则。更多关于回答技巧的信息将在第3部分中提供。
为了帮助你熟悉领导原则,我们将其列在下面。别担心,我们将在第2部分中深入研究每一条原则和测试它们的面试问题。
亚马逊的领导原则如下:
- 顾客至上
- 主人翁精神
- 行动为先
- 有骨气:敢于提出异议并承诺
- 创造与简化
- 深入挖掘