现代程序员是否需要能够创建算法?

在哈布罗夫斯克市民对我上一篇有关采访程序员的文章发表负面反应之后,我不得不仔细反思它,以重新思考和纠正我对编程,程序员和我自己的一些想法。除了来自某个地方的傲慢之外,还有一些闲置的示例(我没有测试它-不是部署,是吧),我根本没有表达我最初想要的东西:主要是编写解决问题的代码的能力。


从那时起,参与开发人员技术面试的义务并没有消失。采访格式保持不变:它正在处理在线笔记本中的代码,但是只剩下两个任务,并且变得更加容易。


这是其中之一的示例:


/*   —   ,    : 1    */
function isPrimeNumber(number) {
    /*   ,  true  ,  number     false    */
}

本文标题中的问题绝不是夸夸其谈,它的出现是由于在采访中围绕此任务而产生的热情。


一点投入:我们正在寻找用JavaScript / TypeScript编写的完整堆栈。根据开发人员本人的意愿,任务范围可能非常广泛:从开发计费系统到桌面应用程序(用于绘制屏幕截图并上传到云)。因此,需要具备数学的基本知识(加或减,除法,求算术平均值,一个数中的最大值和最小值),以及解决所应用问题的能力,而这些问题的解决方案可能不在stackoverflow上。根据简历,我们选择具有相关工作经验的中级以上的候选人。开发根本不是公司的核心业务,因此我们很难吸引强大的开发人员,而且这样的候选人很少。


这样的任务应该是原始过滤器,表明对话者能够创建算法。不需要任何特定算法的知识。解决方案的计算复杂度不是特别重要,主要是必须解决问题。


我记得第一次让我感到惊讶的是,一个在大型项目中工作了三年的人说他需要某种“算法专家”来解决这个问题。他解释了原因:他具有开发服务的经验,基本上,您可以在其中处理数据库中的数据,并在队列中进行接收/传输,仅此而已。然后,我认为现代编程可能更多地是关于RabbitMQ,MongoDB的经验,而不是关于计算/查找某些东西。


« », « ». , , . , . - : « , , false, , true». .


, , , . , ( ). , :


1.


- ( ) stackoverflow, - «» .


, , stackoverflow , - , , ? , , : , , , stackoverflow .


2.


, -, . .


« », « Python», « React- » , (, ) . . , , : , React. ? «, », , , .


, . , , . - . , , .


, , , .


, - . , , , — . .


, , . . , . , , - , .


All Articles