虾皮前端一面凉

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

总结:开头一个问题就问懵了,一般用框架写网页,原生都没怎么用过了,就算写原生也是用快捷键😫
大厂还是得补基础,哪里不会,面试官盯着问,忽悠不了一点 #你都收到了哪些公司的感谢信?# #牛客解忧铺# #前端#
全部评论
没事,我虾皮都答上来了也挂
3 回复 分享
发布于 2024-09-14 10:20 江苏
哎呀,听起来面试好像有点紧张呢,不过没关系,你已经很棒了,能坚持下来就是胜利!😊 关于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 回复 分享
发布于 2024-09-13 16:11 AI生成
好细
1 回复 分享
发布于 2024-09-14 13:05 江苏
手写html的空白网页是写什么 啥也不写不就是空白网页吗我理解错了吗
点赞 回复 分享
发布于 03-16 20:55 河南
请问一面前有哪些流程呀
点赞 回复 分享
发布于 2024-09-27 11:47 江西
佬手撕撕了什么
点赞 回复 分享
发布于 2024-09-20 10:50 上海
base哪里的呢
点赞 回复 分享
发布于 2024-09-19 00:59 广东
秋招吗
点赞 回复 分享
发布于 2024-09-15 23:15 湖北

相关推荐

虾皮前端一面总结一、八股文考察1.&nbsp;箭头函数◦&nbsp;核心问题:需明确箭头函数特性(无this、arguments、prototype,不能用new)。◦&nbsp;未答关键点:◦&nbsp;this继承自外层词法作用域,非构造函数因无prototype且new时无法绑定this。◦&nbsp;new过程需创建实例、绑定this、返回实例,箭头函数无[[Construct]]内部方法。2.&nbsp;性能优化◦&nbsp;问题:不熟悉相关知识,需补充学习(如防抖节流、SSR、CDN、懒加载等)。3.&nbsp;浏览器内存与缓存◦&nbsp;Local/Session&nbsp;Storage:数据存储于磁盘,读取时从内存缓存或磁盘获取(取决于是否常驻内存)。◦&nbsp;协商缓存:◦&nbsp;max-age=0与no-cache区别:前者强制验证缓存,后者需服务器确认。◦&nbsp;ETag与Last-Modified并存:前者更精准(文件内容变化),后者依赖时间戳(可能误判)。4.&nbsp;React&nbsp;Hook◦&nbsp;问题:对useMemo、useCallback、memo使用场景模糊。◦&nbsp;改进点:结合项目举例(如子组件高频渲染时用memo缓存,避免函数重复创建导致的重渲染)。二、代码题•&nbsp;动态规划背包问题:用最少砝码数量组合目标重量,需明确状态转移方程(如dp[i]&nbsp;=&nbsp;min(dp[i],&nbsp;dp[i&nbsp;-&nbsp;w]&nbsp;+&nbsp;1))。三、面试官交流1.&nbsp;AI看法:强调合理利用AI辅助解决复杂问题,提升效率。2.&nbsp;性能优化建议:结合具体场景(如电商首屏优化、可视化图表性能),参考谷歌Lighthouse、Web&nbsp;Vitals等工具。四、改进方向1.&nbsp;基础巩固:深入理解箭头函数原理、浏览器存储机制、HTTP缓存策略。2.&nbsp;性能专题:系统学习优化手段,结合实际项目案例分析。3.&nbsp;React实践:梳理Hook使用场景,通过项目练习巩固(如列表渲染优化)。4.&nbsp;算法训练:强化动态规划题型,掌握背包问题变种解法。
点赞 评论 收藏
分享
06-12 16:56
四川大学 Java
虎鲸是6.5ssob上海投的,6.12约面,西安大麦的前端岗。虾皮是老早投的深圳后端,然后被前端捞的,后端和项目一点没问,麻了问题:1、js获取多个div元素的方法。如果这些div有父子关系,如何进行区分?如何由子获得父?2、react状态管理的几种方式?除了redux还有哪些?3、跨端如何解决?4、选择器的优先级?5、如何进行浏览器性能优化?6、url的结构?7、url从输入到响应页面的过程?8、http2.0与1.0的区别?9、tcp三次握手与四次挥手?10、https加密的过程?11、如何给元素设置水平,垂直居中?12、react的useState如何放在if分支中会有什么问题?13、浏览器如果断网了如何处理,缓存如何实现的?14、defer和async有什么区别?(都没听说过defer)15、promise有哪几种状态?......16、短期规划?题目:1、拆分数字字符串,按照千分位添加逗号。2、提取字符串中括号里的内容。(我给的思路是用栈或队列遍历,面试官说正则表达式可以秒,可是我不怎么会正则)总结:两场面试都是四十分钟左右,问的都是前端比较基础的东西,但我只学了一个多月前端,也没专门看过八股,被拷打麻了。面试官看我都不会,后面就转而问场景题和一些计网之类的基础了。下午面完虾皮后,大麦发邮件中止流程了。感觉今年前端面试的确比后端多,我都被前端捞了三次了
查看16道真题和解析
点赞 评论 收藏
分享
评论
12
30
分享

创作者周榜

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