回顾自己三次失败的面试经历

前言

时间的齿轮已经来到了2017年的11月份,距离2018年仅仅还剩下不到两个月的时间。站在这个时间点上,我对自己之前三次失败的面试经历做了一次深度回顾。

可能很多小伙伴会问,为什么要去回顾失败的面试经历呢?

因为在互联网+时代,成功的案例可以借鉴,但是不可复制;失败的案例可以引以为戒,但是不可重蹈覆辙。你按照成功者的步骤一步一步走,最后不一定会成功;但如果你按照失败者的步骤一步一步走,结局注定会失败。

我在这里写出当年我失败的经历,算是对自己做一个总结,也是为了提醒后来者,一入前端深似海,坑多坑少自己踩,避免走上闰土哥的老路。

所以,接下来,正文从这开始~

说起第一次失败的面试经历,是在我13年刚刚毕业的时候。那时我正在海投简历,认真找工作。当初应聘的是一家规模不算大的小公司,进去之后,面试官看都没看我一眼,给我丢下一句话就忙他的去了。

他原话的意思是说,让我用jQuery写个轮播图效果,给我提供的条件是,一台没有联网的笔记本电脑,和本地下载好的jQuery的API文档。

当时刚从培训班学出来的我,html和css基础还算扎实,但对jquery的api熟练程度还是有所欠缺的。因为之前在培训班学习切静态页面的时候,碰到轮播图效果一般都会用网上别人写好的插件。但我还是硬着头皮去尝试着写了写。

过了几分钟后,我静态页面的布局写出来了,但是jquery的轮播效果还是没整出来。当时的我,知道通过的胜算几乎为零,但还是尽力争取了一下,跟面试官说,我U盘里有我自己的作品,你要不要看一下。面试官此时还是目不转睛的盯着他的笔记本屏幕,边看边说,你自己带来的作品,是不是自己写的也不一定,面试题最能说明问题等,听他巴拉巴拉说了一堆。

结果可想而知,我被面试官刷下来了。

回去之后,我便开始研究,如何用jquery去实现轮播图的效果。在这里,我简单地说下,当时很多购物网站(比如说淘宝京东)都会添加商品的图片轮播效果。轮播图作为一个公司首页最重要的推广方式,由于其相对于静态页面的动态滚动,使其更容易吸引客户的眼球。

现在想想,轮播图的原理其实十分简单。它是利用人眼的视觉差,通过移动每张图片的left值,产生一种动态滚动的效果。废话不多讲,直接上代码:


记住,写任何JQ交互效果,都是先构建好布局,然后才开始JQ处理,DOM操作。

在这里,节点的构建其实没什么好讲的,CSS样式也很简单,这里就不贴出代码了。简单说下,每个li下图片的显示与隐藏,都是通过它的display属性来设定。左右切换则是采用图片li浮动,父层元素ul的宽度为总图片宽度(也就是li 的宽度乘以li的个数),ui相对外层父元素绝对定位,并设定为超出的部分要隐藏。然后当想切换到某个index 的图片时,则采用修改ul的left值来实现。比如显示第一张图片初始定位left值为0,要想显示第二张图则将left值修改为-400px即可。

页面已经构建完毕,接下来就是JQ的操作。我们直接贴出代码:



在这段代码中,我们先是用变量存储了当前索引值和图片总数,然后定义了一个定时器seInterval函数,里面的逻辑是,如果当前index值小于图片总数减一,就让它自增++;如果大于的话,就让当前index值初始化为0。

然后为左右箭头添加了hover和click事件,在这里调用了两个函数,一个是重置定时器函数autoChangeAgain(),一个是图片切换处理函数changeTo()。当点击左右箭头或者是自动轮播的时候,我们都会调用animate()函数,通过修改left 值产生动态滚动的效果。最后就是给li控制按钮(小圆点或者是小长条)绑定事件处理函数,当鼠标移入清除定时器,反之则启动定时器。

大概的原理便是如此,所以说,轮播图最简单也最困难,图要张张轮着播,还要丝滑无缝隙。自此,我才明白了,面试官为何会让应聘者二话不说,先来写一个轮播图效果,因为麻雀虽小,五脏俱全,这里面涉及到了很多知识点,如果你能写出来,证明你对JQ的API的熟练程度还是可以的,而且也有一定的逻辑性。起码从侧面反映出,你是一个合格的初级前端攻城狮。

我的第二段失败的面试经历,说起来也挺巧,还是跟JS轮播图有关。不过这次换成了用原生JavaScript来编写。照样,我还是因为没有写出来而被pass掉了。后来想想,其实,逻辑和JQ是一样的,只不过是换成了JS。还是先直接贴出代码:






看看这JS的代码量,还是有些冗杂,不过思路还是模仿JQ的实现思路。换汤不换药,代码里备注已经很详细了,这里就不一一阐述了。

很显然,这次面试的难度已经提升了一个台阶,考察的是面试者对原生JS的熟练程度,以及逻辑性。相对的,这次的面试岗位的薪水也是相对要高点。如果这个能写出来的话,我觉得你的JS正在进阶,而你也正在进阶为一个专业的JSer。此时,距离中级前端攻城狮就不远了。

俗话说,无巧不成书。关于我第三次面试失败的经历,依然是与JS轮播图有关。不过这次面试,却给我留下了一个比较深刻的印象。


这是我去年的一次面试,给我发面试邀请的公司是思特奇(这也算是在电信行业名声在外的互联网大厂了,如果有不了解的可以上百度百科)。思特奇在太原高新区的办公地点可以说是很高大上,整整一层都是技术开发人员,一排排A面亮着银色苹果logo的MacBook Pro甚是晃眼,给人一种浓厚的程序猿文化。

这次的机试题,还是那个绕不过去的JS轮播图的实现,不过这次却是让我用面向对象的思想去实现,据说这是技术总监临时的想法,这也是我后来才知晓的。当然了,我这次面试的薪水又拔高了一个台阶。

基于面向对象的轮播图,看似比面向过程要繁琐了很多,而且对于一个轮播图来说,也没必要。但面试官想要考察的是应聘者对于面向对象编程的熟练程度,看看你的前端编程能力是否达到了他们公司业务开发的水平。

很显然,这次的机试题打了我个措手不及。

正如后来我拜读的JS红皮书里第六章写的,面向对象的程序设计,首先要创建一个Object实例,定义一个Slider构造器。然后在Slider的prototype原型上定义各种方法,这样做的好处是可以很方便的实现轮播图的效果,减少代码的冗余,同时避免了变量命名的冲突问题。

现在需要我们先来捋一下思路,分析一下构造器里需要的属性:

初始化所有的样式操作

显示在对应的容器操作

鼠标进入事件

自动播放事件

在这些基本的事件中,我们需要注意调用的顺序,如创建在初始化之前,我们可以把一些通用的属性放到原型链中来编写,这样的好处是减少了变量空间的占用和多次访问属性的结果。

过程中遇到的问题:

1.其中的this指代问题:这里的解决办法是在鼠标进入之前的函数中缓存一下var that = this。 这样就可以访问属性了。

2.图片轮播判断:向左点击的时候, 如果当前的索引值大于零,让它执行自减操作,如果不大于0 就让他等于对应图片长度-1;

向右点击的时候,当前的索引值小于它对应的轮播图片的长度-1,执行自加1操作,超过图片轮播长度时,索引值等于0。

这次基于对象的代码就不给大家贴出来了,留给你们做个实践。当然,这次思特奇面试之旅,最后也是以失败告终,这也是我离进大厂最近的一次。

后记

分享了这么多面试经历,其实,我最想跟大家分享的是,无论你想走多远,你都需要不断的走下去。前端最精华的部分便是原生的JS,也只有JS是前端开发中算得上编程的一门语言,这也是我们前端工程师技术分层的重要指标,也能体现出你的代码能力,开发水平。所以,不是说你会多少个gulp、grunt、webpack这样的构建打包工具,会多少个angular、react、vue等框架的脚手架搭建,会多少个sass less stylus等这样的css预处理器,会多少个npm bower cnpm等这样的包管理器你就牛逼,永远记住,JavaScript才是我们前端工程师的核心竞争力!

希望这片文章的推送,能直抵你的内心。

声明

欢迎转载,请注明出处和作者,同时保留声明。

作者:闰土少年

出处:http://www.cnblogs.com/running-runtu/

本博客的文章如无特殊说明,均为原创,转载请注明出处。如未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

想了解我的更多动态?欢迎关注我的微信公众号:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容