WEB前端高频面试题每天5道题第七波
日期:2018-07-05
来源:程序思维浏览:1228次
不好意思,今天太忙了研究dva+react,前端面试题发的晚些,还请多多包涵!下面直接上干货:
1、说说代码重构的思路?
答:先看看那些代码可以封装,重用,继承。实现步骤如下:1、提取子函数。2、把大家都要用的方法放到父类中。3、下移函数到子类。4、封装固定的调用逻辑(有点模板模式的意思)
2、项目中遇到印象最深刻的问题,以及解决的思路是什么?
答:1、用react的开发的时候子组件用路由跳转时需要用withRouter解决。2、如果在input设置边框颜色在ios系统里会出现兼容性问题,需要在外面加一个div设置div的边框代替input边框。3、文字溢出,用overflow:auto做滚动条在ios上面会卡顿,需要用iscroll解决。
3、说说你对promise的理解?其优势是什么?
答:promise是es6的一种异步请求构造函数,接收一个参数,是函数,并传入两个参数resolve,reject(可以见到的理解成功后和失败后的回调函数),在我们封装好函数的最后,会return出promise对象,promise对象的原型上有then、catch等方法,then方法中我们协议拿到我们在调用resolve时可以传递的参数并形成promise链,调用reject时,promise链就被破坏了,reject之后的promise都不会再执行,而是直接调用.catch方法。
优势:Promise的优势在于,可以在then方法中继续写promise对象并返回,然后继续调用then来进行回调操作。
4、移动端你遇到过什么兼容问题?
答:1、如果在input设置边框颜色在ios系统里会出现兼容性问题,需要在外面加一个div设置div的边框代替input边框。2、文字溢出,用overflow:auto做滚动条在ios上面会卡顿,需要用iscroll解决。3、防止手机中网页放大和缩小。4、禁用自动匹配手机号、地址、email。5、用好rem和css3的媒体查询解决适配问题。6、ios和android下触摸元素时出现半透明灰色遮罩。用 -webkit-tap-highlight-color:rgba(255,255,255,0)解决。7、iphone及ipad下输入框默认内阴影。用-webkit-appearance:none;解决。8、移动端点击穿透问题。尽量不用要touch事件,用click事件,然后防止冒泡就事件可以了。
5、http和https的区别?
答:http是超文本传输协议。用于Web浏览器和网站服务器之间传递信息。https是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。可以防止抓包的问题,一般做接口都是使用https。
- 上一篇:WEB前端高频面试题每天5道题第六波
- 下一篇:WEB前端高频面试题每天5道题第八波
精品好课