黑马程序员技术交流社区

标题: web前端开发面试经验分享【易谷网络】 [打印本页]

作者: 就业高冷派    时间: 2018-5-21 16:46
标题: web前端开发面试经验分享【易谷网络】
本帖最后由 逆风TO 于 2018-7-25 11:51 编辑

公司名称:西安易谷网络科技有限公司
公司地址:西安市高新区高新六路38号腾飞创新中心B
公司规模:中等规模
主要业务:软件服务外包
公司官网:http://www.egoonet.com

以下是技术面试环节的问题的整理:
l Q:那些操作会造成HTML页面回流与重绘
A:调整窗口大小;改变字体大小;样式表变动;元素内容变化,尤其是输入控件;CSS伪类激活;DOM操作;offsetWidth, width, clientWidth, scrollTop/scrollHeight的计算, 会使浏览器将渐进回流队列Flush,立即执行回流。

l Q请列举字符串和数据常用操作方法
A字符串常用操作方法:
split:将字符串分割成数组
substring方法返回位于String对象中指定位置的子字符串。
charAt:返回字符串指定位置的字符
substr方法返回一个从指定位置开始的指定长度的子字符串。
indexOf方法放回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1
lastIndexOf方法返回String对象中字符串最后出现的位置。如果没有匹配到子字符串,则返回-1

toLowerCase方法返回一个字符串,该字符串中的字母被转换成小写。
toUpperCase方法返回一个字符串,该字符串中的所有字母都被转换为大写字母。
数组常用方法:
join():将数组转换成字符串
push()方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度
pop()方法则从数组末尾移除最后一项,减少数组的length,然后返回移除的项.
shift()移除数组中第一个项并返回改项,同时将数组长度减1.
unshift()在数组前端添加任意个项并返回新数组的长度.
sort()方法回按升序排列数组项
reverse()反转数组
splice()删除数组中的某一项会插入某一项
lastIndexOf():从数组的末尾开始向前查找
indexOf():从数组的开头(位置0)开始向后查找

l Qcss3怎么实现平移,旋转,缩放,倾斜以及过渡效果
Atransform:translate(100px,100px);
   transform: rotate(7deg);
   transform: scale(1.1);
   transform:skew(10deg,10deg);
       transition: all 2s;

l Q:简述srchref的区别
Asrcsource的缩写,是在页面中引入某种资源,当浏览器解析到src时,会暂停浏览器的渲染,直到该资源加载完毕;href用于在当前文档和引用资源之间建立联系。

l Qnew Object()的原理是什么?
A
1)创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。
2)属性和方法被加入到 this 引用的对象中。
3)新创建的对象由 this 所引用,并且最后隐式的返回 this

l Qtypescriptjavascript有和异同?
Atypescriptjavascript的超集,它可以编译成纯javascripttypescript是对es6的具体实现,引入了数据类型的概念,声明一个变量的时候如果指定了数据类型,那么赋值的时候要给其对应数据类型的值,否则程序会报错。Typescript中使用class来声明一个类,通过extends关键字来实现继承。简言之typescript使得前端开发和后端开发越来越接近。

l Q:简述Javascript的垃圾回收机制
A现在各大浏览器通常用采用的垃圾回收有两种方法:标记清除、引用计数。
标记清除:
这是javascript中最常用的垃圾回收方式。当变量进入执行环境是,就标记这个变量为“进入环境”。从逻辑上讲,永远不能释放进入环境的变量所占用的内存,因为只要执行流进入相应的环境,就可能会用到他们。当变量离开环境时,则将其标记为“离开环境”。垃圾收集器在运行的时候会给存储在内存中的所有变量都加上标记。然后,它会去掉环境中的变量以及被环境中的变量引用的标记。而在此之后再被加上标记的变量将被视为准备删除的变量,原因是环境中的变量已经无法访问到这些变量了。最后。垃圾收集器完成内存清除工作,销毁那些带标记的值,并回收他们所占用的内存空间。
引用计数:
另一种不太常见的垃圾回收策略是引用计数。引用计数的含义是跟踪记录每个值被引用的次数。当声明了一个变量并将一个引用类型赋值给该变量时,则这个值的引用次数就是1。相反,如果包含对这个值引用的变量又取得了另外一个值,则这个值的引用次数就减1。当这个引用次数变成0时,则说明没有办法再访问这个值了,因而就可以将其所占的内存空间给收回来。这样,垃圾收集器下次再运行时,它就会释放那些引用次数为0的值所占的内存。
l QJS中判断变量类型是否为数组?
A1. 使用instanceof运算符
2. 使用Array.isArray(arr);
3. 使用arr.constructor == Array;

l Qvue 前后端分离项目怎么进行seo优化?
Aspa开发模式的最大问题就是搜索引擎无法爬取页面内容,因为页面是通过http请求服务端接口数据动态渲染的,但是搜索引擎不会等待这个过程,这就导致前后端分离项目的seo优化成为一个问题。对于vue项目来说,一般有两种解决方案:
1. 开启服务端渲染:首先安装 ssr 支持: npm i -D vue-server-renderer;重要的是 vue-server-renderer vue 版本必须一致匹配
优点:可以做到真实数据实时渲染,完全可供SEO小蜘蛛尽情的爬来爬去;完全前后端同构,路由配置共享,不再影响服务器404请求。
缺点:依旧只支持h5 history的路由模式,配置比较麻烦、处理流程比较复杂 (比对预渲染插件,复杂太多);约束较多,不能随心所欲的乱放大招;对服务器会造成较大的压力,既然让浏览器更快的渲染了,那就得以占用服务器的性能来买单了
2. 使用prerender-spa-plugin插件进行预渲染:严格上来说,此种实现方式并非叫做 SSR,而是预渲染。不过效果上是一样的,甚至某种程度上来说可能要比 SSR 更好。相比官方提供的 SSR 繁琐配置,prerender 配置更简单快捷,如无特殊要求只需在webpack 中加一个 plugin 的配置即可。 但是此方式只支持 history方式的路由,不支持hash方式的路由,因为hash路由不会请求服务器资源。
优点:简单、易上手、无需配置即可满足基本的 SEO 要求,因为一般来说一个项目不是所有页面都希望被搜索引擎收录,我们只需要对希望搜索引擎抓取的页面进行预渲染即可。
缺点:只支持history模式,不适合频繁变动的页面,如果这个页面希望做SEO优化。

l Q:你有哪些性能优化的方法?
A:(1) 减少http请求次数:CSS Sprites, JSCSS源码压缩、图片大小控制合适;网页GzipCDN托管,data缓存 ,图片服务器。
2) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数
3) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。
4) 当需要设置的样式很多时设置className而不是直接操作style
5) 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。
6) 避免使用CSS Expressioncss表达式)又称Dynamic properties(动态属性)
7) 图片预加载,将样式表放在顶部,将脚本放在底部  加上时间戳。


作者: 逆风TO    时间: 2018-5-22 17:51
赞赞赞  感谢老师分享
作者: 半个程序员    时间: 2018-7-25 13:51
西安黑马最牛逼。
作者: 1098018910    时间: 2018-7-25 13:58

西安黑马最牛逼。
作者: 同心筑梦1    时间: 2018-7-25 14:08

作者: 小西西哦    时间: 2018-7-25 14:24
666666666666666666666666666
作者: JavaEE风清扬    时间: 2018-7-25 14:24
不错不错加油.............
作者: 致橡树    时间: 2018-7-25 14:26
疫苗事件持续发酵,黑马程序员带你认识就业潜规则
作者: duanshaobo    时间: 2018-7-25 14:32
生活给了你一匹黑马,你却不会骑
作者: hello!!!    时间: 2018-7-25 14:48
感谢分享
作者: 从容微笑    时间: 2018-7-25 14:52
感谢分享,谢谢
作者: 小公举    时间: 2018-7-25 14:56
感谢楼主的分享,祝您工作愉快,身体健康
作者: yy1134787753    时间: 2018-7-25 14:57
感谢分享
作者: ruoquan    时间: 2018-7-25 15:03

作者: wangxue123456    时间: 2018-7-25 15:18
西安黑马最牛逼
作者: 760486198    时间: 2018-7-25 15:18
牛,力哈
作者: little_superman    时间: 2018-7-25 15:34

6666666666666666
作者: superbaby    时间: 2018-7-25 15:42
不错不错加油.............
作者: 专找bug    时间: 2018-7-25 16:01

西安黑马最牛逼。
作者: 兮兮哈哈    时间: 2018-7-25 16:24
6666666666666
作者: 耙丫丫    时间: 2018-7-25 16:37

感谢分享
作者: zhaosongzhi    时间: 2018-7-25 16:53

不错不错加油.............
作者: kdhdjdj    时间: 2018-7-25 17:03

作者: 小伙啊    时间: 2018-7-25 18:04
西安黑马最牛逼。
作者: 举个栗子    时间: 2018-7-25 18:09

作者: xuanxushuai01    时间: 2018-7-25 18:14
asdfasdfasdfasfdsadf
作者: xiaoheizi    时间: 2018-7-25 18:19
6666666666666666666666666666666666666666
作者: zplxwl    时间: 2018-7-25 18:59
非常不错哦,....
作者: 仙人掌Sandy1    时间: 2018-7-25 19:10
生活给了你一匹黑马,你却不会骑
作者: 黑马程序员啊    时间: 2018-7-25 22:14
不错不错加油.............
作者: yujq    时间: 2018-7-25 22:33

作者: json0314    时间: 2018-7-26 00:07
赞赞赞~~~
作者: fujiangbo    时间: 2018-7-26 00:34
不错,加油~~~~~
作者: 疯言峰语    时间: 2018-7-26 08:41
相当不错。
作者: 小黑马王子abc    时间: 2018-7-26 08:56

作者: zhuyanting    时间: 2018-7-26 09:46

作者: 多喝点热水~    时间: 2018-7-26 09:48
                    
作者: ouweina    时间: 2018-7-26 10:56
66666666666666666666666666666厉害了
作者: 18309299426    时间: 2018-7-26 12:27
棒棒的!大家都是无最好的

作者: 凯凯小王子    时间: 2018-7-26 12:27
66666666666
作者: 殷凯老师    时间: 2018-7-26 15:19
感谢分享!!!
作者: 淡写薰衣草的香    时间: 2018-7-26 16:06

作者: huochao    时间: 2018-7-26 16:07
66666666666666666666
作者: mydorling11    时间: 2018-7-26 17:12
梁启超的肾。。。。梁启超的肾。。。。梁启超的肾。。。。
作者: 零度☆黎明    时间: 2018-7-26 17:15
感谢分享....................
作者: #风萧萧#    时间: 2018-7-26 17:23
谢谢楼主,辛苦了...........
作者: #风萧萧#    时间: 2018-7-26 17:31
666666666666666666666
作者: 谢先森    时间: 2018-7-26 18:11
大家加油666
作者: 哦嗨呦    时间: 2018-7-27 09:05
顶!!!!!!!!!!!!
作者: 温柔一刀!喵!    时间: 2018-7-27 09:09
干货干货,辛苦了,谢谢分享!
作者: 疯子小花花    时间: 2018-7-27 09:14

作者: 巴拉拉小魔仙    时间: 2018-7-27 09:43
6666666666666
作者: 就业高冷派    时间: 2018-7-27 09:47
感谢分享
作者: 小丹子    时间: 2018-7-27 09:47
感谢楼主霸气分享


1
作者: 小航子    时间: 2018-7-27 09:52
6666666666666
作者: SunYan    时间: 2018-7-27 09:53

赞赞赞  感谢老师分享
作者: hongping    时间: 2018-7-27 10:53

作者: dajiahao    时间: 2018-7-27 12:13
66666666666666666
作者: 王航    时间: 2018-7-27 12:42

666666666666666
作者: SharkSSB    时间: 2018-7-27 13:16

赞赞赞  感谢老师分享
作者: 就业高冷派    时间: 2018-8-7 17:25
逆风TO 发表于 2018-5-22 17:51
赞赞赞  感谢老师分享

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
半个程序员 发表于 2018-7-25 13:51
西安黑马最牛逼。

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
1098018910 发表于 2018-7-25 13:58
西安黑马最牛逼。

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
同心筑梦1 发表于 2018-7-25 14:08

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
小西西哦 发表于 2018-7-25 14:24
666666666666666666666666666

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
JavaEE风清扬 发表于 2018-7-25 14:24
不错不错加油.............

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
致橡树 发表于 2018-7-25 14:26
疫苗事件持续发酵,黑马程序员带你认识就业潜规则

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
duanshaobo 发表于 2018-7-25 14:32
生活给了你一匹黑马,你却不会骑

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
hello!!! 发表于 2018-7-25 14:48
感谢分享

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
从容微笑 发表于 2018-7-25 14:52
感谢分享,谢谢

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
小公举 发表于 2018-7-25 14:56
感谢楼主的分享,祝您工作愉快,身体健康

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
yy1134787753 发表于 2018-7-25 14:57
感谢分享

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
ruoquan 发表于 2018-7-25 15:03

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
wangxue123456 发表于 2018-7-25 15:18
西安黑马最牛逼

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:25
760486198 发表于 2018-7-25 15:18
牛,力哈

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
little_superman 发表于 2018-7-25 15:34
6666666666666666

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
superbaby 发表于 2018-7-25 15:42
不错不错加油.............

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
专找bug 发表于 2018-7-25 16:01
西安黑马最牛逼。 ...

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
兮兮哈哈 发表于 2018-7-25 16:24
6666666666666

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
耙丫丫 发表于 2018-7-25 16:37
感谢分享

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
zhaosongzhi 发表于 2018-7-25 16:53
不错不错加油.............

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
kdhdjdj 发表于 2018-7-25 17:03

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
小伙啊 发表于 2018-7-25 18:04
西安黑马最牛逼。

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
举个栗子 发表于 2018-7-25 18:09

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
xuanxushuai01 发表于 2018-7-25 18:14
asdfasdfasdfasfdsadf

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
xiaoheizi 发表于 2018-7-25 18:19
6666666666666666666666666666666666666666

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
zplxwl 发表于 2018-7-25 18:59
非常不错哦,....

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
仙人掌Sandy1 发表于 2018-7-25 19:10
生活给了你一匹黑马,你却不会骑

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:26
黑马程序员啊 发表于 2018-7-25 22:14
不错不错加油.............

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
yujq 发表于 2018-7-25 22:33

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
json0314 发表于 2018-7-26 00:07
赞赞赞~~~

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
fujiangbo 发表于 2018-7-26 00:34
不错,加油~~~~~

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
疯言峰语 发表于 2018-7-26 08:41
相当不错。

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
小黑马王子abc 发表于 2018-7-26 08:56

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
zhuyanting 发表于 2018-7-26 09:46

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
多喝点热水~ 发表于 2018-7-26 09:48

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
ouweina 发表于 2018-7-26 10:56
66666666666666666666666666666厉害了

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
18309299426 发表于 2018-7-26 12:27
棒棒的!大家都是无最好的

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
凯凯小王子 发表于 2018-7-26 12:27
66666666666

改变中国IT教育 我们正在行动!
作者: 就业高冷派    时间: 2018-8-7 17:27
殷凯老师 发表于 2018-7-26 15:19
感谢分享!!!

改变中国IT教育 我们正在行动!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2