• 聪明核桃教育面试题


    1. 算法题:一个n位数的字符,由0~9之间的随机数组成,如何把字符里所有为0的数,全部移动到字符的末尾显示?

    //思路:用正则全局匹配,把为0的字符全部替换为空,再计算0的个数,添加到尾部即可
    let Number = '1002343400434';
    function getSort(str){
    //把字符串里为0的数都替换成空
    let str1 = str.replace(/0/g,'');
    //获取原始字符串的长度
    let count = str.length;
    //获取去除0之后的字符串的长度
    let count2 = str1.length;
    //两者之差就是字符为0的个数
    let num0 = count - count2;
    //定义一个变量来代表字符末尾0的值
    let sum = 1;
    //遍历为0的个数,有多少个就让多少个10相乘
    for(let i=0;i<num0;i++){
    sum = sum*10;
    }
    //最后把除去0的字符,乘以sum,即为最终的值
    let res = str1 * sum;
    console.log(res);
    }
    getSort(Number);

    2. 说说闭包的含义?

      使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。

      闭包有三个特性:

        1.函数嵌套函数 

        2.函数内部可以引用外部的参数和变量 

        3.参数和变量不会被垃圾回收机制回收


    3.说说你对原型链的理解?
      每个构造函数都有一个porototype的属性,该属性指向一个对象,此对象可以被重新定义,实例化后的对象上都有一个__proto__的属性,该属性也指向原型对象,
      原型对象上的属性和方法能被所有实例化对象所继承;

    4. 说说你对作用域链的理解?
      作用域链的最前端始终是当前执行的代码所在环境的变量对象(如果该环境是函数,则将其活动对象作为变量对象),下一个变量对象来自包含环境(包含当前还行环境的环境),
      下一个变量对象来自包含环境的包含环境,依次往上,直到全局执行环境的变量对象。全局执行环境的变量对象始终是作用域链中的最后一个对象。

      大白话说意思就是:假如一个函数内要使用一个变量,但当前作用域里并没有声明此变量,那么它会跟随作用域链向上依次查找,先查找当前函数所处的作用域,如果没有再继续
      向外层查找当前函数所处作用域的函数的所处作用域,直到全局执行环境的变量对象,全局执行环境的变量对象始终是作用域链中的最后一个对象;

    5. 说说你对VUE的理解?
      1.组件化,便于维护和管理;
      2.代码重用性高;
      3.面向数据,做好数据的管理,vue底层自动做页面的渲染;
      
    6. 如果在代码里直接用script标签引用一个域名,会不会存在跨域问题?
      什么是同源策略?同源策略是由Netscape提出的的一个著名的安全策略,现在所有支持javascript的浏览器都会使用这个策略,
      所谓同源就是指,域名、协议、端口号相同,当在一个浏览器打开两个网站的页面时,某一个网站在执行js脚本时会检查访问的资源是否属于本域范围,
      只有本域范围内的资源才能被访问。
      
      通过script标签跨域,我们通过xhr对象请求不同域上的资源是不可以的但是却可以通过script标签引用不同域上的文件,jsonp就是利用这个来实现的。

    7. 事件捕获和事件冒泡?如果事件捕获和冒泡同时发生,会先处理哪个(事件流)?
      先捕获阶段-->目标阶段-->冒泡阶段
    8. 在之前的项目中遇到过哪些问题?
      1. 兼容性问题?----》说几个;
      2. 跨域的问题;
      3. 踩过的坑;
      
    9. ajax的底层实现?
      第一步:实例化ajax对象;
      第二步:使用open方法,确定请求方式和路径;
      第三步:使用send方法发送请求;
      第四步:使用监听事件onreadystatechange(),判断状态码:readystate == 4 && status == 200;

    10. 响应状态码常见的都有哪些?分别是什么含义?
      200  表示从客户端发来的请求在服务器端被正常处理了。
      404 表示服务器端无法找到请求的资源。
      500 表示服务器端在执行请求时发生了错误。
      301 表示永久重定向。
      302 表示临时重定向。

    11. 单页面应用?如果在单页面里做跳转用什么实现?












  • 相关阅读:
    SPOJ LCS2
    SPOJ NSUBSTR
    1977: [BeiJing2010组队]次小生成树 Tree
    2002: [Hnoi2010]Bounce 弹飞绵羊
    P3690 【模板】Link Cut Tree (动态树)
    P2093 [国家集训队]JZPFAR
    2648: SJY摆棋子
    HDU 2966 In case of failure
    bzoj 一些题目汇总
    BZOJ3653谈笑风生——可持久化线段树+dfs序
  • 原文地址:https://www.cnblogs.com/Riona-C/p/9153243.html
Copyright © 2020-2023  润新知