【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分,极好#高途##前端工程师##面经##校招#
全部评论
PC端和移动端对浏览器缓存的存储大小限制不一样。‌ PC端和移动端在浏览器缓存存储大小限制上存在显著差异。具体来说: ‌PC端‌:浏览器存储cookie的最大容量通常为4KB,很多浏览器都限制一个站点最多保存20个cookie。而sessionStorage和localStorage虽然也有存储大小的限制,但能提供5MB的存储空间(不同浏览器可能有所不同),这比cookie的存储空间要大得多‌1。 ‌移动端‌:由于移动设备的存储空间相对有限,浏览器缓存的大小限制更为严格。例如,Chrome浏览器在移动端的缓存大小设置可以通过修改注册表来调整,但默认情况下,缓存大小可能受到设备存储容量的限制‌2。 这些差异主要是由于PC端和移动端设备的存储能力和使用场景的不同所导致的。PC端通常有更大的存储空间和更高的性能,因此能够支持更大的缓存存储。而移动端由于便携性和电池寿命的考虑,缓存大小受到更严格的限制
点赞 回复 分享
发布于 2024-10-10 11:05 北京
跨域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 });
点赞 回复 分享
发布于 2024-10-10 10:56 北京
同学,给你oc了吗?
点赞 回复 分享
发布于 2020-10-26 21:19
加油,期待成为同事🙃,有需要内推的同学私聊我哦
点赞 回复 分享
发布于 2020-10-24 19:54
点赞,优秀~,问的很多感觉
点赞 回复 分享
发布于 2020-10-22 15:27

相关推荐

个人背景:学院二本计科专业&nbsp;大二开始实习个人经历:安克创新&nbsp;、理想汽车、字节跳动碎碎念:我做事只有三分钟热度。看到进了大厂的同学,我会羡慕,也会跟着努力上进;但遇到好看的小说,我又会放下手头的事沉迷其中,之前的坚持也就中断了。我有些自卑,总觉得自己学历和外貌都不够好。之前偶然在网上受到关注,我就喜欢上了上网,因为这里有很多人认可我。但我也很在意别人的评价,偶尔看到嘲讽的言论,会触发我的自卑情绪,让我感到愤怒。有时候我会强硬地回怼,有时候又会懦弱地选择无视。我也有虚荣心。不管是拿到安克、理想还是字节的机会,我在分享的时候都会带着这份心思。我会特意强调自己学历不好,是为了衬托出过程的艰难,以此显得自己更厉害。我知道,人往往会炫耀自己缺少的东西,来掩盖内心的空洞。我总想着走捷径,不太喜欢踏踏实实地做事。找实习的时候,我花了更多时间在研究面试技巧上,而不是提升专业能力。我会反复听面试录音分析技巧,看面试教程学习怎么和不同的面试官沟通,还会每天自言自语练习语言表达,同学都觉得我有点奇怪。我的实习生涯里,侥幸和运气占了很大一部分。我总在想,如果有一天我失去了这份幸运,这些特质可能会让我一蹶不振。ps:&nbsp;很多人会问我学习路线和经验&nbsp;但是就像我上面说的&nbsp;我的实习过程靠的很多是关键节点的运气&nbsp;技术上面我可能不如很多人&nbsp;&nbsp;所以请大家理性求助和理性参考我的回答&nbsp;附上我的投递记录
我的offer在哪里...:从去年看到现在,飞升哥就是榜样
我的求职进度条
点赞 评论 收藏
分享
评论
3
11
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务