前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Algorithm In Interview

Algorithm In Interview

作者头像
四火
发布2022-07-15 21:50:19
2310
发布2022-07-15 21:50:19
举报
文章被收录于专栏:四火的唠叨

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.

文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接 《四火的唠叨》

×Scan to share with WeChat

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档