浏览器加密问题
1.浏览器加密问题浏览器在传输过程中,为了数据安全,会对数据进行加密,在传输结束后,传回客户端时会进行解密,然后客户端就会看到正常的数据 比如输入的内容是汉字系统管理通过控制台看到的发出的请求内容就是%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86
用户列表接口
123456789101112131415161718192021222324252627282930313233{ "code":200, "data":{ "page":{ "pageNum":1, "pageSize":10, "total":24 }, "list":[ { "state" : 1, "role" :"0", "roleList" :[ "60180b07b1eaed6c45fbebdb", "60150cb764de99631b2c3cd3", ...
刷题总结
刷题总结1.快慢指针如果遇到链表操作,比如找链表最后几位,或者是找链表中间值,就可以用快慢指针。 如果快指针比慢指针快几位,那么,当快指针遍历结束时,慢指针的位置也就是所求的位置。 如果快指针速度是慢指针两倍,也就是快指针走两步,慢指针走一步,那么快指针遍历结束时,慢指针正好达到链表中点 2.排列组合:全排列12345678910111213141516171819202122var permute = function (nums) { let res = []; let vis = {}; let dfs = (t) => { if (t.length == nums.length) { res.push(t); } for (let i = 0; i < nums.length; i++) { if (vis[i]) continue; vis[i] = true; t.push(nums[i]); //...
排序算法
排序 1.冒泡排序从第一对开始,比较相邻的元素大小,比如1与2比,之后2与3。。如果后者比前者小就交换,第一次需要比较n次,第二次就需要比较n-1次==稳定== 2.选择排序选一个最小的放到最前面==表现最稳定算法之一== 3.插入排序从第一个数开始,认为其已经排序,然后从后面第二位开始依次加入,如果已排序元素大于待排序元素,将待排序元素进行前移比较,然后找到合适的位置插入==稳定== 4.希尔排序将元素分组,每次分组数量砍半,例如总共10个数,第一次的间隔为10/2=5,因而可以分5组,然后分别对这五组进行排序,然后把间隔继续砍半,继续排序,直到为1时结束 5.归并排序将序列分为若干组,初始为1个一组,然后两两合并,对其排序,==排序方法:==比较头部,例如1组合2组,将1组头部与2组比较,将头部小的放入第一位,接着继续比较头部,如果有某一组为空,则直接将另一组push进去。如此循环,
css面试
1.visibility=hidden, opacity=0,display:nonevisibility=hidden, opacity=0两者都还是会占据空间,只是元素被隐藏,但是opacity可以触发事件,而visibility不会触发事件,display:none相当于将元素删除 15755119230
hr面准备
...
js面试
js知识点1.常见的值和引用类型值: undefine 字符串 数值 bool symbol 引用: 对象 数组 null 2.深拷贝与浅拷贝对于一种问题,比如对象的引用 let obj1 = obj2 obj1.name = “aa” 那么,obj2的name也会因此改变,这就是浅拷贝 这两个对象实例都是指向的同一块内存空间,如果是深拷贝的话,就不会出现这种问题。深拷贝就相当于是把原对象通过递归的方式,将原对象原原本本的复制过去。这样,这个对象实例就变成了一个独立的个体,有着自己的内存空间。 12345678910111213141516171819202122232425function deepClone(obj={}){ if(typeof obj !== 'object' || obj == null){ // 如果传入的不是对象或者为空的话,那么就给他按原值返回 //因为后面需要递归进行调用,如果遇到值,就可以直接进行赋值 ...
vue
...
面试问题汇总
...








