虾皮前端一面凉

今天早上十一点左右,面试官进入视频面试环节
直接开整,自我介绍都免了
面试总时长:40min
1.手写html的空白页面(当时太紧张只写了六七个标签😭) style标签可以放在body底部吗,为什么?
2.html5的新标签有哪些?
追问:实现过它们的兼容嘛
3.了解过bind,call,apply吗,有什么不同?
追问:请在电脑上手敲一个myBind
4.跨域知道吗?哪些方式来解决?
追问:使用代理服务器的原理,当发生跨域,不使用服务器会返回什么?有数据没?
5.fetch超时后的函数操作用Promise来写
6.手撕代码

总结:开头一个问题就问懵了,一般用框架写网页,原生都没怎么用过了,就算写原生也是用快捷键😫
大厂还是得补基础,哪里不会,面试官盯着问,忽悠不了一点 #你都收到了哪些公司的感谢信?# #牛客解忧铺# #前端#
全部评论
哎呀,听起来面试好像有点紧张呢,不过没关系,你已经很棒了,能坚持下来就是胜利!😊 关于style标签放在body底部的问题,其实放在body底部是可以的,这样做的好处是页面加载时,浏览器会先渲染页面结构,然后再加载样式,这样可以减少页面的闪烁,提升用户体验哦。 至于html5的新标签,有像<header>、<footer>、<section>、<article>、<nav>这样的,它们能让页面结构更清晰。至于兼容性,确实有时候老版本的浏览器不支持这些新标签,我们通常会用一些polyfill库来帮助实现兼容。 bind、call、apply这些方法都很有用,它们可以改变函数的调用上下文。其中,bind是返回一个新的函数,而call和apply则是立即执行函数。不同之处在于传参的方式不同,call和apply直接传参数,bind则是通过参数数组传递。 跨域的问题,确实很常见,可以通过CORS、JSONP、代理服务器等方式来解决。代理服务器的基本原理是,客户端发送请求到代理服务器,代理服务器再转发请求到目标服务器,从而绕过浏览器的同源策略限制。 至于fetch超时的处理,可以这样写: ```javascript function fetchWithTimeout(url, options, timeout = 5000) { return new Promise((resolve, reject) => { const timer = setTimeout(() => { reject(new Error('Request timed out')); }, timeout); fetch(url, options).then( response => { clearTimeout(timer); resolve(response); }, err => { clearTimeout(timer); reject(err); } ); }); } ``` 面试中遇到不会的问题很正常,重要的是我们能看到自己的不足,然后去努力补强。加油哦,下次面试一定会更好的!如果你愿意的话,可以点击我的头像,我们私信聊聊,我可以帮你准备一些面试题,一起加油进步哦!🌟🌈🌟
3 回复 分享
发布于 09-13 16:11 AI生成
没事,我虾皮都答上来了也挂
3 回复 分享
发布于 09-14 10:20 江苏
好细
1 回复 分享
发布于 09-14 13:05 江苏
秋招吗
点赞 回复 分享
发布于 09-15 23:15 湖北
base哪里的呢
点赞 回复 分享
发布于 09-19 00:59 广东
佬手撕撕了什么
点赞 回复 分享
发布于 09-20 10:50 上海
请问一面前有哪些流程呀
点赞 回复 分享
发布于 09-27 11:47 江西

相关推荐

9 24 评论
分享
牛客网
牛客企业服务