【IMWeb秋招訓(xùn)練營(yíng)】【Day3】面試題總結(jié)

經(jīng)典面試題

9.在Javascript中什么是偽數(shù)組?如何將偽數(shù)組轉(zhuǎn)化為標(biāo)準(zhǔn)數(shù)組?
  • 具有l(wèi)ength屬性
  • 按索引方式存儲(chǔ)數(shù)據(jù)
  • 不具有數(shù)組的push( )、pop( )方法
  • 這種對(duì)象有很多,比較特別的是function內(nèi)的arguments對(duì)象,還有像調(diào)用getElementsByTagName, document.childNodes之類的,它們都返回的NodeList對(duì)象都屬于偽數(shù)組,也稱為類數(shù)組,還有自定義的對(duì)象,也屬于偽數(shù)組
  • 可以通過(guò)Array.prototype.slice.call(fakeArray)將偽數(shù)組轉(zhuǎn)變?yōu)檎嬲腁rray對(duì)象。
10.瀏覽器本地存儲(chǔ)?
  • cookie:存儲(chǔ)空間小,存儲(chǔ)類型簡(jiǎn)單,消息會(huì)被發(fā)送到服務(wù)器
  • sessionstorage:針對(duì)一個(gè) session 來(lái)存儲(chǔ)數(shù)據(jù)(當(dāng)關(guān)閉瀏覽器標(biāo)簽頁(yè)時(shí)數(shù)據(jù)會(huì)丟失)
  • localstorage:存儲(chǔ)沒(méi)有截止日期的數(shù)據(jù),瀏覽器被關(guān)閉時(shí)數(shù)據(jù)不會(huì)被刪除
11.線程與進(jìn)程的區(qū)別?

線程是進(jìn)程中執(zhí)行運(yùn)算的最小單位,是進(jìn)程中的一個(gè)實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源,但它可與同屬一個(gè)進(jìn)程的其它線程共享進(jìn)程所擁有的全部資源。一個(gè)線程可以創(chuàng)建和撤消另一個(gè)線程,同一進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行。

12.請(qǐng)說(shuō)出三種減少頁(yè)面加載時(shí)間的方法。
  1. 減少http請(qǐng)求(合并文件、合并圖片)
  2. 優(yōu)化圖片文件,減小其尺寸,特別是縮略圖,一定要按尺寸生成縮略圖然后調(diào)用,不要在網(wǎng)頁(yè)中用resize方法實(shí)現(xiàn),雖然這樣看到的圖片外形小了,但是其加載的數(shù)據(jù)量一點(diǎn)也沒(méi)減少。普通圖像、icon也要盡可能壓縮后,可以采用web圖像保存、減少顏色數(shù)等等方法實(shí)現(xiàn)。
  3. 圖像格式的選擇(GIF:提供的顏色較少,可用在一些對(duì)顏色要求不高的地方)
  4. 壓縮JavaScript、CSS代碼:一般js、css文件中存在大量的空格、換行、注釋,這些利于閱讀,如果能夠壓縮掉,將會(huì)很有利于網(wǎng)絡(luò)傳輸。
  5. 服務(wù)器啟用gzip壓縮功能:將要傳輸?shù)奈募嚎s后傳輸?shù)娇蛻舳嗽俳鈮海诰W(wǎng)絡(luò)傳輸 數(shù)據(jù)量會(huì)大幅減小。在服務(wù)器上的Apache、Nginx可直接啟用,也可用代碼直接設(shè)置傳輸文件頭,增加gzip的設(shè)置,也可從 負(fù)載均衡設(shè)備直接設(shè)置。不過(guò)需要留意的是,這個(gè)設(shè)置會(huì)略微增加服務(wù)器的負(fù)擔(dān)。服務(wù)器性能不是很好的網(wǎng)站,要慎重考慮。
  6. 標(biāo)明高度和寬度(如果瀏覽器沒(méi)有找到這兩個(gè)參數(shù),它需要一邊下載圖片一邊計(jì)算大小,如果圖片很多,瀏覽器需要不斷地調(diào)整頁(yè)面。這不但影響速度,也影響瀏覽體驗(yàn)。 當(dāng)瀏覽器知道了高度和寬度參數(shù)后,即使圖片暫時(shí)無(wú)法顯示,頁(yè)面上也會(huì)騰出圖片的空位,然后繼續(xù)加載后面的內(nèi)容。從而加載時(shí)間快了,瀏覽體驗(yàn)也更好了。)
  7. 網(wǎng)址后面加上“/”:對(duì)服務(wù)器而言,不加斜杠服務(wù)器會(huì)多一次判斷的過(guò)程,加斜杠就會(huì)直接返回網(wǎng)站設(shè)置的存放在網(wǎng)站根目錄下的默認(rèn)頁(yè)面。

思考題:

5.在鏈接中應(yīng)該使用諸如“Click here” 一類的籠統(tǒng)詞匯嗎?

正方:
事實(shí)證明,“Click here”比描述性的鏈接更容易獲得點(diǎn)擊,因此應(yīng)該使用該詞匯以獲得更好的點(diǎn)擊率。
反方:
“Click here”一類的鏈接損害Web的易用性,用戶在點(diǎn)擊之前,只能通過(guò)周圍的上下文關(guān)系猜測(cè)這個(gè)鏈接是做什么的。QualITy guidelines建議,任何鏈接文字都應(yīng)該明確描述該鏈接的目的。
和事佬:
為了提高站點(diǎn)的易用性,可訪問(wèn)性和SEO性能,應(yīng)該始終使用描述性鏈接。很有趣聽(tīng)到有人說(shuō)“Clickhere”比描述性鏈接可以獲得更多點(diǎn)擊率,不知道那些點(diǎn)擊進(jìn)來(lái)的人是不是看兩眼就離開(kāi)了。

6.鏈接是否應(yīng)該在新窗口打開(kāi)?

正方:
外部鏈接應(yīng)該始終從新窗口打開(kāi),當(dāng)你瀏覽一個(gè)站點(diǎn)的時(shí)候,點(diǎn)擊了一個(gè)鏈接,卻被帶到另外一個(gè)站點(diǎn),你在這個(gè)站點(diǎn)的會(huì)話也因此丟失,這實(shí)在令人惱怒。因此,站點(diǎn)內(nèi)的鏈接可以在現(xiàn)有窗口打開(kāi),而站點(diǎn)外鏈接則應(yīng)該在新窗口打開(kāi)。
反方:
作為Web設(shè)計(jì)師,我們不該控制用戶的行為,一個(gè)鏈接是否在新窗口打開(kāi),應(yīng)該是用戶自己的選擇。剝奪用戶的控制權(quán),在用戶的桌面上打開(kāi)一堆窗口或標(biāo)簽,這才是真正讓人惱怒的事。如果用戶想打開(kāi)新窗口,他們可以自己選擇,而對(duì)非熟練用戶,新窗口讓他們丟失了“后退”按鈕更讓他們無(wú)所適從。
和事佬:
總體來(lái)講,應(yīng)該避免使用新窗口打開(kāi)鏈接,但在某些場(chǎng)合,如打開(kāi)購(gòu)物車中的幫助鏈接,打開(kāi)一個(gè)非html文件(如PDF文件),應(yīng)該使用新窗口。為了提高易用性,最好在需要打開(kāi)新窗口的地方,用一個(gè)小圖標(biāo)提示一下。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂(lè)視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,366評(píng)論 11 349
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,219評(píng)論 25 708
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,908評(píng)論 18 139
  • 楔子第一章:初遇百曉生第二章:路遇一只喵(上)第三章:路遇一只喵(下)第四章:為愛(ài)而生,唯愛(ài)可等之薔薇抉擇第五章:...
    清風(fēng)自來(lái)閱讀 425評(píng)論 21 12
  • 走在初秋的校園里,涼風(fēng)習(xí)習(xí)。 抬頭仰望,張開(kāi)懷抱,天空海一樣藍(lán), 廣闊而又深遠(yuǎn)。 初秋的校園, 各種各樣的樹(shù)木, ...
    水月風(fēng)荷閱讀 973評(píng)論 7 7