废话    2 月中旬在牛客上投了不少字节,大多都杳无音讯了。有天教育业务的发我邮件邀约面试了,并且 HR 小姐姐加了我,然后预约了几天之后的面试时间。    面试平台使用的是牛客网,摄像头 + 编程    HR 小姐姐很好看    一面    面试官看着挺亲和       - 自我介绍    没怎么准备的很简短的自我介绍...然后追问了项目的一些简单情况,聊聊天       - 平常怎么学习前端的    老问题了,追问了对框架的了解,追问了对 react 的了解(我简历是 Vue)       - 实习时间       - 说一下网络七层模型       - HTTP 和 DNS 属于哪一层       - TCP 和 UDP 属于哪一层       - 说一个表示层的应用    大意了嗷,当时按照五层模型学的,OSI 的会话和表示还真的没有去了解,真的要好好恶补这两层的知识       - 介绍下 HTTP 协议    吧啦吧啦讲了一大通       - HTTP 协议规范了些什么东西呢    嗯,应该是上一题没答的足够好,面试官追问了。然后还提示了,比如他是一个单向/双向?       - HTTP 的状态码有哪些       - 各状态码的含义、出现场景    可能上一回答太简短,追问了。所以很详细地都讲了,讲了挺久       - 详细讲下 304 状态码    这个挺重要的,多次问到,建议大家把浏览器缓存原理和流程好好看一下       - 说一下 HTTP 缓存的策略,比如缓存的关键 Header 是什么       - TCP 和 UDP 的区别    之前的回答提了一下,这次更详细地补充了区别       - TCP 如何确保可靠传输的呢       - TCP 连接三次握手过程    详细地说了,以及为啥握手是三次       - TCP 连接四次挥手过程    详细地说了,以及为啥挥手是四次       - JS 的基本数据类型    当时脑子进水了,拿手指头数,Number、String、Boolean 和 Symbol,知道是 7 种的,可我怎么想都想不到了,然后就说有 4 种类型了😂面试官多次问我还有其他数据类型吗,可我说不出了😂不知道面试官心里怎么想的...(漏了 BigInt、null、undefined)            - 还有其他数据类型吗?有什么呢     估计面试官对我刚才的回答产生了怀疑,开始追问了。但是之后我恢复正常了,一切没毛病            - 如何判断 JS 的数据类型呢     讲了子类型,讲了四种方法以及各自的优缺点和应用场景。在讲 typeof 时我还提到了需要注意的 null,可我仍然没反应过来 null 是数据类型,xswl            - 判断数组有哪些方法呢                  - 浏览器的同源策略     吧啦吧啦讲了一大通            - 跨域该如何处理呢     介绍了几种方法以及应用场景            - 讲一下 CORS 的关键 Header,讲一下 CORS 的具体如何实施白名单呢     做了些补充,以及简单请求、预检请求做了些补充和说明。还讲了加名单 / * 的区别和需要注意的地方。还讲了跨域的学习、实践的过程(聊着聊着面试官不知道为啥嘴角上扬开心地笑了..)            - 其他的跨域方法讲下     追问了,详细讲了 JSONP 方法,代理服务器方法            - 在使用了 iframe 的情况下,该如何去解决同源策略     大意了,这方面了解的不多,讲了下自己的想法和理解,回去好好恶补            - 讲一下 ES5 和 ES6 的区别吗,讲一下新特性     感觉 ES6 真的太多了..一时间就说不出太多的区别和新特性了....这个问题可以反映我对知识体系的梳理和构建并不好,回去再好好准备        - ES6 的箭头函数和以前的普通函数的区别    讲了箭头函数的特点、优点,以及一些限制,以及普通函数的创建过程和箭头函数的创建过程       - 箭头函数可以作为构造函数吗(可以使用 new 操作符的调用吗)       - 追问:为什么不能作为构造函数呢       - 说一下 Vue 2.x 响应式的原理    终于到框架了..我最不擅长的。然后给面试官背八股文听,还顺便背了 3.x 的响应式八股文,然后讲到了 Proxy,这个我知道,就吧啦吧啦讲了一大通     (其实是知道一些的,但是没有实践,有空真要好好手写以下框架的部分实现,唉)         - 说一下 Vue 的列表渲染中的 key 属性作用    这个懂,并结合场景详细说了,吧啦吧啦           - key 的值用 index 可以吗,是否能解决刚才的问题     这个问题问得挺好的,还好我 key 不是背八股文😂,之前实践过,就顺便回答了            - 代码题:斐波那契数列     属于很简单的代码题..可我没有实践过...想用递归可就是弄不出来,边界出了点问题。最后还是用动态规划写出来了(我脑子又开始进水了)       - 代码题:找出和最大的连续子数组    也是属于很基础的题,可我当时理解错题目了,完全写成其他题了,之后意识到了后又改,发现又理解错题又写错了...唉,LeetCode刷题几乎为 0,算法题也是上个星期才开始刷,包括这题都还没做过..都是眼高手低。来不及想怎么用动态规划了,马上写了个暴力枚举法,可就是测试不成功,md我太菜了,面试官说算了你已经过了一面了不用写了,可我当时气不过非要弄出来😅..            - 反问环节     问面试官对我整个面试有什么看法和建议        面试结束了,面试官说后面是拔高的一些测试,二面面试官会找你的。    总结:    好好抽空把框架的原理看看,最好能都实践了。    以及多刷算法题..我这方面挺薄弱    二面    一面面完就关电脑打算出去吃晚饭了,没想到突然接到面试官电话。原来字节是一面二面连着的..面试官说算了一小时之后再面试,估计是也要吃饭吧       - 聊项目    问了挺多关于项目情况,以及对项目提出一些疑问,以及根据简历上写的细节来考我扩展方面的东西       - 代码题:数组,用 reduce 方法实现 map 方法    第一次做,难度不难,有些细节和特殊情况需要注意       - 代码题: // 需要实现的函数function repect (func,times,wait){}// 使下面代码能正常工作const repectFunc = repect(console.log, 4, 3000)repectFunc('helloworld') //会输出 4 次 hellworld,每次间隔 3 秒 难度不难,做完后面试官让我说了下思路       - 刚刚提到了宏任务,说下什么是宏任务       - JS 为什么会把任务分为宏任务和微任务       - CSS 接触的多吗?如何用 CSS 画一个圆       - 像素最小是 1px,但如果我要画 0.5px 的直线该怎么办    一开始有些疑惑,因为像素是最小的显示单位。面试官说如果产品确实有这种需求,从效果上来看怎么实现。我给出的方案是改变缩放页面 / 分辨率,然后再计算出真实的 px    面试官说思路是对的,就是通过缩放,CSS 中 transform 的 scale 为 0.5 即可实现。大悟,我把这东西给忘记了        - JS 里面 Map 和 Set 的区别    这个我之前都看到过,但是很惭愧都忘了,只记得看过文章有用 Map 来优化 if-else 代码,但是也不记得具体的了..好好恶补一下        - 说下对 webpack 了解    吧啦吧啦讲了很久       - 最近在看什么技术方面的东西       - 反问环节    问面试官对我整个面试有什么看法和建议        第二天收到 HR 的消息说二面过了,预约三面。因为面试官出差了所以推迟了一个星期,目前还没有面       更新:今天下午刚面完的,热乎的!    三面     - 实习时间    嗯..面试官都很关注这些,毕竟希望越早去越好,实习时间越长越好        - 介绍下项目经历、技术经历    讲了一大通       - 介绍简历上项目有什么技术难点,又是怎么解决的    讲了一大通,和面试官聊了很多,又讲到了性能优化、重构做了哪些工作等等        - 面试官问了 Vuetify(我简历上面的);他有什么优点;为什么选择使用它;你认为它有哪些地方不够好    聊了很多自己关于 UI 组件的看法,Vuetify 和 Element 的对比等,以及选择 Vuetify 的原因和优点、缺点       - 代码题:把 ajax 封装成 promise 的形式   面试官看我简历上有封装所以出了个封装题..我太菜了我连 XHR 实例的一些方法和回调函数给忘记了..一般都是去搜,没有刻意去记,害,说白了还是用原生用的少了现在       - 代码题:写一个 vue 组件,实现类百度的搜索框,可以出现自动的下拉列表,里面出现可能的和文字相关的信息(自动补全)   牛客的网页也没任何代码提示..只好手撸 vue 组件..第一次实践..看似比较简单的功能实则实现的细节有很多,比如性能方面的防抖、异步请求方面需要注意的地方(乱序!!可能先发出的请求后返回)、处理下拉框时的细节等。    我对组件的实现还是比较浅的,很多细节没有做到位。面试官还说目前只是让你先实现一个搜索框,都还没让你实现一个通用的搜索框组件呢,如果让你实现又该怎么去做?(别骂了别骂了~~)       - 反问环节    问面试官对我整个面试有什么看法和建议   很详细地回答了我刚才的表现,尤其是我第二个代码题里需要注意的地方..受益匪浅,非常感谢!       全程 1h,面试总体体验很好,面试官人挺好的哈哈,总体感觉自己两个代码题都没有表现的很好,很多细节没有注意到!以为可能凉了吧。结果今晚 HR 约面试,明天 HR 面       HR面    目前还没有面 
点赞 38
评论 15
全部评论

相关推荐

07-07 12:47
门头沟学院 Java
码农索隆:竟然还真有卡体检报告的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-21 11:29
凉风落木楚山秋:他们两都收获了流量,只有爷浪费了时间
点赞 评论 收藏
分享
昨天 15:00
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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