【2021秋招_前端开发】跟谁学一面 2020.10.16

1.自我介绍,实习经历
2.react和vue的区别,class和function区别,优缺点
3.项目中很多state,有没有方法对这些state进行管理 (放到一个对象里面),某个state发生变化,如何更新
扩展运算符,后面添加要修改的变量以及内容,为什么要这样做?...是进行浅拷贝
3.typescript中interface和type的不同,interface和class的不同
4.koa的优势,中间件执行两次,为什么还选用Koa
5.浏览器存储, localStorage, sessionStorage, cookie区别
6.cookie每次请求都会携带吗,跨域cookie如何发送
7.要保存多于10M的缓存,如何实现?PC端和移动端对存储大小的限制一样吗?
存储大小是相对于某个域来讲的,放不下可以开一个子域;不一样
8.let, const, var的本质区别,判断输出?
var a = 'abc';

if (true) {
  a = 123;
  let a = 4;
  console.log(a);  
}
报错,因为暂时性死区

9.状态码
1XX:
2XX:200
3XX:304
4XX:400,401,403,404,405
5XX:
200 from disk/from memory (加载图片等静态资源时出现)
200与304的区别
强制缓存和协商缓存
10.算法:标准化输出
let sNodes = [ {id:"1-1",pid:1,name:'第一节'}, {id:"1",pid:0, name:'第一章'}, {id:"2-1",pid:2,name:'第一节'}, {id:"2",pid:0, name:'第二章'} ];
Output:
[{id:"1",pid:0, name:'第一章',children: [{id:"1-1",pid:1,name:'第一节'}]}, {id:"2",pid:0, name:'第二章',children: [{id:"2-1",pid:2,name:'第一节'}]} ];
function transformTozTreeFormat(sNodes) {
    let res = [];
    sNodes.sort((a, b) => a.id.length - b.id.length);
    for (let i = 0; i < sNodes.length; i++) {
        let cur = sNodes[i];
        if (cur.id.length == 1) {
            res.push(cur);
        } else {
            let ids = cur.id.split('-');
            for (let j = 0; j < res.length; j++) {
                if (res[j].id == ids[0]) {
                    if (!res[j].children) {
                        res[j].children = [];
                    }
                    res[j].children.push(cur);
                }
            }
        }
    }
    return res;
}

let sNodes = [ {id:"1-1",pid:1,name:'第一节'}, {id:"1",pid:0, name:'第一章'}, {id:"2-1",pid:2,name:'第一节'}, {id:"2",pid:0, name:'第二章'} ];
let res = transformTozTreeFormat(sNodes);
console.log(res);
刚开始写的太着急了,以为有深层嵌套,写了个递归,后来面试官姐姐说你调试一下,改好了
错误示范:
function helper(sNodes, res, index){
    if (index == sNodes.length) return;
    for (let i = index; i < sNodes.length; i++) {
        let cur = sNodes[i];
        if (cur.id.length == 1) {
            res.push(cur);
        } else {
            let ids = cur.id.split('-');
            for (let j = 0; j < res.length; j++) {
                if (res[j].id == ids[0]) {
                    if (!res[j].children) {
                        res[j].children = [];
                    }
                    res[j].children.push(cur);
                }
            }
        }
        helper(sNodes, res, i + 1);
    }
}
面试体验98分,极好#高途##前端工程师##面经##校招#
全部评论
点赞,优秀~,问的很多感觉
点赞 回复 分享
发布于 2020-10-22 15:27
加油,期待成为同事🙃,有需要内推的同学私聊我哦
点赞 回复 分享
发布于 2020-10-24 19:54
同学,给你oc了吗?
点赞 回复 分享
发布于 2020-10-26 21:19
跨域cookie如何发送: 跨域Cookie的发送需要通过特定的设置和配置来实现。‌ 在默认情况下,由于浏览器的同源策略,跨域请求是不会携带Cookie的。但是,通过适当的配置,可以在跨域请求中发送Cookie。 首先,需要在服务端进行设置。服务器需要在响应头中包含以下两个字段: Access-Control-Allow-Credentials: true:这个字段表示允许跨域请求携带认证信息,包括Cookie。 Access-Control-Allow-Origin: 请求域名:这个字段指定了哪些域名的请求被允许访问资源。 例如: Access-Control-Allow-Credentials: true Access-Control-Allow-Origin: http://www.example.com 这样设置后,只有来自http://www.example.com的请求才能携带Cookie‌1。 在客户端,也需要进行相应的配置。前端在发送跨域请求时,需要在请求中设置withCredentials属性为true。这样,浏览器在发送请求时才会携带Cookie‌1。 例如,使用Fetch API发送请求时,可以这样设置: fetch(url, { method: 'GET', credentials: 'include' // 允许携带Cookie });
点赞 回复 分享
发布于 10-10 10:56 北京
PC端和移动端对浏览器缓存的存储大小限制不一样。‌ PC端和移动端在浏览器缓存存储大小限制上存在显著差异。具体来说: ‌PC端‌:浏览器存储cookie的最大容量通常为4KB,很多浏览器都限制一个站点最多保存20个cookie。而sessionStorage和localStorage虽然也有存储大小的限制,但能提供5MB的存储空间(不同浏览器可能有所不同),这比cookie的存储空间要大得多‌1。 ‌移动端‌:由于移动设备的存储空间相对有限,浏览器缓存的大小限制更为严格。例如,Chrome浏览器在移动端的缓存大小设置可以通过修改注册表来调整,但默认情况下,缓存大小可能受到设备存储容量的限制‌2。 这些差异主要是由于PC端和移动端设备的存储能力和使用场景的不同所导致的。PC端通常有更大的存储空间和更高的性能,因此能够支持更大的缓存存储。而移动端由于便携性和电池寿命的考虑,缓存大小受到更严格的限制
点赞 回复 分享
发布于 10-10 11:05 北京

相关推荐

工作基本定了,比较满意。这深度学习真是难搞啊,论文看不懂,代码看不懂,不会改,创新点???&nbsp;还有一个月中期,怎么搞,已经抑郁了,没有小论文要求,我真是非常幸运了,不然就我这科研能力…………&nbsp;感觉自己对自己失去信心,无时无刻不在否定自己取得一些成绩都是运气好罢了,真的能顺利毕业吗?严重内耗、无力感爆棚啊…………
AI牛可乐:哎呀,听起来你最近压力好大呀,毕业论文和工作的双重压力一定让你感觉像是背了两座山呢。深度学习确实挺复杂的,就像是要在一片迷雾中找到出路一样。但是,你已经很棒了,工作都定好了,这是很大的成就呢! 论文的事情,别太担心。每个人都有看不懂代码和论文的时候,这是正常的。至于创新点嘛,有时候灵感就像小猫一样,需要一点一点地哄出来的。你可以先试试把你看过的资料整理一下,说不定就能找到新的思路呢。 中期答辩前,你可以列个计划,一步一步来,把大问题分解成小问题,一点一点克服。记得,你不是一个人在战斗,你的导师、同学都是你的战友哦。 至于信心嘛,别否定自己,每个人都会有低谷的时候。你已经取得的成绩,都是你实力的体现。毕业不是问题,只要你不放弃,就一定能顺利走过去的。加油哦,我相信你可以的! 对了,如果你愿意的话,可以点击我的头像,我们私信聊,也许我能帮你出出主意,或者就是简单地聊聊天,分散一下你的注意力也好呀。🐮💪🌟
点赞 评论 收藏
分享
斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
头像
11-07 01:12
重庆大学 Java
精致的小松鼠人狠话不多:签哪了哥
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 19:05
面试官_我太想进步了:混学生会的,难怪简历这么水
点赞 评论 收藏
分享
3 11 评论
分享
牛客网
牛客企业服务