The whole team talked about algorithm recently, since we found some leaked written exam questions on Internet so that online test became meaningless soon. On one hand we’re thinking about how to contribute to the question bank, on the other hand it caused debating on algorithm significance and form.
Here is a real example from Amazon online test. You can find it easily on Internet:
Given an array with positive integers and another integer for example {7 2 4} and 9, you are required to generate an equation, by inserting operator add (“+”) and minus (“-”) among the array. The left side of equation are consist of the array and the right side of equation is the integer. Here the result is 7-2+4=9.
I don’t want to talk about the solution of this question. Suppose you’re the candidate and please think about the situation you’re facing. Yes… It does test your algorithm (with a little basic coding skills), so what?
I really like these algorithm desserts but I think algorithm is only one part of the whole interview. I don’t know why it has been the *only* part in online test. I’m not quite sure how important it is that to be a good innocent algorithm issue resolver. AFAIK, Microsoft engineers will ask the candidate a lot of algorithm questions in interview, which takes over 80% of total… Is it a kind of *sick worship* to algorithm?
On the contrary, in my opinion a good algorithm question should be hidden in a specified and realistic issue, according to which OO design, system design, testing, engineering (e.g. code organization) and even communication should be involved together.
Furthermore, I believe a good question must be obscure (may be not fit for online test tho), and the candidate should complete the whole scenario by investigating a little and getting enough information from the interviewer. I have never looked down upon the effection of math on software, but I can’t emphasis how important the skill is to abstract a realistic issue to be a math question (a kind of mathematical modeling skill?), and that’s the real difference between a mathematician and an engineer. Think about Google father, why it’s Larry Page, a classical engineer, rather than a mathimaticine?
Do we really need some brutal questions to torture the candidates? Many interviewers feel it’s necessary since we want the best engineers, and we have top hiring bar there. This is from good original intention while it may cause unexpected result. Failure may affect the candidate negatively resulting in inaccurate evaluation.
A good question should be easily resolved for the first step, with its two or even three further and harder sub questions still waiting there. Good candidate can resolve them one by one and finnally dive into deep with a little prompting. Don’t be afraid of giving the hints, b/c only the top ACMers can answer all these algorithm questions (I mean the algorithm part of the whole big question) without any prompt, and we’ve found that the best one on algorithm may still write terrible code. In addition, sometimes the pursuit of performance leads obscure code, too.
Finally, I want to put an ad here. :) Amazon is hiring, and our team is hiring. We’re looking for the best engineers, and well-rounded problem resolver. There’re different kinds of culture from different teams, I won’t reveal too much here but I do believe we are doing one of the coolest work at least in Amazon Beijing.
文章系本人原创,转载请保持完整性并注明出自《四火的唠叨》
相关推荐
背景 该项目是作者多年学习和工作实践的总结。实际上,大多数代码都已运行以确保准确性。经常为明星指点的家伙有机会通过随机算法获得礼物... -- cs-other some interesting things in the cs field -- deep-learning
Now in the 5th edition, Cracking the Coding Interview gives you the interview preparation you need to get the top software developer jobs. This is a deeply technical book and focuses on the software ...
Now in the 5th edition, Cracking the Coding Interview gives you the interview preparation you need to get the top software developer jobs. This is a deeply technical book and focuses on the software ...
Title: Problem Solving in Data Structures & Algorithms Using C++: Programming Interview Guide Language: English Publisher: CreateSpace Independent Publishing Platform Publication Date: 2017-01-08 ISBN...
This is the skill which tech companies like Google, Amazon, Microsoft, Adobe and many others are looking for in an interview. This book assumes that you are a C++ language developer. You are not an ...
In the end, we will be looking into System Design, which will give a systematic approach for solving the design problems in an Interview. Table of Contents CHAPTER 0: HOW TO USE THIS BOOK CHAPTER 1:...
Cracking the Coding Interview(6th).pdf 程序员面试经典书籍 <br/>Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling ...
Apart from knowing, a programming language you also need to have good command of these key computer fundamentals to not only qualify the interview but also excel in you jobs as a software engineer.
《编程面试中的元素(Python版)》是Adnan Aziz、Tsung-Hsien Lee和Amit Prakash三位作者所著,是一本面向编程面试的参考书。本书旨在为读者提供编程面试中常见的算法和编程问题的解决方案,帮助读者在面试过程中...
2018秋招java笔试题 coding-interview-chinese ...Algorithm_Interview_Notes-Chinese 简介:2018/2019/校招/春招/秋招/算法/机器学习(Machine Learning)/深度学习(Deep Learning)/自然语言处理(NLP)/C
Data Structures & Algorithms Using JavaScript by Hemant Jain ...In the end, we will be looking into the system design that will give a systematic approach for solving the design problems in an Interview.
Apart from knowing, a programming language you also need to have good command of these key computer fundamentals to not only qualify the interview but also excel in you jobs as a software engineer. ...
Algorithm Stars 1000以内排名整理 ID Name Describe Stars 1 A complete computer science study plan to become a software engineer. 84.7k 2 :books: Tech Interview Guide 技术面试必备基础知识、Leetcode 题解...
interview challenges (algorithms and data structures). Includes Anki flashcards. Minimal examples of data structures and algorithms in Python Distributed Evolutionary Algorithms in Python All ...
Chapter 6: Java Interview Questions – lastly, I have provided you with a comprehensive list of questions that you could be asked in an interview for a Java programming job. I also provide the answers...
Algorithm 每日一题 && 天天进步一点点 题目来于 LeetCode,剑指offer,Coding Interview,ZOJ,POJ 等平台。 欢迎Coders对代码加以指正和提议! 常见问题总结 两整数求平均值 average = min + (max - min) / 2 防止...
There are multiple solutions for each problem and the book is coded in C/C++, it comes handy as an interview and exam guide for computer scientists. A handy guide of sorts for any computer science ...