Pro JavaScript 程序员面试问题(含答案)[关闭]

2024-02-17

确定申请人是否真正是专业 JavaScript(浏览器端)开发人员的好问题是什么?

可以区分某人是否不是临时的 JavaScript 程序员,而是真正在进行专业的 JavaScript 开发、面向对象、可重用和可维护的问题。

请提供答案,因此中级和临时 JavaScript 程序员可以采访更有经验的人,我很难找到其中相当一部分高级问题的答案。请避免开放性问题.

请保持one 面试问题/答案 per 所以答案以获得更好的阅读体验和更轻松的面试准备。


因为 JavaScript 是一门很小的语言,但却具有令人难以置信的复杂性,因此您应该能够提出相对基本的问题,并根据他们的答案来了解它们是否真的那么好。例如,我衡量面试其余部分的标准第一个问题是:

在 JavaScript 中,有什么区别var x = 1 and x = 1?根据您的感觉,尽可能详细或尽可能详细地回答。

JS 新手程序员might对本地人与全球人有一个基本的答案。中级 JS 人员肯定应该有这个答案,并且可能应该提到函数级范围。任何自称为“高级”JS 程序员的人都应该准备好谈论局部变量、隐含全局变量、window对象、函数作用域、声明提升和作用域链。此外,我很想听听[[DontDelete]],提升优先级(参数 vsvar vs function), and undefined.

另一个好问题是要求他们写一个sum()接受任意数量的参数并返回它们的总和的函数。然后,要求他们使用该函数(无需修改)对数组中的所有值求和。他们应该编写一个如下所示的函数:

function sum() {
  var i, l, result = 0;
  for (i = 0, l = arguments.length; i < l; i++) {
    result += arguments[i];
  }
  return result;
}
sum(1,2,3); // 6

他们应该像这样在你的数组上调用它(上下文apply可以是任何东西,我通常使用null在这种情况下):

var data = [1,2,3];
sum.apply(null, data); // 6

如果他们得到了这些答案,他们可能就知道 JavaScript 了。然后你应该继续向他们询问非 JS 特定的东西,比如测试、工作流程、版本控制等,看看他们是否是一个好的人。程序员.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pro JavaScript 程序员面试问题(含答案)[关闭] 的相关文章

随机推荐

  • 如何在C#中应用多个.Tag属性?

    当我想存储 传递值时 我总是使用 Tag 属性 例如 当我存储值时 Form prosesEdit new FormProsesChemicalRawWbEdit prosesEdit Tag int this proses chemica
  • 目录级别 web.config 中的 Asp.net HttpModule

    我创建了一个自定义 http 模块 并希望将此模块添加到 Web 配置中 Web应用程序是一个包含多个 子应用程序 的项目 子应用程序只是一个文件夹 在该文件夹中它有自己的 web config 我这样做是为了让每个应用程序都有自己的应用程
  • 如何计算文件中字符串的出现次数?

    仅以这段代码为例 假装它是一个 HTML 文本文件 如果我想知道该文件的总次数echo出现了 我该如何使用 bash 来做到这一点 new user echo Preparing to add a new user sleep 2 addu
  • Facebook Php SDK - getUser() 始终返回 0

    我阅读了该论坛上的所有主题 但找不到解决方案 我使用 facebook 的最后一个 Php SDK v3 2 2 所以我用了这个 start fb facebook new Facebook array appId gt fb app id
  • Laravel:高级搜索表单查询

    我有一个高级搜索表单 可以使用 Laravel 从数据库中过滤结果 数据已正确过滤 但我要求用户能够使用相同的文本框 以高级形式 按名字或姓氏进行过滤 我尝试 orWhere 确保它用名字或姓氏过滤名称字段 但 orWhere 不考虑其他过
  • AngularJS 在 HTML 中留下注释:是否可以删除它们?

    有谁知道是否可以删除 html 代码中留下的角度注释 例如 如果我使用 ngRepeat 并且没有可重复的项目 AngularJS 会留下以下内容 此评论的结果是element嵌入执行者ngRepeat 看起来好像是一直在发生 https
  • 默认共享首选项使用的文件名是什么?

    安卓备份服务requires http developer android com guide topics data backup html SharedPreferences用于备份共享首选项的文件名 public static fin
  • 如何在数据框列表上使用 devtools::use_data?

    我有一系列数据框 我想将它们保存为包中的单独 rda 文件 我可以用devtools use data my df1 my df2 但我没有每个数据帧的命名对象 它们都存储在一个大列表中 我想要做的是为每个列表元素调用 use data 并
  • 如何从我的代码中删除重复项

    我有两个类似的方法 其中一个打印一些东西 其中一个保存一些东西 正如你所看到的 有很多重复的代码 我应该如何重构它并删除这种重复 public static void printSomething List
  • 在玩笑中模拟节点模块中的特定类

    我想嘲笑Socket类来自net节点模块 Docs https nodejs org api net html net class net socket 我有一堂课看起来像这样 import Socket from net class Fo
  • 在浏览器上通过php运行python脚本

    我有一个简单的 python 脚本 阿努巴哈 py usr bin env python coding UTF 8 enable debugging import cgitb import pandas cgitb enable print
  • 将新项目动态添加到 IQueryable 硬编码假存储库

    在使用真正的数据库之前构建应用程序 为了让事情正常工作 我可以首先使用硬编码列表作为假的内存存储库 public class FakeProductsRepository private static IQueryable
  • RecyclerView 项目不填充宽度

    我设计了一个带有地图片段和recyclerView的布局 每个recyclerView项目都是cardview 我已经指定给出xml布局 问题是 RecyclerView 项目不填充屏幕宽度 img here https i stack i
  • Scrapy图片下载如何使用自定义文件名

    For my scrapy http doc scrapy org index html我目前正在使用的项目图片管道 http doc scrapy org topics images html scrapy contrib pipelin
  • 防止小部件填充 Flutter 中扩展的祖先

    我如何保留一个RaisedButton从扩大到填补Expanded包含它 我想创建三列 其宽度与可用空间成比例 但我希望每列中的子项为其自然大小 而不消耗其父项的整个宽度Expanded Widget controls BuildConte
  • 如何将多部分表单数据从jsp发送到Web服务?

    我正在尝试为我的网站创建一个注册页面 当用户将数据提交到signup jsp时 我想使用 application x www form urlencoded 将此数据发送到我的Web服务 我怎样才能在JSP中做到这一点 尝试了以下代码 但这
  • 如何将字符串从函数传递到主函数?

    我尝试寻找解决方案 但未能找到 是否可以返回字符串 我想将一个字符串从下面的函数传递回 main 我想通过listofdeatils string 这是我的代码 include
  • 如何使用 Fetch 发布 x-www-form-urlencoded 请求?

    我有一些参数想要以表单编码的方式 POST 到我的服务器 userName email protected cdn cgi l email protection password Password grant type password 我
  • 如何链接winsock.lib?

    在我的 C 课程中 我使用套接字 我在链接时遇到一些错误 因为在我看来 库 Winsock lib 丢失了 我包括这些 ifdef WIN32 include
  • Pro JavaScript 程序员面试问题(含答案)[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi