前端面试经历及总结
2017-04-25 13:05
573 查看
昨天突然收到今天面试的通知...原来还以为简历沉了,于是跟cao和小明弄互联网+去了,前端没怎么复习。
其实问的问题挺基础的,师兄师姐人也不错,就是今天部门行政那边安排有点小失误。面试整个过程发现自己还是对前端学习不够啊,尤其是CSS这方面,之前都交给女生去做了,简直是挖坑给自己跳...
先说几个印象比较深刻的问题:
1. 说说你对单页面应用的理解
老实说这问题确实不太会答,所以直接在百度上引用一段文字:
“单页面应用(SPA)是旨在对Web应用发动革命的软件运动中可信度很高的一种。此类应用有望进行更加模块化的开发,令应用更加容易地适配与多个设备,并拥有更好的应用生命周期管理—这些几乎是软件架构师希望的全部。单页面应用诞生于拥有更多动态页面内容的Web 2.0革命。旧的超链接页面浏览模型给用户带来了不和谐的体验,而Web 2.0原则允许数据驱动时间在一个页面内创建,并让页面内容在需要的时候更新。”
首先亮点是容易适配,再一个是页面的动态刷新(感觉有点Ajax的味道),后来面试结束时我也问了师兄单页面应用和微信小程序的区别,感觉二者功能相仿,但是小程序API略多。师姐还补充说单页面应用会产生较大的页面,会影响加载速度,我也针对这一点说了加载能性优化,但感觉现在的手机更迭速度太快,基本上性能这方面需要操心的应该还不算多。
2. js实现居中的思路
面试的时候紧张得毫无思路...后来想了一想,大概是:
①获取浏览器的宽和高;
②获取窗口的宽和高;
③可以用绝对定位,left和top直接赋值为(浏览器宽/高 - 窗口宽/高)/2;
④如果想要适应窗口变化的话可以封装成一个函数,window.onresize时调用。
面试的时候往复杂的去想了...竟然还说了访问CSS属性...
3. 你怎么用JS封装一个Jquery插件
讲真,这个真的不会...百度了一下,感觉有点像自执行函数:
$符号依旧表示jQuery,写成这样一个自执行函数能够避免$被其他库覆写。
这个是真没学过,但是非常非常入门级的知识,怪自己基础薄弱。
师兄还让我介绍一下各种框架的概念,就答了AngularJS的双向绑定,没有答到模块化,指令系统和MVC这些...
后来又扯了ReactJS,竟然忘记了组件化和虚拟DOM这个黑科技...还有BootStrap支持响应式布局,兼容性强等等...没用过的东西还是老实说自己不会,技术又不是吹出来的。
中间还被师姐“戏耍”了一波:通过inline-block使得多个内部含有换行的div标签同行显示,会发现相邻div之间有一个空白,怎么去除?
当时我本来想说父元素设置font-size:0, 但是后来师姐说没办法去掉,因为换行本身是占位的。我才发现自己想到多元素水平居中去了 - - 这个问题也是之前问过腿子的:
布局这方面还是菜...
最后总结一下,整个面试过程还是比较愉快,毕竟都是年轻的师兄师姐,只是自己前端基础没有怎么好好复习。面试的移动事业群有移动端的前端开发,包括微信开发,这是我比较感兴趣的,但是苦于没有项目,所以还是迫切希望能够找到一个相关的实习来培养这方面的技能,自学太容易走弯路了。
好不容易找到一个感兴趣的方向,但是因为自己基础不扎实可能又要擦肩而过了...继续加油吧 (话说今天写了好多字,我都好几个月没握过笔了...被实力吐槽)QvQ
其实问的问题挺基础的,师兄师姐人也不错,就是今天部门行政那边安排有点小失误。面试整个过程发现自己还是对前端学习不够啊,尤其是CSS这方面,之前都交给女生去做了,简直是挖坑给自己跳...
先说几个印象比较深刻的问题:
1. 说说你对单页面应用的理解
老实说这问题确实不太会答,所以直接在百度上引用一段文字:
“单页面应用(SPA)是旨在对Web应用发动革命的软件运动中可信度很高的一种。此类应用有望进行更加模块化的开发,令应用更加容易地适配与多个设备,并拥有更好的应用生命周期管理—这些几乎是软件架构师希望的全部。单页面应用诞生于拥有更多动态页面内容的Web 2.0革命。旧的超链接页面浏览模型给用户带来了不和谐的体验,而Web 2.0原则允许数据驱动时间在一个页面内创建,并让页面内容在需要的时候更新。”
首先亮点是容易适配,再一个是页面的动态刷新(感觉有点Ajax的味道),后来面试结束时我也问了师兄单页面应用和微信小程序的区别,感觉二者功能相仿,但是小程序API略多。师姐还补充说单页面应用会产生较大的页面,会影响加载速度,我也针对这一点说了加载能性优化,但感觉现在的手机更迭速度太快,基本上性能这方面需要操心的应该还不算多。
2. js实现居中的思路
面试的时候紧张得毫无思路...后来想了一想,大概是:
①获取浏览器的宽和高;
②获取窗口的宽和高;
③可以用绝对定位,left和top直接赋值为(浏览器宽/高 - 窗口宽/高)/2;
④如果想要适应窗口变化的话可以封装成一个函数,window.onresize时调用。
面试的时候往复杂的去想了...竟然还说了访问CSS属性...
3. 你怎么用JS封装一个Jquery插件
讲真,这个真的不会...百度了一下,感觉有点像自执行函数:
(function ($) { $.fn.typewriter = function () { var $ele = $(this), str = $ele.html(), progress = 0; $ele.html(''); var timer = setInterval(function () { var current = str.substr(progress, 1); if (current == '<') { progress = str.indexOf('>', progress) + 1; } else { progress++; } $ele.html(str.substring(0, progress) + (progress & 1 ? '_' : '')); if (progress >= str.length) { clearInterval(timer); } }, 75); }; })(jQuery);能比较直观看出的是在JS代码外部套了一层
(function ($) { $.fn.function_name(){ //JS业务代码 }; })(jQuery)
$符号依旧表示jQuery,写成这样一个自执行函数能够避免$被其他库覆写。
这个是真没学过,但是非常非常入门级的知识,怪自己基础薄弱。
师兄还让我介绍一下各种框架的概念,就答了AngularJS的双向绑定,没有答到模块化,指令系统和MVC这些...
后来又扯了ReactJS,竟然忘记了组件化和虚拟DOM这个黑科技...还有BootStrap支持响应式布局,兼容性强等等...没用过的东西还是老实说自己不会,技术又不是吹出来的。
中间还被师姐“戏耍”了一波:通过inline-block使得多个内部含有换行的div标签同行显示,会发现相邻div之间有一个空白,怎么去除?
当时我本来想说父元素设置font-size:0, 但是后来师姐说没办法去掉,因为换行本身是占位的。我才发现自己想到多元素水平居中去了 - - 这个问题也是之前问过腿子的:
布局这方面还是菜...
最后总结一下,整个面试过程还是比较愉快,毕竟都是年轻的师兄师姐,只是自己前端基础没有怎么好好复习。面试的移动事业群有移动端的前端开发,包括微信开发,这是我比较感兴趣的,但是苦于没有项目,所以还是迫切希望能够找到一个相关的实习来培养这方面的技能,自学太容易走弯路了。
好不容易找到一个感兴趣的方向,但是因为自己基础不扎实可能又要擦肩而过了...继续加油吧 (话说今天写了好多字,我都好几个月没握过笔了...被实力吐槽)QvQ
相关文章推荐
- 谈谈阿里实习生招聘面试经历及经验总结(回忆版)--前端开发
- 面试总结三---2015百度校园招聘长沙站前端工程师笔试面试经历
- 关于第一天的前端面试经历总结.... ——当天被告知未通过
- 近期面试经历总结及公司评价(下)
- 前端性能优化 - 总结(面试)
- 前端面试基础总结
- 前端面试经验总结
- 只看楼主 回复 分享 收藏 [面试经历] 360搜索面试总结
- 前端面试校招问题准备(总结)
- 最全前端面试问题及答案总结[目录]
- 前端实习面试总结(4.14大连腾讯)
- Java web 前端面试知识点总结
- 阿里巴巴前端三次面试的亲身经历(转)
- 2017年三月初大厂前端面试总结
- 面试经历和总结
- 春节后面试别人的经历总结之一,好岗位分享给还在找工作中的软件开发爱好者们
- 近期Android面试经历总结
- 前端开发面试总结其他部分
- 面试经历题目总结
- 淘宝web前端开发岗面试经历及感悟