2021-09-29

web前端面试题

以下问 为面试官,答 为应聘者,四年前端开发小哥哥总结,如果觉得有点用,请点一颗星星!!!
么么哒 ,
会继续更新,
希望帮助到大家!!!!
有不对请指教哈!!!!

问:请阐述下跨域是什么,处理的方式常见的有几种?
答:跨域是JS为了安全考虑,不同域不能访问对方内部(伪造跨站请求)CSRF,主域名,子域名,端口,协议,127.0.0.1与localhost
     都属于不同的域;  常见处理方式有  代理,JSONP, XHR2(满分回答);

问:你能给我阐述下递归是什么,使用递归要注意些什么吗?
答:递归就是函数自己调用自己(语气要自信),使用递归时候需要return停止掉,不然会死循环(满分回答);

问:你知道闭包是什么吗?
答:JS中有全局变量  && 局部变量,函数内部可以访问全局变量,函数外部不能访问到内部函数的局部变量,为了能够访问到内部函数的局部变量,我们需要两个函数嵌套使用,这就是闭包;

问:请你阐述下filter,foreach,map的区别?
答:1、foreach是遍历数组中每一项元素,没有返回值,可以不用知道数组长度,操作后改变原数组;
      2、map遍历数组中每个元素,回调操作,需要返回值,原数组不改变,返回值组成一个新的数组;
      3、filter过滤通过条件的元素,组成一个新的数组,原数组不变;
      ⭕ 扩展some,every
      ● some遍历数组中是否存在符合条件的元素,返回boolean;
      ● every遍历数组中元素是否全部符合条件 ,返回boolean;
     (以上回答满分)

问:请讲下JS的基本数据类型?
答:常用基本类型:Number String Null Undefined Boolean;引用基本类型: Object、array、function、data等;
      ⭕扩展  (null 与undefined)
       ●null === undefined ? flase;
       ●null == undefined ? true;
     (以上满分回答)

问:描述new 操作符的执行过程?
答:1.创建一个空对象,
      2.将这个空对象的_proto_指向构造函数的 prototype,
      3.将构造函数的this指向这个对象,
      4.执行构造函数中的代码;

问:什么是原型和原型链?
答:原型模式是JS实现继承的一种方式。所有的函数都有一个prototype属性,通过new生成一个对象时,prototype会被实例化为对象的属性。所有的引用类型都有一个__proto__指向其构造函数的prototype。原型链的话,指的就是当访问一个引用类型时,如果本身没有这个属性或方法,就会通过__proto__属性在父级的原型中找,一级一级往上,直到最顶层为止。
      解析:原型链最顶层Object的prototype的__proto__指向为null。

问:请问在那些情况下,需要处理异常,你常用的方法有那些?
答:程序执行都是异步的,比如一个函数需要使用另一个函数的返回值的情况下(有可能是闭包),需要程序依次执行,异步转为同步;
      常用的方法:● async,await  ● then ● Promise

问:请问你常用的对数组排序的方式有哪些?
答:● sort(正序)  ● reverse(倒序)
      ⭕ 扩展(冒泡排序);
     冒泡排序实际就是通过多层循环比较,返回一个数组;

问:请问你在编程中认为最难的是什么,为什么呢?
答:算法,算法,算法(没有为什么,因为面试官觉得最难的也是算法),至于为什么,自己编;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值