歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

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