我的工作要求我知道如何使用Ruby、Python、Bash、Puppet、Golang、MySQL,有时还需要使用Scala和PHP。是的,我确实有项目,包括其中的大部分,有几个星期,我有3-4的项目门票,导致日常工作与4种不同的语言。
是的,我可以用一种可以接受的方式来做。但归根结底,保持所有语法的正确性是主要问题。所以我非常依赖在线搜索来寻找如何去做事情。有时候,这里和那里的理解中会有打嗝,但是阅读文档总是有帮助的。
我的问题是,当我的脑海中充斥着这么多语言的时候,我怎么能通过白板面试呢?我需要至少了解一种语言,足以面试,但我发现它很难,而且经常与语法不匹配。对如何更好地做这件事有什么想法吗?
发布于 2020-06-21 01:47:45
确切的语法不像你想象的那么重要。在面试中,你可以这样说:
我不记得在这种语言中,如果一个
set.add返回一个布尔值,指示该项是否已经在集合中。这个问题并不重要,因为它很容易查找,但假设它确实返回了指示,我会这样写它.
这样做的目的是要自信,让他们知道你有足够的背景来解决这个问题,而不管具体的语法是什么。
有一些学究式的面试官,尤其是那些一次只专注于一种语言的人,他们会向你寻求这样的答案,但你可能并不适合这样的一家商店。
但是,要使其工作,它应该是您正在处理的语言之间的精确语法。如果你在语言不可知论的概念上有问题,那就更有可能伤害你。
发布于 2020-07-01 09:35:39
我的问题是,当我的脑海中充斥着这么多语言的时候,我怎么能通过白板面试呢?
白板面试不是语法考试。
这是对你解决问题的能力的检查。您不需要为此使用特定的语言。伪码在这里同样适用。
如果某些公司使用白板面试作为语法测试,那么他们很遗憾地误入歧途,因为他们期望人们在没有任何错误检查或查找(无论是Intellisense还是googling)的情况下编写语法上有效的代码。
我主要是一名C#开发人员,我已经多年没有做任何其他事情了。甚至连我的语法都不能保持100%的直率。这是依赖外部帮助(Intellisense、谷歌、StackOverflow)的正常后果。我通常知道并相信我的逻辑是正确的,但我不记得特定的预先构建的名称空间、类或方法名称,除非我每天使用它们。
我无法(从内存中)记录如何使用C#从XML文档中获取特定节点。但这并不重要,它可以在一分钟内被谷歌搜索。重要的是,让我通过面试的原因是:
这些是显示开发人员技能的主要复选框。我不是一个可行走的片段存储库,我是一个把问题分解成小的逻辑步骤的人。所以我集中精力展示这一点。
在这么多语言中工作过,您应该能够很好地理解开发软件的过程是如何完全相同的,而不管是哪种语言。唯一改变的是你在键盘上按下的按钮,但是不管语言如何,你试图实现的(被打破的)目标都是一样的。
我怀疑你可能正埋头于期望自己使用适当的语言。因此,以下是一些关于如何避开您不熟悉的特定语法的技巧(例如,假设面试是关于JavaScript的):
GetLastItemFromArray(myArray)或GetOldestPerson(people)并不是现有的JavaScript函数,但是非常清楚,如果它们是的话,它们会做什么。发布于 2020-06-30 23:55:17
我遇到了相反的问题,那就是很好地了解几种语言,并且必须为懂数百种语言的程序员描述技术编程任务。有时,我不得不求助于伪代码,其中格式化可能基于Python,但使用的术语应该是C程序员所熟悉的。
您可以尝试一种基于他们想要的语言的伪代码,但是故意不要担心细节--也许这个函数实际上是大写字母(),您编写的是uppercase();**而不是^;<>,而不是!=。你应该能够证明你能编程。如果移动到单一或双语言环境,您应该能够表明,您只需了解少量的语言细节,这应该是自然而然的。
https://softwareengineering.stackexchange.com/questions/411779
复制相似问题