简述:
从三月份到现在中间断断续续投了200多份简历面试大约10家左右,都是中小厂0~1000人(个人还是比较有自知之明的没投大厂),问题的大致分为:给定场景让你给出解决方案、八股文、算法这三种,八股文大部分会根据你在简历上写的技术栈和公司自身的情况进行选择,也会包括基础的计网,机操部分,例如URL的组成,线程进程这种的。算法面试官也会先问你自身的情况,然后再去提出问题。
注:各位客官想看什么可以在评论区留言,然后我尽可能去更新对应的内容
下面是三类面试的简单描述(可在评论区补充我进行更新):
一、给出场景类解决方案的:
场景类问题我碰见的大约分为:性能优化、功能实现、算法考察,暂时只碰见这几类。
性能优化:
1、给你1万条数据后端不做处理让你渲染,你该如何处理
2、首屏加载时间,或者网络请求返回很慢,你该如何优化
功能实现:
1、数组中每个元素都是对象,按照元素对象属性个数进行排序
2、Tab页连续切换时,前一次请求返回较慢,最新的请求返回较快导致数据和页签不对等
3、将[1,[2,[3,[4]]]]这种嵌套数组转为一维数组
4、同一个网站不同标签页之间实现数据共享
5、实现css样式
6、实现某个设计模式
算法考察:
1、二叉树最长的长度(dfs,bfs)
2、链表反转
3、Diff算法
二、八股文:
这个部分的东西特别多,涉及面也非常广,HTML、CSS、JavaScrpit、Vue、React、计网、机操等
HTML:
HTML遇到的内容还是比较少的
1、HTML5有哪些新特性
CSS:
1、行内元素,块级元素,特殊的Image标签
2、盒子模型
3、哪些属性可以继承
4、BFC
5、定位
6、动画,过渡动画
JS:
1、闭包,防抖节流
2、js异步
3、事件循环,消息队列
4、事件捕获
5、字符串、数组、对象身上的方法
6、ES6新增的有哪些
7、深浅拷贝
8、浏览器存储
9、箭头函数和普通函数的区别
10、原型和原型链
11、跨域
12、网络请求,手写ajax以及它们的区别
Vue:
1、vue2、3的区别
2、声明周期的理解
3、父子组件生命周期的过程
4、v-for中的key的作用
5、computed和watch的区别
6、组件间的通信方式
7、模板渲染
8、路由模式
9、v-if、v-show
10、CSS绑定变量
计算机网络:
1、DNS(从输入URL到网页渲染的过程)
2、CDN
3、WebSocket
三、数据结构与算法:
数据结构类的知识也是八股文的一部分
1、数据结构都有哪些
2、十大排序以及时间复杂度
3、二叉树的长度
这里东西很多会根据你个人学习算法深度进行提问
小结:
先说一下个人方面的,个人的竞争力非常不足,不管是个人知识的储备、所属的学校、获取的奖项很多方面水平比较低的,一些稍微好点的公司大概率竞争不过其他人,后面需要慢慢深入学习和拓展知识面,像数据结构和算法、机组计网机操、框架源码、基础知识的巩固,所以说很多东西要学,要做,要实践!
个人发展方面:虽然竞争力不足,但是偶尔也有捡漏的机会,我前后拿了4个offer两家20~99人的都是互联网类型的公司,一家100~499从事电商类型的公司,一家500~999人的体育行业的公司,实习还是更加看重个人发展的,这个发展包括公司的类型和规模、进去后从事的主要职责和个人的规划是否匹配、用到的技术栈(有些老项目用jquery或者规则性编写,用公司写好的模块调用难度较小或者技术太旧对自己的发展没有太大帮助),还是希望尽量找一个和个人规划匹配度高、薪资(4k+不至于倒贴)或者通勤方便,每次通勤一个多小时感觉挺累的,尽量找个通勤方便一点的。