歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 2014阿裡巴巴WEB前端實習生在線筆試題

2014阿裡巴巴WEB前端實習生在線筆試題

日期:2017/3/1 9:46:20   编辑:Linux編程

2014年3月31日晚,我懷著略微忐忑的心情(第一次在線筆試^_^!!)進行了筆試,阿裡巴巴的筆試題共有10道,幾乎包含了Web前端開發的各個方面,有程序題、有敘述題,時間非常緊張,只完成了大概6道題。下面把遇到的題目跟大家分享一下!

相關閱讀:2014 阿裡巴巴安全工程師實習生招聘筆試總結 http://www.linuxidc.com/Linux/2014-04/99916.htm

1、

<!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()。

Copyright © Linux教程網 All Rights Reserved