~本来想着海航可以呆上10年~结果遇到各种危机,真是还要靠自己,500强什么的名头还是靠不住啊~~准备面试简直就是重新学习,买了《js高级程序设计》重读,但是还是只喜欢电子版~看一些题目后,对js的模式也感兴趣,回头看自己的代码,真是有很多可以改善的地方,这部分有空还是要深入看看~
题目1 this
个人认为这篇博客是讲的比较好的 https://www.cnblogs.com/pssp/p/5216085.html ,不过如果死记硬背我貌似还是不行,理解加上多操作操作印象更深点
题目2 闭包
面试的4家公司都有问到,确实在项目中也有用到,阮一峰大神还是讲的比较好,建议看这一篇
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
题目3 ES6 相关,问这个问题是个好现象也是个趋势,希望后续的浏览器都支持~
不光是关注promise,箭头函数,let那些,其优缺点要了解,另外async wait这种用法,yield等,其实同事有用到,我都没发现项目其实里面都有~面还是有点窄
题目4 一些老的国企喜欢问css3的一些新特性,分辨率等更偏前的问题,如果要去,提前看下比较好,我举几个栗子,不说公司了
A js 常见数据类型
B 768px高度屏幕,一般浏览器第一屏幕是多少
C text-shadow 常见属性(不用绝对不知道~哈哈)
D Jquery事件绑定方法,不少于2种(。。。。一般用框架,谁记得这个,我觉得考js还可以)
E Cookie和Session差别
F Js实现鼠标点击任意标签,弹出alert
G link和@import区别
H Html5新特性,移除了那些元素,新标签兼容性,html5和html的区别
然后这家老国企的领导问了问我,Vue是全双工还是半双工以及是否可以做出动态Tab(点击后Tab标签变换)。。。。我也凌乱了~不太能接受穿着制服上班,以及896(早上8点到晚上9点,周六加班)的模式,虽然拿到了offer,也还是放弃了这家
题目5 严格模式问题
这个问题回答的不是很好,因为一直在严格模式下工作,Js-lint下也规避了一些不正确的写法,所以不太关注,问这个问题更关心的是严格模式下一些错误的处理吧,另外注意啊,在chrome下console里面敲 use strict 是全局不能生效的,啊啊啊啊,我实验了下,然后还很自信的说在严格模式下,调用函数,函数里的this返回的是window(其实是undefine~)其实没生效
题目6 一些智力题
什么蜗牛每天爬3米掉2米,10米爬几天(。。。为什么会掉为什么爬10米要自杀么~)
蜡烛燃烧1小时,怎么半小时结束(用闹钟啊~不过我还是老实的写上两头烧,然后脑海里浮现蜡烛滴的到处都是,以及SM的画面~)
细菌分裂的问题,一个细菌一秒分1分2 ,一个小时分裂完,那么2个细菌多长时间分完(59秒,这是个有趣的问题)
5L和3L水,撑出来4L水(我在想这个问题怎么用程序做出来,想看看算法的乐趣那本我埋藏多年的书了,作者王晓华是我前同事~)
题目7 一些扩展性问题,其实题目给出,就知道肯定要扩展,比如下面,不过我还是很懒的给出了第一个解答,然后百度了(没救了没救了),不过这个题很有意思,又复习了下闭包和argument,加了好多打印看了看数据结构。。。。
Write methodize, a function that converts any binary function to a binary method.
Write demethodize, a function that converts any binary method to a binary function.
e.g. given a binary function add:
function add(i, j) { return i + j; }
Number.prototype.add = methodize(add);
(3).add(4) // 7
demethodize(Number.prototype.add)(5, 6) // 11
var methodize = function (func){
return function(){
return func.apply(this, [Number(this),arguments[0]]);
// I think you really shouldn’t specify this argument as Number here. The argument can be of any type. The add function is only an example here…
// So my suggestion is: return func.apply(null, [this,arguments[0]]); ---面试官给出的答案
};
}
var demethodize = function(func) {
return function(){
return func.apply(arguments[0],[arguments[1]])
}
};
百度的答案,这扩展性以及Array相关函数的用法,不查我还真是不知道,捂脸
baidu.fn.methodize = function (func, attr) {
return function(){
return func.apply(this, [(attr ? this[attr] : this)].concat([].slice.call(arguments)));
};
};
var demethodize = function(fn){
return function(){
var args = [].slice.call(arguments, 1);
return fn.apply(arguments[0], args);
};
};
题目8 如果是外企,会比较关注英文,看看坚持300天的薄荷阅读的成果,发现没有准备说出来简直还是惨不忍睹,好怀念自己刚入职的时候,做topic主持人,简直就是全英文思维,不用转换,不过这是时间问题,有语言环境,老娘肯定很快的~嗯,如果写了自己英文不错,至少准备下自我介绍和项目经验
题目9 HR的一些问题
离职原因,个人发展,薪资,最近的让你印象深刻的工作上的事情,最近最难的一件事情,和领导是否争执,还是可以从中可以套出你解决问题能力,沟通能力,描述的逻辑性等特质的,要提前准备,另外更是一种不能说出来的感觉吧,我也面试过别人,对于我这种不专业的HR,更多的是感觉和基础知识是否牢固
最后,大环境对女生以及年龄,确实有不公和苛刻,有家直接问我,30多的女生是否可以干的动(我又没有瘫痪啊啊~~),还是努力提高自己为上上策,欢迎留言