先说下百度:百度的笔试题目是相对较简单的,都是些基本知识例如html里面的空元素,块级元素,行内元素,第二题是link和@import引入css的区别,第三个是一个函数输出的题,也很简单,往后的几个是提升网站性能,还有一个域名劫持,最后一个是一个编程题让把一个数按照1000,000,000这样的状态输出,总之都不是很难;百度被称为是炮灰的坟墓,进入面试的人很多,但是通过一面的很少,现在说一下百度的面试:一个年轻的前端工作者在他入住的房间面试的我(一台破的不能再破的thinkpad,还不停的写一个文档,可能是对我的评价吧);面试官都会让你别紧张,然后就开始看你原先笔试的试卷(我清楚的看到自己的试卷的一个个加分项)问我display的各种值还有其中的区别,然后就是js题:翻转字符串,数组去重,还有一个忘了,总之不是很难,接下来就问css的一些问题,有position,还让我写一段html,最后还有一个宽度自适应的问题(我用js写了出来,但他要求是css),最后的十分钟让我问他一些问题:我说了原型链,还有面向对象程序设计里面继承的问题,尤其是toLocalstring,然后果断被鄙视了,(粗鲁的)说你们根本不懂什么事面向对象程序设计;
在说下阿里:笔试阶段果断跪了,虽然自认为答得还不错,题目什么的真心不记得了,但我参加过阿里的实习生招聘(那时候还是可以霸面的),问得确实很简单,比如定义对象,数组的各种方式,处理cookie,还有简单的一些css,但我还是跪了,可能是最后他觉得hold不住我,哈哈,我说的他有很多不懂的,还不停的百度我说的对不对;
总之:如果你走的是笔试加面试的渠道,一定要做好笔试题,不然连面试资格都没有,去参加霸面好像自己是个另类似得。受人指指点点,出面很简单,基础知识把握好就行,现在贴一些问题的代码,
1:怎么将一个字符串按照长度分成几个字符串:
<script>
var n=3;//假设3个字符为一串分开
var str = "s1e2t3e5t4w8g6f";
var new_str = "";
for (var i = 0; i < str.length; i++) {
new_str += str.substr(i, 1);
if ((i+1) % n == 0)
new_str += ",";
}
if (str.length % n == 0)
new_str=new_str.substr(0, new_str.length - 1);
alert(new_str);
</script>
2:JavaScript探秘:强大的原型和原型链:http://www.nowamagic.net/librarys/veda/detail/1648;
3:JS延迟加载(setTimeout):
(1):
;
(2):在代码最后的位置加载;
4:数组去重:
Array.prototype.unique3 = function() { var n = [this[0]]; //结果数组 for(var i = 1; i < this.length; i++) //从第二项开始遍历 { //如果当前数组的第i项在当前数组中第一次出现的位置不是i, //那么表示第i项是重复的,忽略掉。否则存入结果数组 if (this.indexOf(this[i]) == i) n.push(this[i]); } return n; }
5:还有一个利用原生js实现html分页器的效果,这个我还没研究到,不过网上看到一个资源挺不错的:http://uucweb.diandian.com/post/2010-12-16/16142455;
最后再提醒大家面试之前一定要做好会问到git的问题,即使你没用过,也最好注册一个账号,学学git的基本命令,祝未面试的学弟学妹们面试顺利;