1. call和apply的区别:都是改变调用函数的上下文,call直接接收arguments,apply需要把arguments打包成数组调用
  2. 什么是闭包:即使外部函数已经返回,内部函数仍然能够访问外围函数作用域里的变量
  3. event delegation是什么,有什么优点:利用事件冒泡把event handling放到高层节点去做,减少handler数量也好管理
  4. array和object的区别是什么:他问这个问题我有点懵,这两个东西相似度比区别少多了。。。于是扯了一大堆,最后发现她想问的是哪个是有序的哪个是无序的。。。
  5. dom是什么数据结构:想想上个题,果断回答tree。。。 FB

常考的几道题:
http://www.1point3acres.com/bbs/thread-104335-1-1.html

  1. what will happen after I input an url in a browser and hit enter? StackOverflow原题,把那几步写下来,我被问了至少三次!.
  2. How do you make a website faster? 什么css sprite, load picture only when needed, load js only when needed, 我记得我写了7个方法,也至少被问过三次.
  3. GET 和 POST区别!妈妈咪呀问了4,5次了。我现在可以说出6点不同至少。。
  4. what's cookie and how tow set it?-google 1point3acres
  5. what's iframe?
  6. what's csrf? (其实不太长考但是最好知道,我大概被问了两次?)

说一下我面过的前端吧,有简单的有难的,少说100道以上,这里随便说几个.

  1. Angular,backbone, ember三者的区别, 缺点是什么?
  2. 用原生js实现jquery的一些功能, 我被问过的有.filter()
  3. async的含义
  4. ;function()... 前面加;为什么, js中什么时候能省略; 什么时候不能

【一些前端算法问题】http://www.1point3acres.com/bbs/thread-317314-1-1.html

1: 写一个function,实现:sum(3)(4)(5)(6)( ) = 18. 最后的空参()必须有。tips:返回函数自身。但是这道题其实相当有难道。实现sum(3)(4)(5)(6)( ) // console.log 18 比较容易,但是sum实现多次,这还是很难的。因为return自身所以无法用闭包。tips,用函数的object属性。

代码:

                            function sum\(val\){

                                    if\(sum.total === undefined\){

                                            sum.total = 0;

                                    }

                                    if\(val\){

                                            sum.total+= val;

                                            return sum;

                                    }else{

                                            var result = sum.total;

                                            sum.total =0;

                                            return result;

                                    }

                            }

                            console.log\(sum\(3\)\(4\)\(5\)\(6\)\(\)\); //18

                            console.log\(sum\(1\)\(2\)\(3\)\(\)\); // 6

2:

const countA = counts(“A”);

const countB = counts(“B”);

const countC = counts(“A”);

countA( ); // 输出1

countB( ); // 输出1

countC( ); // 输出2

tips:和上题的思路一样。

3: islands count LC小岛问题。被问到4次。followup 计算面积最大的小岛和面积最小的小岛。

4:

实现a seris of steps。经典js问题,一定要牢记。例子:实现一个call 完了再进行另外一个call。或者,依次实现一个数组的每位的运算。

三种方法实现:

  • ES7的async + await
  • ES6的generator + promise
  • ES5的callback+closure

results matching ""

    No results matching ""