首页 / 操作系统 / Linux / 2014阿里巴巴WEB前端实习生在线笔试题
2014年3月31日晚,我怀着略微忐忑的心情(第一次在线笔试^_^!!)进行了笔试,阿里巴巴的笔试题共有10道,几乎包含了Web前端开发的各个方面,有程序题、有叙述题,时间非常紧张,只完成了大概6道题。下面把遇到的题目跟大家分享一下!相关阅读:2014 阿里巴巴安全工程师实习生招聘笔试总结 http://www.linuxidc.com/Linux/2014-04/99916.htm1、<!doctype html>
<html>
<head>
<style type="text/css">
div:not(.outer) p { color: purple; }
div.outer p { color: orange; }
</style>
</head> <body>
<div class="outer">
<p>
我是 outer 里面的字
</p>
<div class="inner">
<p>
我是 inner 里面的字
</p>
</div>
</div>
</body>
</html>3、要求实现一个多行文本输入框,固定宽度。可根据用户输入的内容多少进行高度自适应变化。如,用户输入了1行文字,则输入框显示为1行,而有2行文字,就显示2行。如微博的评论回复。4、编写一个JavasSript函数,给定一个DOM节点node和一个正整数n,返回node的所有第n代后代节点(直接子节点为第1代)function getDescendants(node, n) {
// return an Array
}5、有2个int型已经去重的数组a和b,都是已经从小到大排序好的。要求遍历b数组的数字,如果这个数字出现在a中,就将其从a删去;反之将其插入到a的适当位置,使a保持排序状态。6、请描述一下从用户输入网址开始,到网页最后呈现出来的全过程,越详细越好,包括各种事件等。7、8、请评价以下代码并给出改进意见。if (window.addEventListener) {?
var addListener = function (el, type, listener, useCapture) {?
el.addEventListener(type, listener, useCapture);
};
} else if (document.all) {
addListener = function (el, type, listener) {
el.attachEvent("on" + type,
function () {
listener.apply(el);
});
};
}9、你最近看的前端相关技术书是什么?常关注的博客是哪些?你觉着哪个网站的交互做的好,为什么?
10、阅读如下代码:var dog = function () {
return "汪";
};
var cat = function () {
return "喵";
};(function () {
if (cat() === "喵喵") {
dog = function () {
return "汪汪";
}
} function cat() {
return "喵喵";
}
})();for (var i = 0; i < 10; i++) {
setTimeout(function () {
for (var j = 1; j <= i; j++) {
console.log(dog());
}
},
1000 * i);
}问:1、为什么最终小狗叫了200声汪?请详细说明为什么。2、修改代码setTimeout部分代码,实现每隔1秒调用i(从1到10递增)次dog()。