唯品会&环球市场 WEB前端实习生面试

作者分享了在唯品会和环球市场进行的前端技术面试经历,详细描述了面试过程中的问题解答及自我介绍,涉及作用域、闭包、原型链、多线程编程、沙漏概念、ajax异步加载、deferred对象等多个技术点。通过对比两家公司的面试风格,展示了作者对于前端基础知识的理解和应用。

今天早上去了芳村,面唯品会实习生,下午在中大假草的实习招聘会面了环球市场。

先说说唯品会

9点50出发,11点到的唯品会总部,地铁一直站着,累到不行,真的太缺乏锻炼了哭捂面。唯品会的环境很好!周围都是绿化,装修房屋设计都很漂亮,高大上!hr收了我的简历后,等到11点半(本来就约的11点半是自己来早了),一个很年轻的很帅气的面试官,带我去到一个小玻璃房,四周都是透明的采光很好,关门坐下,飞进一只蜜蜂,嗡嗡响,我又去把门打开了。面试官一直在看我的简历,他说感觉我简历上前端的项目不多哭然后让我自我介绍,就开始问我问题了。

  • 讲一下作用域:卡了,不知道该怎么讲,然后就讲了一下闭包,循环绑定点击事件时候的问题,让函数立即执行把i传进再返回一个新的函数。应该再讲一下作用域链和原理
  • 你知道哪些兼容到IE6的方法:1、css hack,利用不同浏览器可以识别不同的符号,比如 IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_",还有!important的识别,然后按顺序去覆盖,让不同浏览器有不同的显示效果。(地铁上刚看的,各种浏览器hack特征太难记!列为前端面试前临时抱佛脚必背内容!)2、初始化标签的padding、magin等。3、html5+css3可以用htmlshiv.js兼容到IE6(然后我就不知道了,百度百科说还有css选择器hack,html头部饮用hack)
  • 有没有用过跨域:了解过没用过,知道有jsonp可以解决跨域,主域名相同但子域名不同也算跨域
  • 你个人偏向html+css多一点还是js:js,逻辑性比较强,觉得比htmlcss有趣(面试官说:你这么说会被外面那些写页面的人群殴哦)
  • 有没有用过apply,call:讲了下传参的区别,改变this环境,比如addEventlistener或者直接绑定事件的时候this会变成被绑定的dom元素,要改变this就可以用call,apply
  • 原型链?:又没答好的一个问题,一时紧张,只说了原型链可以在构造类的时候把共享属性放在prototype里面,节省内存,没说到继承关系时候的原型,掌握的不够深才会不记得大哭
  • a有个fun方法,里面有个this,执行a.fun()的时候this是?:a
  • 那b=a.fun,调用b()的时候this是?:b
  • 你都怎么学习前端,你这些知识在哪里学到的呢?:微博,微信关注了一些,平时搜到一些前端的文章就用印象笔记剪下来,有空的时候就看。(居然忘记说我看了书!还有和宏妞同学请教快哭了
  • 说下不同环境里面this都指什么?:在js文件里面直接调用的函数this都是window
  • 那functio(){ function() { function() { }} }直接在window环境下调用最外层的function的时候,最内层function的this是?:omg我卡壳了。。应该是window的,我想了好久,然后他问我"怎么要想那么久,你是在用眼镜上网查资料吗?"(面试官你好幽默>_<)我说"我写代码的时候还没试过这种情况,书看的是javascipt高级程序设计,我在回想里面讲的原理。"他在本子上记下我看了的书,然后和我说"高级程序设计里面讲的作用域我也没看懂。"
  • 你xx项目填表单的时候有没用到前端认证?:没有,当时因为时间比较赶,觉得前端认证比较容易被跳过,后端认证更靠谱,所以只做了后端认证,但是为了交互更友好的话还是要做前端认证比较好。
  • 那如果一个表单,让用户输入电话号码,那要怎么判断呢?:这里也没答好,应该说具体一点的,就只说了判断数字是不是11位,是不是全数字,我说用正则判断是不是全数字,他说这么简单要用到正则么?我就说好像有函数可以判断的,但是具体什么函数不记得了,我这个逗逼。。
  • 你在IBM俱乐部组织工作的时候有没有遇到你觉得处事风格你很看不惯的人?不要不好意思,大胆讲:我想了想还是摇摇头说没有。
  • 你是来找工作还是实习呢?:悲剧开始了,我“找实习”。“什么时间呢?” “7-9月,还不想找工作,我想去深圳多一点,因为家人都在深圳”。面试官听了说“哦你还在选择我们啊!”我连忙说“不是不是”。
  • 然后面试官说“好,你有什么问题么?”  “你们公司一共有多少个程序员啊?”  “他说他工作的那栋楼有500+,还有另一栋楼,具体不知道,最少有100多”。还和我说了一下他们部门分工,分了很多个线。
  • 那是不是你面试我我如果能进来就是去你的部门呢?面试官说“你是不是很怕来我这里不想来啊?才面试一下你就受够我了?”  “不是不是,只是我想知道我可能会去到哪个部门。”  他说“实习的话就不一定了,唯品会还有管培生什么的,具体看怎么安排了。”
  • 然后我说我没问题了,面试官说好,起身就出去了,我拿起包也想走,他说,你不用急着走。我说:还要面?!他说"难道你不想面了?"我说"不是不是,我以为结束了。"
  • 然后hr突然进来又问我"你打算7-9月实习,然后想去深圳发展?"我一时没反应过来,脑残的说了声,嗯。。。然后hr就请我走了


再说说环球市场
从唯品会回来吃了个饭就去了假草的实习招聘会,看到环球市场招前端,就去积累面试经验。排队的时候有点太阳,又站了一早上的地铁,我此时快晕了,把包包给小杰让他帮我拿一下,自己蹲着排队恢复元气。过了会儿太阳收回去了,就舒服多了。
第一个面我的面试官,不是前端,问的问题好奇葩哦!主要是我介绍自己的项目,但是很难讲细节,不知道他想听什么,都是很笼统的说。
然后他问了我几个问题
  • 你听过“沙漏”吗?我摇摇头,“是什么,没听过啊?”
  • 你前端怎么会没听过沙漏?我想了又想,说“我接触js,听到的多是闭包,作用域,原型链,真的没听过沙漏哦“面试官也没有给我解释是什么
  • js是单线程还是多线程?”好像是单线程吧?“ 好非主流的问题吖!!面试官还是没告诉我答案,谷歌证明javascript是有多线程编程的!不过是伪多线程
  • 那有没有办法实现多线程编程呢?(面试官你是java工程师吧?还是系统工程师?妈妈咪吖T_T我真的不知道哇,然后我就瞎扯,我要把握主动权吖)浏览器加载js的时候是会阻塞的,所以要再html底部引入js文件才好。
  • 那有没有办法不阻塞呢?(面试官你好给力哦,给我带过来了,忘记多线程编程吧~但是为什么问题还是这么奇葩,浏览器要阻塞我有什么办法!但是机智如我怎么会如此回答)用ajax异步加载js文件,到想执行的时候再执行

然后这个面试官把我丢给另一个面试官,进行二面
  • “女生面前端啊?你还有个人主页?” “嗯,我用家里的电脑和电信宽带搭的。” “可以不错不错”
  • “我问你一个问题哦,不是性别歧视,不要介意,你一个女生为什么要做前端呢?因为实在是太少女生做前端了”  我好尴尬的笑了笑,不知道怎么回答,就说了下自己做的项目,觉得做前端很有趣。
  • “你简历说你用过jquery库,那你还有没有用过其他库呢?” ”没,因为一开始学的时候用的jquery,用着用着发现自己看不懂原生的javascript了,我觉得这样不好很多代码都看不懂,于是就开始一直用原生的写一些小项目。大型项目要快速开发还是要用库比较好。“
  • ”如果百度腾讯招你,你去不去呢?“(我要说假话!不能像上午那么诚实了) ”看情况吧,主要是觉得自己实力还不够,因该是没机会的。“
  • ”那你觉得你自己哪里不足呢?“ ”项目经验不够多,看书学习的时候发现自己不懂得越来越多“
  • ”经验主要是靠积累的,没关系,最怕是不懂得不知道自己不懂,了解了越多接触的越多就会发现自己不懂得越多。“ “那不知道我是个女生算不算是劣势呢?呵呵”
  • “应该不算,也许会是优势。” “是这样的吗?“
  • ”那我再问你两个js基础的问题吧,第一个,你说一下js的类吧“ ”js是没有类这个概念的,具体实现中可以用一些特殊的方法实现,用一个函数作为原型,把实例私有的属性放在构造函数中用this.属性初始化,实例共有的属性方法就放在prototype中,节省内存,不用每次new实例都开辟新的内存给共有的属性方法。“
  • ”你用过ajax,有时候一些不停的异步,不断的回调的方法,会导致代码可读性很差,那你有没有什么方法解决呢?” 我想了下,没接触过,就说”没用过,不知道“
  • ”那你知不知道deffered呢?“ “没听过,是什么呢?”
  • “就是用来解决不停的回调的问题” “你能不能写一下是什么,我会去学习一下”然后面试官就写给我看。http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
  • “你什么时间能来实习呢?”  “7-9月” “那我们到时候再联系你吧”

希望前端大牛们多多指导,有回答错误、不好的地方求指证~



评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值