
昨天在微博看到阿里巴巴校園招聘發了一條微博:淘寶UED前端智勇大闖關”第三季來啦,今晚臨時做了一下,倒也挺有意思,涉及挺多知識點,也挺有趣,有興趣的童鞋可以去試一試。這篇文章,來說一說這次闖關涉及的一些知識點,也當作是分享吧。
第一關.密碼解鎖
做這種前端相關的題目,chrome或者firefox這種帶開發者工具調試臺的瀏覽器是必須的,看源碼也是基本技能。第一關直接注釋在源碼里了,console執行幾次命令,右側就會隨機出來三個數字,然后3!=最多6次試一試,就通關了。
第二關:棱鏡(難道在黑美帝么)

這關簡單,考察css3的rotae屬性值,修改一下兩個鏡子的 left,top 和 -webkit-transform 就好。
第三關:Canvas二維碼

展示一堆數字,做這題的時候表示的確是不會,第一次做的時候,就在這里卡住了直接time up game over。
第四關:看圖猜東西

給你展示五張logo或者軟件截圖,有sublime,github,npm,ubuntu balabala平時前端開發涉及得到的軟件和網站。
#######第五關:猜房子

我猜出了過程,卻沒寫出代碼,555,提示用jquery,這到底思路倒是正確了,通過 $(‘#id’).html() 或者 .txt() 抓去#next-room里的數字,然后獲得當前頁面的url,修改最后的那個數字。第一次做這題的時候,腦袋短路,沒注意到url,view source看了好久每個著落,后來console提示注意url,結果哥還是沒看到那room號。思路是對的,查了下jquery的文檔,知道了get current page url的幾個函數,然后用ajax抓去新界面中的新數字,一直到最后的房間出來為止。
這道題的答案可以參考《淘寶ued – 前端智勇大闖關(第三季)答案》,小提示一下,setTimeOut那個間隔時間沒必要設置3秒那么長,直接100毫秒就好了。
做完第五關后,console里提示出下一關的url,我第二次做的時候,提示的url里面是這樣的:
的/quiz3/i入口。ndex.php干吧爹!?t=MDdmN好吧,DMyYjhHd懶得DVSd25Wd打字了0VHQmxjU還是FVRRUZDa告訴下一關的地址是ued.campus.alibaba.com/quiz3/i入口。ndex.php干吧爹!?t=MDdmN好吧,DMyYjhHd懶得DVSd25Wd打字了0VHQmxjU還是FVRRUZDa告訴
一堆漢字混在url中,當時想著用正則提取出漢字,結果處理的時候,卻提示錯誤,話說如果遇到這種情況,你會怎么解決呢?后來再做的時候,就直接給出url了。
下面是JQUERY獲取當前頁面的URL信息的一些函數(摘自《JQUERY獲取當前頁面的URL信息》)
window.location.pathname
例:http://localhost:8086/topic/index?topicId=361
alert(window.location.pathname); 則輸出:/topic/index
設置或獲取整個 URL 為字符串。
window.location.href
例:http://localhost:8086/topic/index?topicId=361
alert(window.location.href); 則輸出:http://localhost:8086/topic/index?topicId=361
設置或獲取與 URL 關聯的端口號碼。
window.location.port
例:http://localhost:8086/topic/index?topicId=361
alert(window.location.port); 則輸出:8086
設置或獲取 URL 的協議部分。
window.location.protocol
例:http://localhost:8086/topic/index?topicId=361
alert(window.location.protocol); 則輸出:http:
設置或獲取 href 屬性中在井號“#”后面的分段。
window.location.hash
設置或獲取 location 或 URL 的 hostname 和 port 號碼。
window.location.host
例:http://localhost:8086/topic/index?topicId=361
alert(window.location.host); 則輸出:http:localhost:8086
設置或獲取 href 屬性中跟在問號后面的部分。
window.location.search
例:http://localhost:8086/topic/index?topicId=361
alert(window.location.search); 則輸出:?topicId=361
第六關:沒出來
難道因為第五關的答案是我copy直接運行的,當我作弊了,第六關出來還是密碼鎖 ~ ~ 。
順便再提示一下,這次闖關倒計時是30分鐘,其實,可以自己在console里修改一下時間的。
var _GNow = 1800; //把這個1800改成一個你喜歡的很大很大的數字~ ~就好了
。
總的來說,這次闖關主要考察的還是偏js吧,對于我這種js渣來說,壓力還是挺大,說多了都是淚,再多說人羞愧,哥寫node去了,時間好緊啊,下個月就各種校招了,木什么作品拿出手啊。
本文原文地址羅磊的獨立博客<淘寶前端智勇大闖關:相關知識點>