写的差不多,首先考虑到了基本类型和引用类型,其次引用类型会判断是数组还是对象,最后为了防止多层嵌套形式,使用递归形式去构造
没写出来,时间太久忘了只知道基本思想
- URL输入后,会发生什么?(八股)拿到资源之后,浏览器会做什么?(就是渲染过程,八股)
- CSS哪些操作会导致重排和重绘(重排:位置、尺寸、生成或者删除DOM;重绘:字体、颜色 没说全)
- V8垃圾回收机制(八股)
- 什么情况造成内存泄露?(全局变量、闭包,没说全)
- 水平垂直居中(八股4种)
- flex如何实现一列固定,一列自适应(flex:1)
- 淘宝的瀑布流布局,下拉加载时候,对于不同长度的卡片,如果使向更短的卡片那一边填充?(不会,也没懂题是什么意思)
- 编辑区怎么识别的JSX(说错了,应该是通过React.creatElement方法)
- 前端性能优化做了什么?(准备过)
- HTTP2比HTTP1.1解决了什么问题?(OMG,答成HTTP3啦)
- JS时间循环机制(八股)
---------------------------------------------------------------------------------------------------------------------------------
Leader二面
- 自我介绍
- 如何学习前端
- URL输入后,详细说下会发生什么?(又问了一遍哈哈,八股)
- 跨域是什么?(同源策略)怎么解决(3种)
- JSONP是解决什么问题(也是解决跨域的,回调函数获得数据)
- 安全策略,CSP有了解过吗?Content-Security-Policy(不了解)
- 解释下CSRF和XSS(XSS的防范措施说的不全,其他还行)
- javascript:void(0)见过吗?知道是什么意思不(不知道诶)
- JS有很多坑,举几个例子说下js语法比较怪异的地方(就说了一个变量提升,面试官指出了一个this问题,然后我就解释了下this指代问题)
- 类型隐式转换问题(说的不全)
- Async和await内部实现原理是啥?(不知道)迭代器和生成器知道吗(简单说了说)最后面试官指出Async和await实际就是使用迭代器和生成器,简化了操作
- html/css/js怎么设计一个复杂的组件?(说了react那种,在html中构建跟结点,内部放组件,同时引入样式,不知道对不对)
- React和Vue区别(数据流不同、react更多 面向声明式编程、Vue语法简单比如v-for)
- Vue双向数据流底层是怎么实现的??(说的是会监测变化,自动修改,但是感觉不全对)
- webpack流程是什么?(说的不太好,有点乱)
- yarn和npm区别(不知道)
- babel怎么把ts编程普通js语法(AST)
- 怎么使js语法适配所有的浏览器之类(还是说的bebel,把es6及以上转换)
- 一个项目比较卡,你怎么去定位解决问题?(通过控制台查看文件、对图片处理。对文件通过懒加载gzip压缩等方式,也可以通过插件图具体查看体积情况)
- 你现在前端的水平,最高10分,你给自己打几分?(我说的是4.5分,说到现在很多工具只是会用,但是对于底层还是需要去学习)
- 接上面,你认为10分的水平是什么样子的?(代码语法非常熟练、懂代码底层原理、对工程项目优化擅长、代码编写样式规范)
- 经典的dp算法,爬楼梯问题,不过这里是一次可以上1阶、2阶或3阶
整体不难,dp解法AC,是On的空间和时间复杂度。后面面试官要求用O1的空间完成,就用了三个变量a,b,c实现,不过过程中边界没有判断好,面试官帮助提醒了
面试官总结:前端方面掌握的还OK,还是可以的,说到国内是前后端分的比较明显,不过最好还是多去了解下后端,往全栈方面引导会额更好一些
个人总结:表现中等吧。一下近2h的面试,算法+面试还是有点累的。算法方面,除了快排确实有点可惜忘了代码了,dp和八股文倒是写的不错。面试方面,第一个面试官的问题还是基础较多,问题不大,第二个leader明显感觉面试难度上来了一些,提到了很多之前未听过的知识点,而且后面有几个很灵活的问题,蛮多答的不全或者不好的。
#实习##前端##简历##春招#