前端⾯试被问到项⽬中的难点有哪些?
在每个前端求职者的⾯试过程中,⼀定都有过被⾯试官问到项⽬中的难点,⽽答不上来的情况。为了让⼤家在前端⾯试前准备得更加充⾜,⼩编准备了⼀些易被忽视且难度较⾼的前端⾯试题。
希望可以帮助⼤家更加顺利完成求职,到⾃⼰满意的⼯作。
1.流式布局如何实现,响应式布局如何实现?
流式布局:也叫 fluid,当上⾯⼀⾏的空间不够容纳新的 TextView 时候才开辟下⼀⾏的空间。场景:主要⽤于关键词搜索或者热门标签等场景;他主要是按照页⾯元素的宽度按照屏幕分辨率进⾏适配调整,但整体布局不变,使⽤%百分⽐定义宽度,⾼度⼤都是⽤ px 来固定,可以根据可视区域和⽗元素的实时尺⼨来调整,尽可能适应各种分辨率。
响应式布局:主要是实现不同屏幕分辨率的终端上浏览⽹页的不同展⽰⽅式, 通过响应式设计能使⽹站在⼿机和平板电脑上有更好的浏览阅读体验;⾸先设置meta标签,通过媒体查询来设置样式Media Queries,然后再设置多种试图宽度。
2.什么是 “use strict”,好处和坏处是什么?
ECMAscript 5 添加了第⼆种运⾏模式:"严格模式"(strict mode)。顾名思义,这种模式使得 Javascript 在更严格的条件下运⾏。
好处:消除 Javascript 语法的⼀些不合理、不严谨之处,减少⼀些怪异⾏为;消除代码运⾏的⼀些不安全之处,保证代码运⾏的安全;提⾼编译器效率,增加运⾏速度;为未来新版本的 Javascript 做好铺垫。 注:经过测试 IE6,7,8,9 均不⽀持严格模式。
缺点:现在⽹站的 JS 都会进⾏压缩,⼀些⽂件⽤了严格模式,⽽另⼀些没有。这时这些本来是严格模式的⽂件,被 merge 后,这个串就到了⽂件的中间,不仅没有指⽰严格模式,反⽽在压缩后浪费了字节。
3.介绍⼀下websocket。
websocket 是⼀种⽹络通信协议,是HTML5 开始提供的⼀种在单个 TCP 连接上进⾏全双⼯通信的协
议,这个对⽐着 http 协议来
说,http 协议是⼀种⽆状态的、⽆连接的、单向的应⽤层协议,通信请求只能由客户端发起,服务端对请求做出应答处理。http 协议⽆法实现服务器主动向客户端发起消息,Websocket 连接允许客户端和服务器之间进⾏全双⼯通信,以便任⼀⽅都可以通过建⽴的连接将数据推送到另⼀端。WebSocket 只需要建⽴⼀次连接,就可以⼀直保持连接状态。
4.jquery如何绑定事件,有⼏种类型和区别?
jquery 绑定事件的⽅法分别是:bind(),live(),delegate()和 on(),像bind(),live(),delegate(),随着jquery 版本的更新,已经被移除,注意:bind()是在 3.0 版本之后被移除的,现在⽤的最多的是 on(),on()既可以绑定单事件,也可以绑定多事件,还可以进⾏事件委托。
jquery在项目里是干啥的区别:bind()的事件绑定是只对当前页⾯选中的元素有效,对动态创建的元素 bind()事件,是没有办法达到效果的,⽽其余三个可以。
5.单页⾯应⽤有什么 SEO ⽅案?
原因:较之于传统页⾯,单页应⽤需要先下载框架(数据 / 模板),然后才能开始加载数据、
⽅案:服务器端渲染⾸屏(SSR 基于 vue 的服务端下载);让服务端把⾸屏的数据渲染在页⾯上;进⾏基本的 css 模板 js 的编译合并;减少请求次数,使⽤ gulp ⼯具,把 css 打包成⼀个⽂件, js 打包成⼀个⽂件, 模板打包成⼀个 js ⽂件($templateCache) 可以和 js ⽂件打包成⼀起(促使模板 JS ⽂件和 JS ⽂件⼀次性请求);代码分块,如果⾸屏不需要的块,就不⽤加载了;路由组件懒加载。当打包构建应⽤时,Javascript 包会变得⾮常⼤,影响页⾯加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样更加⾼效;如果有⼤量图⽚使⽤懒加载。
以上就是前端⾯试被问到项⽬中的难点。如果还有对前端⾯试抱有疑问的⼩伙伴,可以私信我。相信对⼤家的⾯试会有很⼤的帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论