zoukankan      html  css  js  c++  java
  • 常见面试题练习

    常见面试题(https://juejin.im/post/5c91bbc96fb9a070c9759a64

     

    从url输入网址后发生什么

    http状态码是什么,有什么用,在哪里查看,分别代表什么意思?(https://juejin.im/post/590082e6a22b9d0065be1a5c

    HTTP 缓存有哪几种(https://www.jianshu.com/p/227cee9c8d15)(https://imweb.io/topic/5795dcb6fb312541492eda8c

    GET 和 POST 的区别

    手写函数防抖和函数节流

    手写AJAX

    手写一个 Promise

    如何实现深拷贝

    如何实现数组去重(https://juejin.im/post/5aed6110518825671b026bed#heading-2

    html5新特性(https://www.cnblogs.com/vicky1018/p/7705223.html

    css3新特性

    css 实现垂直居中(https://juejin.im/post/5a5ca65a6fb9a01ca3254537

    清除浮动

    CSS 选择器优先级(important > 内联 > ID 100 > 类 10 > 标签 | 伪类 | 属性选择  1 > 伪对象 > 继承 > 通配符 通配符 > 继承)

    浏览器CSS匹配不是从左到右进行查找,而是从右到左进行查找。浏览器从右到左进行查找的好处是为了尽早过滤掉一些无关的样式规则和元素。

    比如DIV#divBox p span.red{color:red;},浏览器的查找顺序如下:先查找html中所有class='red'的span元素,找到后,再查找其父辈元素中是否有p元素,再判断p的父元素中是否有id为divBox的div元素,如果都存在则匹配上。

    css为什么少用!important

    meta 及 viewport

    箭头函数(this)哪些情况下不能使用箭头函数

    this、apply、call、bind

    rem , em , px 的区别

    typeof 和 instanceOf 的区别(https://www.cnblogs.com/onepixel/p/5126046.html

    instanceof原理

    instanceof (A,B) = {
        var L = A.__proto__;
        var R = B.prototype;
        if(L === R) {
            // A的内部属性 __proto__ 指向 B 的原型对象
            return true;
        }
        return false;
    }

     

    new做了什么(https://juejin.im/post/59bfe84351882531b730bac2#heading-5

    进程,线程,协程关系

    几种循环方法的区别

    字符串方法比较

    数组方法比较

    get 和 post  区别

     

    判断是否是字符串类型(String)方法

     

    货币格式转换

     

    去除字符串首位空格(实现trim方法)

     

    闭包

     

    原型链

    手写深拷贝

    array方法有哪些,区别

    css实现一个三角形

    DOM事件委托(https://zhuanlan.zhihu.com/p/26536815

    实现一个promise

    vuex状态图

    cookie, session

     

    Javascript 之中的 class/构造函数/工厂函数

     

    实现深拷贝

     

    使用es5中的语法es6中的一些新方法

    反转数组

     

    去除数组中重复的数据

     

    封装函数进行字符串驼峰命名的转换

     

    提取一段文章中出现次数最多的单词

     

    函数的节流和防抖

    sort方法总结

    var arr=[2,23,3,226,123,1,12];
    //Step1:定义比较器函数
    
    //升序
    function compareASC(a,b){
    return a-b;
    }
    //Step2:将函数作为参数传入sort方法
    arr.sort(compareASC);
    console.log(String(arr));
    
    //降序
    function compareDESC(a,b){
        return b-a;
    }    
    arr.sort(compareDESC);
    console.log(String(arr));

    参考链接:js十大排序算法

    冒泡排序:

    解析:1.比较相邻的两个元素,如果前一个比后一个大,则交换位置。

       2.第一轮的时候最后一个元素应该是最大的一个。

       3.按照步骤一的方法进行相邻两个元素的比较,这个时候由于最后一个元素已经是最大的了,所以最后一个元素不用比较。

    function maopaosort(arr) {
        for (var i = 0; i < arr.length - 1; i++) {
            for (var j = 0; j < arr.length - 1 - i; j++) {
                //倒序排列
                if (arr[j] < arr[j + 1]) {
                    var swap = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = swap;
                }
    
                // //正序排列
                // if (arr[j+1] < arr[j]) {
                //     var swap = arr[j+1];
                //     arr[j+1] = arr[j];
                //     arr[j] = swap;
                // }
            }
        }
    }
    
    var arr = [1, 4, 3, 6, 7, 36, 83, 2, 33, 5];
    console.log('before:' + arr);
    maopaosort(arr);
    console.log('after:' + arr);

    js实现判断质数

    质数:质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。2是唯一一个既是偶数又是质数的数字。

    function isPrimeNum(num) {
        if (typeof num !== "number") {
            return false;
        } else if (num < 2) {
            return false;
        } else if (num === 2) {
            return true;
        } else if (num % 2 === 0) {
            return false;
        }
        let sq = Math.sqrt(num);
        for (let i = 3; i <= sq; i += 2) {
            if (num % i === 0) {
                return false
            }
        }
        return true;
    }
    console.log(isPrimeNum(1));
    console.log(isPrimeNum(2));
    console.log(isPrimeNum(3));
    console.log(isPrimeNum(49));
    console.log(isPrimeNum("a"));

    字符串翻转

    var str = "every good boy does fine";
    var start = 0;
    var end = str.length - 1;
    var tmp = "";
    var arr = new Array(end);
    
    while (end >= 0) {
       arr[start++] = str.charAt(end--);
    }
    
    
    var str2 = arr.join('');
    document.write(str2);
  • 相关阅读:
    史上最全HashMap红黑树解析
    使用httpClient 调用get,Post接口
    VS 安装resharper 后 无法进行UnitTest
    [转]大数据的高并发的数据库优化
    【转】2019年7月份,阿里最新Java高频面试真题汇总
    【转】Apache的架构师们遵循的30条设计原则
    B树索引最通俗易懂的介绍
    spring Boot 学习(八、Spring Boot与与监控管理)
    spring Boot 学习(七、Spring Boot与开发热部署)
    vs快捷键
  • 原文地址:https://www.cnblogs.com/zzxuan/p/9713252.html
Copyright © 2011-2022 走看看