记一次面试
@(记录)[面试]
上周四从广州跑到深圳面试一个实习,一直关注的一个公司,也是大学以来第二个面试,关于前端的第一个面试,还是很紧张,准备也不是很充分,再次证明基础很不好,实力还不强。。。。
公司在22楼,我跑到2楼问。。。
最后才知道有22楼,哎,读书少见识短。。。
进公司之后是等hr姐姐(说话非常可爱),因为有人已经在面试了,所以等了一会儿,然后就是到办公室里面做笔试,忘记几道题了,有简答(typeof可能的值,模块化是什么,什么是跨域,说出你知道的办法。。。),算法是求素数(我写成求偶数了。。。大脑短路,后来技术面的时候一说我就意识到写少一个循环了,而且又两个办法,直接求素数和晒素数出来),常见的设计模式并实现其中一种,两个模块的引用会发生什么,怎么解决(没仔细思考,技术面的时候提到了代码耦合),关于原型继承和重写函数。。。大概就记得这些笔试题了。面试分为笔试(30min)——技术面——hr面,最后hr姐姐很热心得问了各种问题,然后说和技术官商量后再给我回复(全程2h)。
typeof可能输出的值
1234567typeof null;// objecttypeof undefined;// undefinedtypeof 123;// numbertypeof '123';// stringtypeof true;// booleantypeof function(){};// functiontypeof {};// object跨域
浏览器对于javascript的同源策略的限制,例如a.cn下面的js不能调用b.cn中的js,对象或数据(因为a.cn和b.cn是不同域,所以跨域就出现了,同源策略:请求的url地址,必须与浏览器上的url地址处于同域上,也就是域名,端口,协议相同。。。我的回答是除了通协议域名端口的其他资源都是跨域
办法:
jsonp,iframe,curs,window.domain
详解js跨域问题
跨域资源共享 CORS 详解
浏览器同源政策及其规避方法
XMLHttpRequest Level 2 使用指南求10000以内的素数
123456789101112131415161718//穷举法O(n*n)function prime() {var result = [];for(var i = 2; i <=10000; i++) {var flag = true;var re = Math.floor(Math.sqrt(i));for(var j = 2; j <= re; j++) {if (i % j === 0) {flag = false;}}if (flag) {result.push(i);}}return result;}prime();//10000内的素数有1229个


- 常见设计模式
单例模式,观察者模式,适配器模式,代理模式
实现单例模式,通过getInstance方法返回单例123456789101112//当时只是简单的一个单例,其实有看过《JavaScript设计模式与开发实践》,看来不常用的东西真的会不记得。。。。。function instance() {var item = [];var instance = null;}instance.getInstance = function() {if (!this.instance) {this.instance = new instance();}return this.instance;}
原型继承并重写方法
12345678910111213var item1 = function(){};var item2 = function(){};item1.prototype.fun = function() {console.log('read');};item2.prototype = new item1();item2.prototype.fun = function () {console.log('read again');}var i = new item1();var j = new item2();i.fun();//readj.fun();//read again两个模块的引用会发生什么,怎么解决
循环引用导致模块代码不能正常运行(强耦合)
办法:
JavaScript 模块的循环加载
技术面的时候是两个年轻的帅哥,他们以为我是社招的。。。结果我说我是实习的,他们才看到简历。。。
然后问了很基础的css,bfc,设计模式,项目最喜欢哪个,vuex用没有用到项目里面,父子组件通信,非父子组件通信(原理)(监听,出发,on,emit)这里跪的很惨看到面试官一脸无奈。。。Orz。。。渐变条平铺背景,聊天气泡实现(圆角切成图片,css实现(伪元素中使用border-radius)),Promise的原理好处(异步调用,同步写法),Promise的方法用过几个有哪些(只说了then,all。。。Orz),播放器使用fetch请求数据好处(不用考虑跨域)
HR面是笔试带我进去的姐姐,人很好,聊着聊着就聊开了,未来是否考虑深圳发展,大三的话没有课上吗?职业规划?有考虑做产品经理吗?全栈发展?性格怎么样啊(我说熟悉的话会聊得很好,然后她说和我刚刚笔试的时候简直像是两个人。。。Orz),还聊了很多,问我面试过后去哪,我说去深大找同学什么的,小姐姐也是深大的,,说话好可爱。。。Orz。。还在等结果。。。