JavaScript 面试必须您知道的10个概念
本文由 东方联盟 - 叙帝利 翻译,艾凌风 校稿。
英文出处:Arnav Aggarwal。欢迎加入翻译组。
自学
有成千上万的人为了得到一份工作而学习 JavaScript 和 Web 开发。通常,自学的人对 JavaScript 语言的理解并不深刻。
令人惊讶的是,制作复杂的 Web 页面所需的语言很少。独立建设全站的人往往对 JavaScript 的基本原理不太了解。
我们可以很容易地避免复杂的问题,使用基本技能就可以实现一些效果。依靠 Stack Overflow 就可以很容易地创建一个网站而不需要理解复制的代码。
如果您想顺利通过 JavaScript 面试,请看看这个教程 提高你的 JS 水平:中级 JavaScript 完整指南
面试
很多科技公司在面试中会考察你对 JS 的理解。一个知识丰富的求职者可以很快地回答这些问题,但是他对语言的理解并不深刻。
以下是 Web 开发面试中经常被问到的概念。理解这些概念的前提是你已经掌握了基本知识,比如循环,函数和回调函数。
概念
数值类型 vs. 引用类型 —了解如何复制对象、数组和函数以及如何将它们传递到函数中。知道引用类型复制的是什么。了解原始值是通过复制值来复制及传递的。
作用域 —了解全局作用域、函数作用域及块作用域的不同。了解变量的作用范围。知道 JavaScript 引擎如何查找变量。
声明提升 — 了解变量和函数声明会被提升到可用范围的顶部。了解函数表达式不会被提升。
闭包 — 知道函数内部创建的函数可以访问该函数的作用域。知道这种方式允许我们做什么,比如数据隐藏、记忆以及动态函数变换。
this — 知道 this 绑定的原则。知道它的工作原理,在函数中指代的内容以及为什么有用。
new — 知道它与面向对象编程的关系。知道使用 new 调用的函数发生了什么。了解使用 new 生成的对象是如何从函数的原型继承的。
apply, call, bind — 知道每个函数是如何工作的。知道如何使用它们。知道它们对 this 做什么。
原型 & 继承 — 了解 JavaScript 的继承是通过 [[Prototype]] 实现的。了解如何通过函数及对象建立继承并通过 new 实现继承。理解__proto__ 及 prototype 的属性以及作用。
异步的 JS — 了解事件循环。理解浏览器如何处理一般的用户输入、网络请求以及事件。知道如何正确认识和实现异步代码。了解 JavaScript 是异步的和单线程的。
高阶函数 — 了解 JavaScript 中的函数是第一类对象以及它的意义。知道从另一个函数返回函数是完全合法的。了解闭包及高阶函数允许使用的技术。
- 09-29工作3年和工作7年的程序员到底差在哪里?
- 09-29身为网络工程师,你能说清楚网络的概念吗?
- 09-29IT运维没做好这一点,恭喜你,这个锅你背定了
- 08-01浅谈Web经典三层架构和MVC框架模式
- 08-01作为首席架构师,我是如何选择并落地架构方案的?
- 08-01互联网架构的演变,看了好多这个讲的确实清楚!
- 08-01架构师教你如何设计一个高并发系统?
- 08-01分布式系统中Session共享的五种方法
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 12-05亚马逊推出新一代基础模型 任意模态生成大模
- 12-05OpenAI拓展欧洲业务 将在苏黎世设立办公室
- 12-05微软质疑美国联邦贸易委员会泄露信息 督促其
- 12-05联交所取消宝宝树上市地位 宝宝树:不会对公
- 12-04企业微信致歉:文档打开异常已完成修复