前端面试经历及总结

昨天突然收到今天面试的通知...原来还以为简历沉了,于是跟cao和小明弄互联网+去了,前端没怎么复习。

其实问的问题挺基础的,师兄师姐人也不错,就是今天部门行政那边安排有点小失误。面试整个过程发现自己还是对前端学习不够啊,尤其是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





  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值