共 5024 字,读完需 6 分钟,速读需 2 分钟,本文首发于知乎专栏前端周刊。写在前面,笔者在做面试官这 2 年多的时间内,面试了数百个前端工程师,惊讶的发现,超过 80% 的候选人对下面这道题的回答情况连及格都达不到。这究竟是怎样神奇的一道面试题?他考察了候选人的哪些能力?对正在读本文的你有什么启示?且听我慢慢道来 不起眼的开始 招聘前端工程师,尤其是中高级前端工程师,扎实的 JS 基础绝对是必要条件,基础不扎实的工...
前言 如果面试题按类型来分,主要涉及到“技术”与“非技术”两大类,技术类别下涉及到的子类别有: 移动 & PC端布局类JavaScript 核心基础类衍生框架类项目应用类这四大类别的面试题若按出现频率来划分,则面试时 100% 会问到的题型有:“移动端&PC端布局类、JavaScript 核心基础类”。本次选择这两类中难度更高一些的 “JavaScript 核心基础类” 面试题,进行了分析和解答,供面试前准备。 特别说明: 假如你在面试时被这些题型卡...
最近群里有人发了下面这题: 实现一个函数,运算结果可以满足如下预期结果: add(1)(2) // 3 add(1, 2, 3)(10) // 16 add(1)(2)(3)(4)(5) // 15对于一个好奇的切图仔来说,忍不住动手尝试了一下,看到题目首先想到的是会用到高阶函数以及 Array.prototype.reduce() 高阶函数(Higher-order function):高阶函数的意思是它接收另一个函数作为参数。在 javascript 中,函数是一等公民,允许函数作为参数或者返回值传递。 得到了下面这...
前言 本文不是讲述最新的JavaScript库,日常的开发实践或任何新的 ES6 函数。 相反,在讨论JavaScript时,经常会在面试中出现这3个问题。 我自己被问到过这些问题,我的朋友告诉我他们也被到问过。 当然,你在JavaScript面试前不应该只学习这3个问题 – 这里有很多 方法 可以让你更好地准备即将到来的面试 – 但面试官可能会问到下面是3个问题,来判断你对JavaScript语言的理解和DOM的掌握程度。 让我们开始吧!请注意,我们将在下...
本文实例讲述了几道JS搜狐面试题。分享给大家供大家参考,具体如下: 一、实现一个遍历数组或对象里所有成员的迭代器。 var each = function(obj, fn){//+++++++++++答题区域+++++++++++//+++++++++++答题结束+++++++++++ }; try{var data1 = [4,5,6,7,8,9,10,11,12];var data2 = {"a": 4,"b": 5,"c": 6};console.group(data1);each(data1, function(o){if( 6 == this )return true;else if( 8 == this )return false;console.log(...
首先,事情开始于一道面试题 <script> function A(){ this.name=""; this.age=18; } var a1=new A(); a1.name="尼古拉斯屌"; var a2=a1; a2.name="blue"; console.log(a1.name); //变成blue了 var str1="尼古拉斯屌"; var str2=str1; str2="blue"; console.log(str1); //没变,还是尼古拉斯屌 </script> 简单来说 a2=a1; a2.name=xxx; //a1.name会变 str2=str1; str2=xxx; //str1不会变欢迎觉得废话太多的同学直接翻到最后看“技术...
1.求y和z的值是多少?<script type="text/javascript"> var x = 1; var y = 0; var z = 0; function add(n){n=n+1;} y = add(x); function add(n){n=n+3;} z = add(x); </script>都为undefined,因为没有返回值。 2.javascript是面向对象的,怎么体现javascript的继承关系?使用prototype来实现。 3.javascript怎样选中一个checkbox,怎样设置它无效?document.all.cb1[0].disabled = true;4.form中的input可以设置为readonly和dis...
今天遇到关于javascript原型的一道面试题,现分析下: 原题如下: function A(){ } function B(a){this.a = a; } function C(a){if(a){ this.a = a;} } A.prototype.a = 1; B.prototype.a = 1; C.prototype.a = 1;console.log(new A().a); console.log(new B().a); console.log(new C(2).a);分析: console.log(new A().a); //new A()为构造函数创建的对象,本身没有a属性,所以向它的原型去找,发现原型的a属性的属性值为1,故...
Part1 手写代码 现场手写代码是现在面试中很常见的一类面试题,考察基础的数据结构与算法能力。 1 数组去重的实现 基本数组去重Array.prototype.unique = function(){var result = [];this.forEach(function(v){if(result.indexOf(v) < 0){result.push(v);}});return result; }?利用hash表去重,这是一种空间换时间的方法 Array.prototype.unique = function(){var result = [],hash = {};this.forEach(function(v){if(!hash[v]){h...
翻到了这篇解释Javascript quiz的文章quiz-legend,反正没事儿,就想搬过来供大家学习、理解、背诵、批判。 问题一 (function(){return typeof arguments;//"object" })(); arguments是一个Array-like对象,对应的就是传入函数的参数列表。你可以在任何函数中直接使用该变量。 typeof操作符只会返回string类型的结果。参照如下列表可知对应不同数据,typeof返回的值都是什么:由此我们推断出,typeof arguments是object 问题二 va...
有100格台阶,可以跨1步可以跨2步,那么一个有多少种走法; 今天电话面试。遇到一道算法问题,然后瞬间一脸懵逼; 然后机智的我,自作聪明的想到如果一个人每次都走1步,那么最多100步,每次走2步最少50步;然后明显跑题了。。。还好对方及时把我打断了。。。不然我估计要对着这玩意一直死脑经。。。一路走到黑。。 然后回到家了。拿着偶的mac,然后静静的思考,终于写出来了 var Stairs = new step(); function step(){this.n1=1;...
在js中,经常会遇到在函数里调用其它函数的情况,这时候会有 fn() 这种调用方式,还有一种是 return fn() 这种调用方式,一些初学者经常会被这两种方式给绕晕了。这里用一个优雅的面试题来分析一下两种方式的不同之处。 var i = 0; function fn(){i++;if(i < 10){fn();}else{return i;} }var result = fn(); console.log(result); 这是一道隐藏了坑的面试题,看似很简单,大部分人可能想都不想就答出了10。而实际上运行可知打印出...
小编觉得这道题对理解JavaScript 作用域还是很有帮助的,特此又把自己的解题思路梳理了一遍,希望对其它人有所帮助。 首先看下面试题:var arr = [1, 2, 3];for (var i = 0, j; j = arr[i++];) {console.log(j);}console.log(---------);console.log(i);console.log(---------);console.log(j);console.log(---------);在解题前,我们先回顾下 JavaScript 中,变量域相关的知识。 全局变量(Global) 全局变量是指在任何地方都可以访...
此题是我出的一套前端面试题中的最后一题,用来考核面试者的JavaScript的综合能力,很可惜到目前为止的将近两年中,几乎没有人能够完全答对,并非多难只是因为大多面试者过于轻视他。 题目如下: function Foo() {getName = function () { alert (1); };return this; } Foo.getName = function () { alert (2);}; Foo.prototype.getName = function () { alert (3);}; var getName = function () { alert (4);}; function getName(...
面试题是招聘公司和开发者都非常关心的话题,公司希望通过它了解开发者的真实水平和细节处理能力,而开发者希望能够最大程度地展示自己的水平(甚至超常发挥)。本文提供了众多前端开发面试题,无论是招聘方还是应聘方都值得一看! 前言年前刚刚离职了,分享下我曾经出过的一道面试题,此题是我出的一套前端面试题中的最后一题,用来考核面试者的JavaScript的综合能力,很可惜到目前为止的将近两年中,几乎没有人能够完全答对,并非...