五年开发经验,是前端开发的一道坎。不管是入职以后的要求还是面试的问题,都逐渐深入化,跟一年前的面试不是一个难度等级。这也促使了我在前端开发领域中不断前行的动力。
在记录正题以前,想为自己以前的幼稚后悔两分钟,开发中遇到的困难,怎么解决的,这些有必要记录下来,要成为自己的知识储备,不能说会了就放那里不管了,人是会淡忘的。。。
第一家
-
大型项目是怎么构建的,需要在哪些方面做处理(ps:这个虽然不是很细节的技术题,但是还是有必要了解的,不如果要带项目的话)参考链接
-
webpack设置,打包出现速度慢时怎么优化?
关于webpack的问题面试时几乎都会问到,最好主动点回答,webpack的设置点很多,知识点不太好记,如果有懂的就要组织语句说出来。关于webpack,第二家公司还问了不依赖脚手架会不会用webpack搭建项目,这个确实是有难度的。。。
webpack优化的话,有那么几点值得借鉴:1、利用happypack加速构建,2、利用插件加快打包速度,拷贝静态文件,3、设置babel的缓存为true,4、减少项目的搜索范围。这是参考链接,可以看一下的 -
在团队中是怎么实施代码规范化的?
在我看来,需要程序员本身的编码比较的规范,能够按照一定要求来开发。如果可以的话,可以搞一个代码规范文档挂载到网站上,让开发人员不定期的学习一下。这个属于比较温和类型的规范化前端开发时应该注意的代码规范问题;还有一种就是直接使用typescript或者eslint进行强制代码规范,这样处理的话,在合并代码时能够省去好多不必要的麻烦,但是这样开发的话,感觉受到了一定的束缚。另外怎么配置eslint,可以参考链接eslint配置 -
上线后项目错误处理方法,利用try catch 来捕捉错误,早一些的话,使用window.onerror进行错误捕捉错误捕获参考
-
h5标签的好处?
h5语义化标签更易于开发者开发使用,在维护时也能让维护者敢到友好,另外增加搜索的友好性 -
vue组件的按需加载,另外还有插件的按需加载插件按需加载
第二家
-
h5新特性,css3。这个不做过多的说明,可能大家平时把重点放在了回答h5新特性上面,反而忽略了css3属性的一些东西,建议在面试前把css3过一遍h5css3新特性一览
-
语义化标签和div有什么区别链接
-
websocket长连接链接
要明白webpack的使用场景,轮询虽然比websocket low,但是在某些情况下显然更加适合使用 -
js对象取值的方式。.和[]有什么区别
在实际项目中一般使用点,会方便许多,但是如果key是变量的话就不能使用点了,js会理解变量为对象的key值,造成混淆 -
配置策略模式,工厂模式参考
配置策略模式一般用在vue的验证中,如果自带的验证条件不够的话,需要配置策略模式 -
eventbus传值传不到怎么办,列举传值失败的例子参考
-
vuex实际中遇到的问题:vuex一个组件告诉另一个组件状态参考
vuex两个异步组件加载完成后在做处理参考 利用promise,用.then调用 我是这么回答的,面试官认为不对 -
还有一个点,如果面试中遇到不懂的术语,就要及时问清除有没有别的称谓,例如中央事件总线别名事件车或者eventbus,别人一个中央事件总线给我整懵了
-
路由传值方式,params和query的区别。params属于post传参,query属于get传参
-
v-model是深拷贝还是浅拷贝 答案:浅拷贝
第四家
1、前端历程
2、深挖vue代码,v-if是怎么实现的
3、vue有什么缺点
4、实现地图多点数据时不卡顿
5、小程序的底层是用什么实现的
6、插槽的用法 https://www.cnblogs.com/wisewrong/p/6380903.html
7、websocket 轮询 commet
8、前端领域的成长,学习渠道