数字信号处理面试题_软件面试中需要注意的5个危险信号

数字信号处理面试题

A lot of the time, the employer is in a position of power during an interview. They set the agenda and questions, and they’re the ones on the home field. But that doesn’t mean everything is out of your control as a candidate.

在很多时候,雇主在面试中都处于权力位置。 他们设定了议程和问题,而这正是本国领域的问题。 但这并不意味着一切都变得候选人无法控制。

As the candidate, it’s within your right only to seek out companies worth working for. Often, you can learn a lot about the quality of the company, your job, and the team you would work on during the interview.

作为候选人,您只有权寻找值得工作的公司。 通常,您可以了解有关公司的质量,您的工作以及在面试中将工作的团队的很多知识。

Some of the best software companies to work for share a few qualities in common:

一些最好的软件公司可以共享一些共同点:

  • They don’t micromanage engineers. Larger companies have more processes, but those processes don’t slow the engineers down.

    他们不是微观管理工程师。 较大的公司拥有更多的流程,但是这些流程不会使工程师放慢速度。
  • They value outcomes over hard metrics. Bad companies tend to focus on contributions (lines of code, tickets closed, etc.). Good companies focus on overall team outcomes (e.g. company goals met, user satisfaction, etc.).

    他们比硬指标更重视结果。 糟糕的公司倾向于专注于贡献(代码行,关闭的罚单等)。 优秀的公司关注团队的总体成果(例如,达到公司目标,用户满意度等)。
  • People are empathetic. Managers are empathetic towards individual contributors and their situations. Engineers are empathetic to new candidates they’re interviewing, the product and engineering teams understand the impact of their work on customers, etc.

    人们很有同情心。 经理们对个人贡献者及其处境很同情。 工程师对正在面试的新候选人很同情,产品和工程团队了解他们的工作对客户的影响等。

From the points above, you can then pick out the warning signs of poor environments and practices.

从以上几点,您可以找出不良环境和做法的警告信号。

1.采访比真正的对话更像是一个难题 (1. The Interview Is More Like a Hard Quiz Than a Genuine Conversation)

The purpose of the interview is to find out if you and the employer are a good fit for each other. So make sure you’re answering questions that are relevant to the job.

面试的目的是确定您和雇主是否彼此适合。 因此,请确保您正在回答与工作有关的问题。

For example, if you’re interviewing for a web development position, then it makes sense to demonstrate knowledge about advanced CSS or JavaScript. But if they’re grilling you on something like Floyd’s Tortoise and Hare when it’s not applicable, get out ASAP.

例如,如果要面试一个Web开发职位,那么展示有关高级CSS或JavaScript的知识就很有意义。 但是,如果在不适用的情况下,他们用诸如弗洛伊德的乌龟和野兔之类的东西烧烤,请尽快离开。

Some engineers argue that it’s crucial to gauge a candidate’s problem-solving skills. To a degree, sure.

一些工程师认为,衡量候选人的解决问题的能力至关重要。 在一定程度上,可以肯定。

But there’s a point where things cross from “gauging skills” into “intellectual flexing.” Some portions of the industry are toxic, and these engineers love flaunting how intelligent they are. The behavior manifests itself in interviewers asking candidates unreasonably tricky questions that don’t gauge relevant skills.

但是在某些情况下,事情已经从“衡量技能”转变为“知识弹性”。 该行业的某些部分是有毒的,这些工程师喜欢炫耀自己的才智。 这种行为表现在面试官不合理地询问候选人而无法衡量相关技能的问题上。

Having said all this, it also depends on the work you’d be doing. For most positions, this level of technical depth isn’t necessary. Now, if you’re applying to Google’s machine learning or search teams, that’s different.

说了这么多,这还取决于您要做的工作。 对于大多数职位而言,这种技术深度是不必要的。 现在,如果您要申请Google的机器学习或搜索团队,那就不一样了。

Understand what level of technical grilling is appropriate for the position you’re interviewing for and save yourself from crappy jobs.

了解适合您所面试职位的技术烤架水平,并避免陷入困境。

Also, brainteasers suck.

此外,脑筋急转弯也很烂。

2.您的未来经理没有好的领导者的特质 (2. Your Future Manager Doesn’t Have the Traits of a Good Leader)

The nature of a manager’s job is to be a leader. Employees trust and rely on their managers for lots of things, so when they don’t have coherent processes or principles, they can quickly become a source of pain.

经理工作的本质是成为领导者。 员工信任并依靠经理来做很多事情,因此,如果他们没有一致的流程或原则,他们很快就会成为痛苦的根源。

Before your interview is over, you should confirm the following traits about your future manager:

在面试结束之前,您应该确定有关未来经理的以下特征:

  • They are organized. A manager’s job is to manage. Disorganized managers will usually struggle with managing. Their entire career and their entire team depend on them having a firm handle on things.

    他们是有组织的。 经理的工作是管理。 杂乱无章的经理通常会在管理上挣扎。 他们的整个职业生涯和整个团队都取决于他们对事物的处理能力。
  • They help their employees grow. A manager’s job is also to unblock people, help them succeed, and, most importantly, help them grow. If your manager isn’t interested in doing that for you and your teammates, then working for them will not be a good time.

    他们帮助员工成长。 经理的工作还在于疏通人员,帮助他们取得成功以及最重要的是帮助他们成长。 如果您的经理对您和您的队友不感兴趣,那么为他们工作将不是一个好时机。
  • They are transparent. Is your future manager honest and willing to communicate? Will they make sure your team is on the same page? If not, do they provide reasonable justifications? Being secretive about things usually means they have something to hide and consequently cannot be trusted.

    它们是透明的。 您未来的经理诚实并愿意沟通吗? 他们会确保您的团队在同一页面上吗? 如果没有,他们是否提供合理的理由? 对事物保密,通常意味着它们要隐藏一些东西,因此无法信任。
  • They can handle feedback. Nobody’s perfect. Everyone can improve, including managers. A manager who gets testy when their team expresses concerns likely has issues with pride. They will be a pain to deal with when the going gets rough, as it inevitably will at some point.

    他们可以处理反馈。 没有人是完美的。 每个人都可以提高,包括管理人员。 当团队表达担忧时变得胆怯的经理可能会感到骄傲。 当事情变得艰难时,他们将很难处理,因为在某些时候不可避免。
  • They follow through. Some people are very charismatic and convincing when they speak. They sell big dreams and grand visions. But when it comes time to deliver, they drop the ball. Working for this kind of boss is one of the most frustrating things in the world. This one is a bit harder to gauge during an interview, but ask the future manager questions about how they’ve helped improve their team. Ask the other team members how working with the manager has been. If they can’t answer, then that is your answer.

    他们遵循。 有些人说话时很有魅力并且令人信服。 他们卖出伟大的梦想和宏伟的愿景。 但是,当需要交付时,他们会丢球。 为这种老板工作是世界上最令人沮丧的事情之一。 在面试中很难评估这一点,但请问未来的经理有关他们如何帮助改善团队的问题。 询问其他团队成员与经理的关系如何。 如果他们无法回答,那就是您的答案。

Honestly, there’s a whole slew of essential traits in good managers and leaders, but the ones above are the most important. Make sure you know these things about a manager before deciding to work for them.

老实说,优秀的管理者和领导者有很多基本特征,但是以上这些是最重要的。 在决定为他们工作之前,请确保您了解有关经理的这些事情。

You might save yourself lots of stress and maybe even your career.

您可以节省很多压力,甚至可以节省您的职业生涯。

3.您的面试官无法用太多的话来解释公司的愿景或宗旨 (3. Your Interviewer(s) Cannot Explain the Company’s Vision or Purpose in So Many Words)

I mentioned this in the last section, but some people — especially executives — are good at talking the talk. After all, part of your job as an executive is to motivate your company and drive the vision.

我在上一节中提到了这一点,但是有些人(尤其是高管)很善于谈论。 毕竟,作为高管的一部分工作是激励公司并推动愿景。

But pretty words can’t fix a lack of focus. Some companies are continually reprioritizing, pivoting, and walking back things they’ve promised themselves or their customers. The problem is apparent if your interviewers cannot concisely and clearly explain the company’s vision and goal.

但是,漂亮的文字不能解决缺乏重点的问题。 一些公司不断地重新安排其优先事项,调整和退回他们向自己或客户承诺的事情。 如果您的面试官不能简洁明了地说明公司的愿景和目标,那么问题就很明显。

This lack of focus inevitably trickles down to your day-to-day work. There are stories of engineers spending days, weeks, months on projects just to have things scrapped at the last minute. And that’s a hell that engineers don’t deserve.

缺乏重点不可避免地会影响您的日常工作。 有故事说,工程师在项目上花费数天,数周,数月的时间只是为了在最后一刻报废。 这是工程师不应该得到的。

Sure, they receive salaries for their work, but there comes a point when pride is more important than money. Most people don’t enjoy being slapped around and lied to.

当然,他们会为自己的工作领取薪水,但是有时候,骄傲比金钱更重要。 大多数人不喜欢被人打耳光和撒谎。

4.团队不参与现代实践 (4. The Team Does Not Engage in Modern Practices)

In Accelerate: The Science of Lean Software and DevOps, the co-authors and researchers found that teams using modern, DevOps, and Lean practices were not only more productive, but they were also happier.

在《 加速:精益软件和DevOps的科学》一书中 ,合著者和研究人员发现,使用现代,DevOps和Lean实践的团队不仅效率更高,而且更快乐。

At the end of the day, as a software engineer, you want to solve interesting problems through programming. When you have to wrestle with awful processes, use awful tools, and work on awful products, you’re going to have an awful time.

归根结底,作为软件工程师,您想通过编程解决有趣的问题。 当您不得不为糟糕的流程而苦苦挣扎,使用糟糕的工具并在糟糕的产品上工作时,您将度过一个糟糕的时光。

Don’t put yourself in a situation where you only find out things suck after you start working. During the interview, ask about their processes. Here’s a shortlist of questions you can use:

不要让自己陷入只在开始工作后才发现糟糕的情况。 在面试中,询问他们的过程。 这是您可以使用的问题的简短列表:

团队的发展过程是什么? (What is the team’s development process?)

  • Good: Any mention of automation and CI/CD (Continuous Integration, Continuous Deployment). Mentions of flexibility and empowerment. Failing forward or failing fast. Rapid feedback and continual delivery. Peer review and teamwork.

    良好:提及自动化和CI / CD(持续集成,持续部署)。 提到灵活性和授权。 失败或快速失败。 快速反馈和持续交付。 同行评审和团队合作。
  • Bad: Any mention of strict control. For example, awaiting approval or “stamps” from third parties like managers, QA teams, etc. Approval-based processes bottleneck engineers, forcing them to wait for “permission” to continue innovating. Any mentions of manual work and spreadsheets are also usually a bad sign.

    差:提及严格控制。 例如,等待经理,质量保证团队等第三方的批准或“盖章”。基于批准的流程使工程师陷入瓶颈,迫使他们等待“许可”以继续创新。 任何提及手工工作和电子表格的消息通常也是一个不好的信号。

如何做出有关产品的决定? (How are decisions about the product made?)

  • Good: Through a combination of customer research and feedback, industry trends, competitive analysis, etc. Any answer that mentions an interplay of various, complex variables is probably right. More importantly, you want to work for a company where employees — to a degree — have at least some influence. If not, then you’re just a bunch of code monkeys.

    良好:结合客户研究和反馈,行业趋势,竞争分析等,任何提及各种复杂变量相互作用的答案都可能是正确的。 更重要的是,您想在一家员工至少有一定影响力的公司工作。 如果没有,那么您只是一堆代码猴子。
  • Bad: Leadership or top-down initiatives. Executives are often far removed from the daily work of their employees and their actual customer base. You don’t want to work for companies that purely bend to the whim of out-of-touch executives.

    不好:领导力或自上而下的举措。 高管通常与员工及其实际客户群的日常工作相去甚远。 您不想为纯粹屈服于脱节的管理人员的公司工作。

如何衡量员工绩效? (How is employee performance measured?)

  • Good: Any mention of a competency matrix, a career ladder, or another framework. If the company has a comprehensive plan or guide for helping to promote employees, that’s also a good sign. Bonus points if they have periodic meetings between managers and employees to check up on progress (say, one per quarter at least).

    好:提及能力矩阵,职业阶梯或其他框架。 如果公司有帮助提升员工的全面计划或指南,那也是一个好兆头。 奖励积分,如果他们在经理和员工之间定期开会以检查进度(例如,至少每季度一次)。
  • Bad: Hard metrics. Anything like the number of tickets closed, lines of code written, hours worked, features delivered, etc. The problem with any of these metrics is that you can’t accurately measure their impact. Working 12 vs. eight hours a day doesn’t necessarily mean you’ve contributed more. Closing ten tickets instead of five tickets a day doesn’t necessarily mean the product is improving twice as much. Another fantastic book, The Mythical Man-Month, discusses these topics. Only having annual reviews and no check-up meetings in between.

    坏:硬指标。 诸如关闭的工单数量,编写的代码行,工作的小时数,交付的功能等等之类的东西。这些度量标准中的任何一个问题都是您无法准确地衡量其影响。 每天工作12个小时与8个小时并不一定意味着您付出了更多。 每天关闭十张票而不是五张票并不一定意味着产品的改进要快两倍。 另一本很棒的书《神话人月 》( The Mythical Man-Month )讨论了这些主题。 仅进行年度审核,并且之间没有检查会议。

There are more questions that you can learn by reading Accelerate. Still, the questions above cover quite a lot of ground in gauging the company’s practices (and by extension, employee satisfaction).

阅读Accelerate可以了解更多问题。 尽管如此,以上问题仍在衡量公司的实践(并扩展为员工满意度)方面有相当大的基础。

5.日常工作的描述与工作描述不符 (5. The Description of Day-to-Day Work Doesn’t Align With the Job Description)

Some companies, whether intentionally or not, will fluff up job requisitions to attract more candidates. But the actual job is not as remarkable or exciting as they described. I wrote an entire article about that.

一些公司,无论是否有意,都会虚假招聘,以吸引更多的候选人。 但是实际工作并不像他们所描述的那样令人瞩目或令人兴奋。 我写了整篇文章

It essentially boils down to overselling and underdelivering. If you’re applying for a position doing X, make sure you don’t get bait-and-switched into doing Y.

从本质上讲,它可以归结为超卖和交付不足。 如果您申请的职位是X,请确保您不会被诱饵转换为Y。

It could potentially mean the death of your career.

这可能意味着您的职业生涯的终结。

During the interview, make sure the interviewers can give you a clear, sharp description of what your daily work will be. If possible, ask your future team members for their honest feedback.

在面试期间,请确保面试官可以为您提供清晰,清晰的日常工作描述。 如果可能,请向您的未来团队成员提供诚实的反馈。

Check and verify company reviews and see what the disgruntled people have to say. They’re going to be harsher than your typical ex-employee, so take their input with a grain of salt. But if the complaints are extreme and the number of complaints is high, that’s usually a warning sign to not work there.

检查并验证公司的评论,看看不满的人怎么说。 他们将比您的典型前雇员更严厉,因此请投入一粒盐。 但是,如果投诉极度严重,投诉数量很多,那通常是一个警告信号,表示在那里不起作用。

I hope this helps. Best of luck with your job search and interviews.

我希望这有帮助。 找工作和面试,祝你好运。

翻译自: https://medium.com/better-programming/5-red-flags-to-watch-for-in-a-software-interview-7637435c9603

数字信号处理面试题