博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
华为技术面试编码题_最佳技术编码面试准备书
阅读量:2529 次
发布时间:2019-05-11

本文共 10038 字,大约阅读时间需要 33 分钟。

华为技术面试编码题

Technical coding interviews are notoriously difficult — almost borderline quiz-like for those unprepared. It can sometimes be a daunting task to navigate all the technical coding preparation resources available online, and one might ask: is there a single book/resource that best prepares for technical coding interviews?

众所周知,技术编码面试非常困难-对于那些没有准备的人,几乎像是边界测验。 浏览所有在线可用的技术编码准备资源有时可能是一项艰巨的任务,并且有人可能会问: 是否有一本书/资源最能为技术编码面试做准备?

Best, is relative of course in this case. If you’re looking for a book that will teach you how to solve any coding question, guides you on how to design something like Instagram that scales to a billion users, and makes your sandwich while you’re at it, then this book definitely isn’t it.

最好 ,在这种情况下当然是相对的。 如果您正在寻找一本可以教您如何解决任何编码问题的书,并指导您如何设计可扩展至十亿用户的Instagram之类的东西,并在您使用时做三明治,那么这本书绝对是是不是

But for polishing your technical chops and making sure you’re well prepared to face the programming challenges in an interview, this book comes darn close to it.

但是,为了完善您的技术知识,并确保您准备好在面试中面对编程方面的挑战,这本书可真是天花乱坠。

In today’s book review, I go over in detail the good and the bad of one of the top-selling books on Amazon for technical coding interviews: (a.k.a EPI, and it’ll be referred to as such in the rest of this article).

在今天的书评,我去了详细 ,对亚马逊最畅销书的技术编码采访一个的 : (又名EPI,它会在剩下的被称为这样的本文)。

这本书是关于什么的? (What is this book about?)

EPI is a book that focuses on preparing for technical software engineering interview questions that are commonly asked at tech companies. If you’re looking for a position as a software engineer, this book will have something for you.

EPI是一本书,着重于准备技术软件工程面试问题,这些问题在技术公司中经常问到。 如果您正在寻找软件工程师的职位,这本书将为您提供一些帮助。

EPI was written by 3 folks who’ve worked across some of the best-known tech companies in the world, the likes of Facebook, Google, Uber, and Microsoft. The authors have very strong technical backgrounds, and this is evidenced by the technical focus in the contents of the book.

EPI由3个人共同撰写,他们曾在全球一些最知名的科技公司工作过,例如Facebook,Google,Uber和Microsoft。 作者具有很强的技术背景,本书内容中的技术重点证明了这一点。

The book itself is highly technical in nature and deep dives into fundamental computer science. The types of technical coding questions vary widely from string manipulation to graph traversals. The book also offers concrete tips and tricks for solving specific types of coding problems, and includes a cheatsheet to help ace technical questions.

该书本身具有很高的技术性,并且深入研究了基础计算机科学。 从字符串处理到图形遍历,技术编码问题的类型千差万别。 该书还提供了解决特定类型的编码问题的具体技巧和窍门,并提供了一份备忘单,以帮助解决一些技术问题。

善良 (The Good)

In short: EPI is a highly technical book that is well-suited for anyone looking to prepare for technical coding questions that revolve around data structures and algorithms.

简而言之:EPI是一本技术性很强的书,非常适合希望为涉及数据结构和算法的技术编码问题做准备的任何人。

The things that I particularly enjoyed:

我特别喜欢的东西:

  • has many questions (300+) with detailed answers, compared to another popular book (Cracking The Coding Interview) that only has 170+

    与另一本只有170+的热门书籍(《 Cracking The Coding Interview》)相比,有很多问题(300+)都有详细的答案
  • comes in 3 different versions: Java, Python and C++. Suitable for people who want to use the language of their choice

    共有3种不同版本:Java,Python和C ++。 适合想要使用自己选择的语言的人
  • has a great cheatsheet (Chapter 4) that summarizes all the techniques and data structures you’d need

    有一个很棒的备忘单(第4章),总结了您需要的所有技术和数据结构
  • covers in detail every single data structure you need, algorithms you should know, and techniques you should know in a simple, understandable format

    以简单易懂的格式详细介绍了您需要的每个数据结构,应了解的算法以及应了解的技术
  • covers relevant technical topics you might get asked in a coding interview, like what is TCP/IP, how the Internet works, and how to capture relationships between different entities in schema design

    涵盖您可能会在编码访谈中被问到的相关技术主题,例如什么是TCP / IP,Internet如何工作以及如何在模式设计中捕获不同实体之间的关系

Those are some of the top-level points I enjoyed about the book. What I really enjoy is that the answers are very, very well constructed.

这些是我喜欢这本书的一些顶级要点。 我真正喜欢的是答案的构造非常非常好。

The answers often take a brute force/simplistic approach to the problems. The authors then provide concrete examples of how you can improve on the brute force approach. With each iteration, the authors point out where the limitations are and how you can solve them with incremental optimizations.

答案通常采用蛮力/简单的方法来解决问题。 然后,作者提供了有关如何改进蛮力方法的具体示例。 在每次迭代中,作者指出了限制在哪里以及如何使用增量优化来解决它们。

For example, EPI explains how to detect a cycle in a linked list. The first approach: use a hash map to store every node you traverse, and then check against the hash map to see if you’ve seen it. This does the job, albeit it takes additional space (so-called O(N) space complexity and O(N) time complexity).

例如,EPI解释了如何在链表中检测循环。 第一种方法:使用哈希图存储遍历的每个节点,然后对照哈希图检查是否已看到它。 尽管这样做需要额外的空间(即所谓的O(N)空间复杂度和O(N)时间复杂度),但这样做确实可行。

The book then points out that the additional space is not required, and suggests that detecting cycles in a linked list can be done without additional space by manipulating the pointers instead.

然后,该书指出不需要额外的空间,并建议通过操作指针来检测链接列表中的循环而无需额外的空间。

It takes that same approach in explaining almost all the questions, so everyone can understand how to get from a rough solution to an optimized one.

几乎所有问题都采用相同的方法进行解释,因此每个人都可以理解如何从一个粗略的解决方案过渡到一个优化的解决方案。

For someone who’s rusty and looking to start preparing for interviews, EPI does a great job — every chapter starts off with a summary of the data structure or algorithm that you will learn, why the data structure is special, what are the strengths/weaknesses of said data structure and what you need to take note of.

对于一个生疏且想要准备面试的人,EPI做得很好-每章都以您将要学习的数据结构或算法的摘要开始,为什么数据结构特别,该方法的优点/缺点是什么?数据结构以及您需要注意的内容。

In short, EPI is the notebook I wished I had when I was preparing for technical interviews. This is the book I’d give a friend who’s looking to prepare for technical interviews — aside from my best-selling (Acing The Tech Interview), which prepares any candidate for the entire interview experience from resume preparation, behavioral questions to how to solve coding problems creatively. Classes fill up fast, so book your slot today.

简而言之,EPI是我准备进行技术面试时希望拥有的笔记本。 除了我最畅销的 (Acing The Tech Interview)之外,这本书是我送给一位希望为技术面试做准备的朋友的书,该为从面试准备,行为问题到如何进行面试的所有候选人做准备创造性地解决编码问题。 上课时间很快,所以今天就预订您的位置。

坏人 (The Bad)

EPI has its downsides as well. Being a highly technical book, this means the book has its focus set on coding questions.

EPI也有缺点。 作为一本技术性很强的书,这意味着这本书的重点是编码问题。

This, inadvertently, means that the book falls short in terms of other aspects of the technical interview process which are, arguably, just as important — offer negotiation, how to write a persuasive resume, what to do when you get an offer, how to handle behavioral questions etc.

这无意间意味着这本书在技术面试过程的其他方面都达不到要求,这些方面可以说是同样重要的-报价谈判,如何写有说服力的简历,获得报价时该怎么做,如何处理行为问题等

In addition, the book goes into deep detail with data structures and algorithms, but only provides a high-level overview, to the point of being confusing due to lack of context, of various other important concepts like SQL, NoSQL, how to design a proper schema for a simple application and more.

此外,本书深入介绍了数据结构和算法,但仅提供了高层次的概述,以至于由于缺少上下文而使其他重要概念(如SQL,NoSQL,如何设计一个适用于简单应用程序的适当模式等等。

The book sort of covers SQL design by explaining how to structure tables to capture entity relationships, but it does not explain more about JOINs or how to query the tables properly. I think understanding the what (SQL tables) is just as important as the how (queries).

本书通过解释如何构造表以捕获实体关系来涵盖SQL设计,但并未详细介绍JOIN或如何正确查询表。 我认为了解什么 (SQL表)与如何 (查询)同等重要。

EPI also has a chapter on systems designs, but the chapter does not cover distributed designs. I would’ve liked it better if the book had described in more details what distributed systems are or where to find more information about these.

EPI还有一章涉及系统设计,但该章未涵盖分布式设计。 如果本书更详细地描述了什么是分布式系统或在哪里可以找到有关这些的更多信息,我会更喜欢它。

这对我来说是一本好书吗? (Is this a good book for me?)

If you have ~$40 to spare and a big appetite to learn, I’d say so.

如果您有40美元的积蓄和足够的学习兴趣,我会这样说。

The book sells for $36 on average (there are 3 versions). This book is highly rated on Amazon.com, with an average of 4.53 stars across all 3 versions. The stats are as follows:

该书平均售价为36美元(共有3种版本)。 这本书在Amazon.com上获得了高度评价,在所有3个版本中平均获得4.53星。 统计信息如下:

On :

在 :

3 versions (as of March 12):

3个版本(截至3月12日):

  • Python: 169 ratings 4.3 ave

    Python:169评分4.3平均
  • Java: 203 ratings 4.6 ave

    Java:203评分4.6平均
  • C++: 436 ratings 4.7 ave

    C ++:436评分4.7平均

In aggregate, there were a total of 808 reviews.

总计,共有808条评论。

Some of the reviews:

一些评论:

“.. the best algorithm/data structure I ever took”
“ ..我曾经尝试过的最佳算法/数据结构”
“the code is of high quality, using meaningful variable names”
“代码质量高,使用有意义的变量名”
“this is a must-have book”
“这是一本必不可少的书”

现在,你应该买吗? (Now, should you buy it?)

I think that EPI is one of the best resources to prepare for technical coding interviews, bar none. Regardless of your experience level, there’s something in there for you. I particularly enjoy reading the book for its clear and concise explanations, and I use this book as a reference in my programming course.

我认为, EPI是准备技术编码面试的最佳资源之一无所不包。 无论您的经验水平如何,都有一些适合您的东西。 我特别喜欢阅读本书,以获得简洁明了的解释,并且在本书编程课程中将其用作参考。

If you want all the data structures, algorithms you need to know in a single, easy-to-read book, then EPI is the book for you.

如果您希望在一本简单易读的书中需要了解所有的数据结构和算法,那么EPI是适合您的书。

For distributed systems designs, I recommend looking elsewhere. A good start is .

对于分布式系统设计,我建议在其他地方查找。 是一个好的开始。

I love it for the depth and insights, and I recommend it to many students who are taking my as well.

我喜欢它的深度和洞察力,并且向很多正在我的学生推荐它。

我推荐的资源 (Resources I Recommend)

 — great resource for learning about distributed systems and how large-scale systems work.

-学习分布式系统以及大型系统如何工作的绝佳资源。

 — my best-selling personal coaching course on how to ace technical interviews. We cover resume review, technical coding interview, behavioral questions and more.

-我最畅销的关于如何进行技术面试的私人教练课程。 我们涵盖简历审查,技术编码面试,行为问题等。

— my personal coaching course on designing large scale distributed systems. Learn about how to design features like Instagram Stories, Groupon, movie streaming sites like Netflix at scale.

—我的个人指导课程,设计大型分布式系统。 了解有关如何大规模设计Instagram Stories,Groupon和Netflix等电影流媒体网站的功能。

翻译自:

华为技术面试编码题

转载地址:http://gfuzd.baihongyu.com/

你可能感兴趣的文章
将博客搬至CSDN
查看>>
HDOJ 2081
查看>>
第一节:认识电脑
查看>>
如何摆脱穷打工的命?
查看>>
iOS应用国际化教程
查看>>
MySql cmd下的学习笔记 —— 有关视图的操作(algorithm)
查看>>
gulp教程
查看>>
MySQL常用日期的选择
查看>>
Ubuntu下查看命令的源码
查看>>
锁及锁粒度的详细比喻
查看>>
JS获取终端屏幕、浏览窗口的相关信息
查看>>
长这么漂亮为啥还学编程?什么心态?
查看>>
JQ JS 切换背景图
查看>>
C#WebBrowser控件使用教程与技巧收集
查看>>
Git 命令
查看>>
/x00
查看>>
数据加载中……显示框
查看>>
判断Http请求由手机端发起,还是有电脑端发起
查看>>
ATMEL处理器自带USB CDC的Win7驱动问题
查看>>
gcc 4.8.5安装
查看>>