簡(jiǎn)單的軟件開(kāi)發(fā)面試問(wèn)題_第1頁(yè)
簡(jiǎn)單的軟件開(kāi)發(fā)面試問(wèn)題_第2頁(yè)
簡(jiǎn)單的軟件開(kāi)發(fā)面試問(wèn)題_第3頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、技術(shù)面試題【前端】1. 簡(jiǎn)述一下你對(duì) HTML 語(yǔ)義化的理解? 用正確的標(biāo)簽做正確的事情。SEO;html 語(yǔ)義化讓頁(yè)面的內(nèi)容結(jié)構(gòu)化,結(jié)構(gòu)更清晰,便于對(duì)瀏覽器、搜索引擎解析 即使在沒(méi)有樣式 CSS 情況下也以一種文檔格式顯示,并且是容易閱讀的 ; 搜索引擎的爬蟲(chóng)也依賴(lài)于 HTML 標(biāo)記來(lái)確定上下文和各個(gè)關(guān)鍵字的權(quán)重,利于 使閱讀源代碼的人對(duì)網(wǎng)站更容易將網(wǎng)站分塊,便于閱讀維護(hù)理解。2.js 有哪些內(nèi)置對(duì)象?數(shù)據(jù)封裝類(lèi)對(duì)象: Object 、 Array 、 Boolean 、 Number 和 String 其他對(duì)象: Function 、 Arguments 、 Math 、 Date、 Re

2、gExp 、Error3. 你如何對(duì)網(wǎng)站的文件和資源進(jìn)行優(yōu)化?期待的解決方案包括:文件合并文件最小化 /文件壓縮使用 CDN 托管緩存的使用狀態(tài)碼200( OK ),表示請(qǐng)求成功,請(qǐng)求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回。301( Moved-Permanently ),永久性重定向302( Moved-Temporarily ),暫時(shí)性重定向403( Forbidden ),服務(wù)器已經(jīng)理解請(qǐng)求,但是拒絕執(zhí)行它。404( Not-Found ),請(qǐng)求的資源沒(méi)有被找到500( Interval Server Error ),服務(wù)器內(nèi)部錯(cuò)誤5.你能描述一下當(dāng)你制作一個(gè)網(wǎng)頁(yè)的工作流程嗎?1)根據(jù)需求

3、,確定主題。透徹深入所做網(wǎng)站的核心功能和關(guān)鍵。2)收集資料。從對(duì)比相同類(lèi)型的網(wǎng)站(慣用而熟悉的樣式,用戶(hù)更樂(lè)意接受),參照別人可行的實(shí)現(xiàn)方法。3)規(guī)劃網(wǎng)站。抽離岀類(lèi)似的模塊和可重用的部件。如果是響應(yīng)式網(wǎng)站就需要設(shè)定斷點(diǎn),根據(jù)不同寬度屏幕設(shè)定樣式。4)設(shè)計(jì)數(shù)據(jù)庫(kù)。5)搭建基本的框架。引入重置樣式表和字體樣式表,風(fēng)格統(tǒng)一的圖標(biāo)還有后臺(tái)需要用到的包。6)編碼和調(diào)試。注意統(tǒng)一命名和編碼規(guī)范。當(dāng)多人開(kāi)發(fā)時(shí),還需要制定規(guī)范文檔。7)上傳測(cè)試。利用 FTP工具,把網(wǎng)站發(fā)布到自己申請(qǐng)的主頁(yè)存放服務(wù)器上。網(wǎng)站上傳以后,你要在瀏覽器中打開(kāi)自己的網(wǎng)站,逐頁(yè)逐個(gè)鏈接的進(jìn)行測(cè)試,發(fā)現(xiàn)問(wèn)題,及時(shí)修改,然后再上傳測(cè)試。8)

4、推廣宣傳。不斷宣傳,提高網(wǎng)站的訪(fǎng)問(wèn)率和知名度。推廣的方法有很多,例如到搜索弓I擎上注冊(cè)、與別的網(wǎng)站交換鏈接、加入廣告鏈等。【java!1. 簡(jiǎn)述一下你了解的設(shè)計(jì)模式。答:所謂設(shè)計(jì)模式,就是一套被反復(fù)使用的代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)(情境中一個(gè)問(wèn)題經(jīng)過(guò)證實(shí)的一個(gè)解決方案)。使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。設(shè)計(jì)模式使人們可以更加簡(jiǎn)單方便的復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu)。將已證實(shí)的技術(shù)表述成設(shè)計(jì)模式也會(huì)使新系統(tǒng)開(kāi)發(fā)者更加容易理解其設(shè)計(jì)思路。面試被問(wèn)到關(guān)于設(shè)計(jì)模式的知識(shí)時(shí),可以?huà)畛S玫淖鞔穑纾?工廠(chǎng)模式:工廠(chǎng)類(lèi)可以根據(jù)條件生成不同的子類(lèi)實(shí)例,這些子類(lèi)有一個(gè)公共的抽象父類(lèi)并

5、且實(shí)現(xiàn)了相同的方法,但是這些方法針對(duì)不同的數(shù)據(jù)進(jìn)行了不同的操作(多態(tài)方法)。當(dāng)?shù)玫阶宇?lèi)的實(shí) 例后,開(kāi)發(fā)人員可以調(diào)用基類(lèi)中的方法而不必考慮到底返回的是哪一個(gè)子類(lèi)的實(shí)例。-代理模式:給一個(gè)對(duì)象提供一個(gè)代理對(duì)象,并由代理對(duì)象控制原對(duì)象的引用。實(shí)際開(kāi)發(fā)中,按照使用目的的不同,代理可以分為:遠(yuǎn)程代理、虛擬代理、保護(hù)代理、Cache代理、防火墻代理、同步化代理、智能引用代理。-適配器模式:把一個(gè)類(lèi)的接口變換成客戶(hù)端所期待的另一種接口,從而使原本因接口不匹配而無(wú)法在一起使用的類(lèi)能夠一起工作。-模板方法模式:提供一個(gè)抽象類(lèi),將部分邏輯以具體方法或構(gòu)造器的形式實(shí)現(xiàn),然后聲明一些 抽象方法來(lái)迫使子類(lèi)實(shí)現(xiàn)剩余的邏輯

6、。不同的子類(lèi)可以以不同的方式實(shí)現(xiàn)這些抽象方法(多態(tài)實(shí) 現(xiàn)),從而實(shí)現(xiàn)不同的業(yè)務(wù)邏輯。除此之外,還可以講講上面提到的門(mén)面模式、橋梁模式、單例模式、裝潢模式(Collecti ons 工具類(lèi)和I/O系統(tǒng)中都使用裝潢模式)等,反正基本原則就是揀自己最熟悉的、用得最多的作答,以免言多必失。2、用Java寫(xiě)一個(gè)單例類(lèi)。答.-餓漢式單例public class Sin glet on private Si nglet on()private static Singleton instanee = new Singleton();public static Sin glet on get In sta nc

7、e()retur n in sta nee;懶漢式單例public class Sin glet on private static Sin glet on in sta nee = n ull;private Sin glet on() public static synchroni zed Sin glet on getl nsta nce()if (in sta nee = n ull) in sta nee = new Si nglet on();retur n in sta nee;23、抽象類(lèi)(abstract class )和接口( interfaee )有什么異同?答:抽象類(lèi)和

8、接口都不能夠?qū)嵗梢远x抽象類(lèi)和接口類(lèi)型的引用。一個(gè)類(lèi)如果繼承了某個(gè)抽 象類(lèi)或者實(shí)現(xiàn)了某個(gè)接口都需要對(duì)其中的抽象方法全部進(jìn)行實(shí)現(xiàn),否則該類(lèi)仍然需要被聲明為抽象 類(lèi)。接口比抽象類(lèi)更加抽象,因?yàn)槌橄箢?lèi)中可以定義構(gòu)造器,可以有抽象方法和具體方法,而接口中 不能定義構(gòu)造器而且其中的方法全部都是抽象方法。抽象類(lèi)中的成員可以是private 、默認(rèn)、protected 、public的,而接口中的成員全都是public的。抽象類(lèi)中可以定義成員變量,而接口中定義的成員變量實(shí)際上都是常量。有抽象方法的類(lèi)必須被聲明為抽象類(lèi),而抽象類(lèi)未必要有抽象方法。24、 靜態(tài)嵌套類(lèi)(Static Nested Clas

9、s)和內(nèi)部類(lèi)(Inner Class )的不同?答:Static Nested Class是被聲明為靜態(tài)(static )的內(nèi)部類(lèi),它可以不依賴(lài)于外部類(lèi)實(shí)例被實(shí)例化。 而通常的內(nèi)部類(lèi)需要在外部類(lèi)實(shí)例化后才能實(shí)例化1. 面向?qū)ο筌浖_(kāi)發(fā)的優(yōu)點(diǎn):代碼開(kāi)發(fā)模塊化,更易維護(hù)和修改;代碼復(fù)用;增強(qiáng)代碼的可靠性和靈活性;增加代碼的可理解性。2. 使用封裝的一些好處:通過(guò)隱藏對(duì)象的屬性來(lái)保護(hù)對(duì)象內(nèi)部的狀態(tài)。提高了代碼的可用性和可維護(hù)性,因?yàn)閷?duì)象的行為可以被單獨(dú)的改變或者是擴(kuò)展。禁止對(duì)象之間的不良交互提高模塊化。3. 抽象和封裝的不同點(diǎn)抽象和封裝是互補(bǔ)的概念。一方面,抽象關(guān)注對(duì)象的行為。另一方面,封裝關(guān)注對(duì)象

10、行為的細(xì)節(jié)。一 般是通過(guò)隱藏對(duì)象內(nèi)部狀態(tài)信息做到封裝,因此,封裝可以看成是用來(lái)提供抽象的一種策略。4. 什么是值傳遞和引用傳遞?對(duì)象被值傳遞,意味著傳遞了對(duì)象的一個(gè)副本。因此,就算是改變了對(duì)象副本,也不會(huì)影響源對(duì)象的 值。對(duì)象被引用傳遞,意味著傳遞的并不是實(shí)際的對(duì)象,而是對(duì)象的引用。因此,外部對(duì)引用對(duì)象所做的 改變會(huì)反映到所有的對(duì)象上。5. 進(jìn)程和線(xiàn)程的區(qū)別是什么? 進(jìn)程是執(zhí)行著的應(yīng)用程序,而線(xiàn)程是進(jìn)程內(nèi)部的一個(gè)執(zhí)行序列。一個(gè)進(jìn)程可以有多個(gè)線(xiàn)程。線(xiàn)程又叫 做輕量級(jí)進(jìn)程。中垃圾回收有什么目的? 垃圾回收的目的是識(shí)別并且丟棄應(yīng)用不再使用的對(duì)象來(lái)釋放和重用資源。7. 用最有效率的方法計(jì)算2 乘以 8

11、?2 << 3 (左移 3 位相當(dāng)于乘以 2 的 3 次方,右移 3 位相當(dāng)于除以 2 的 3 次方)。8. 構(gòu)造器( constructor )是否可被重寫(xiě)( override )? 構(gòu)造器不能被繼承,因此不能被重寫(xiě),但可以被重載。9. 是否可以繼承 String 類(lèi)?String 類(lèi)是 final 類(lèi),不可以被繼承。、 Set、 Map 是否繼承自 Collection 接口?List、Set是,Map不是。Map是鍵值對(duì)映射容器,與List和Set有明顯的區(qū)別,而 Set存儲(chǔ)的零散的元素且不允許有重復(fù)元素(數(shù)學(xué)中的集合也是如此),List 是線(xiàn)性結(jié)構(gòu)的容器,適用于按數(shù)值索引訪(fǎng)

12、問(wèn)元素的情形。【 MySql 】1. 數(shù)據(jù)庫(kù)優(yōu)化的思路(大方面)1) SQL 語(yǔ)句優(yōu)化2) 2.索引優(yōu)化3) 數(shù)據(jù)庫(kù)結(jié)構(gòu)優(yōu)化4) 服務(wù)器硬件優(yōu)化2. 如何知道表內(nèi)行數(shù)?select count(*) from 表名 ;3. 游標(biāo)是否只能用于存儲(chǔ)過(guò)程?是4. 什么支持觸發(fā)器,社么不支持觸發(fā)器?只有表支持觸發(fā)器,視圖不支持觸發(fā)器5. 什么是數(shù)據(jù)庫(kù)的事務(wù),事務(wù)有哪些特性?數(shù)據(jù)庫(kù)事務(wù)是指邏輯上的一組 sql 語(yǔ)句,組成這組操作的各個(gè) sql 語(yǔ)句,執(zhí)行時(shí)要么成功要么失敗 數(shù)據(jù)庫(kù)事務(wù):具有原子性、隔離性、持久性、一致性【維護(hù)】的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是一種什么結(jié)構(gòu)?網(wǎng)型。2. 文件系統(tǒng)中,文件按名字存取是為了什么

13、?方便用戶(hù)的使用3. 能使系統(tǒng)中多臺(tái)計(jì)算機(jī)相互協(xié)作完成一件任務(wù)的操作系統(tǒng)是什么?分布式操作系統(tǒng)4. 常見(jiàn)的路由選擇協(xié)議,以及它們的區(qū)別常見(jiàn)的路由選擇協(xié)議有: RIP 協(xié)議、 OSPF 協(xié)議。RIP協(xié)議:底層是貝爾曼福特算法,它選擇路由的度量標(biāo)準(zhǔn)(metric)是跳數(shù),最大跳數(shù)是 15跳,如果大于 15 跳,它就會(huì)丟棄數(shù)據(jù)包。OSPF協(xié)議:底層是迪杰斯特拉算法,是鏈路狀態(tài)路由選擇協(xié)議,它選擇路由的度量標(biāo)準(zhǔn)是帶寬,延遲。5.子網(wǎng)掩碼的作用子網(wǎng)掩碼只有一個(gè)作用,就是將某個(gè) IP 地址劃分成網(wǎng)絡(luò)地址和主機(jī)地址兩部分。用于子網(wǎng)掩碼的位數(shù)決定于可能的子網(wǎng)數(shù)目和每個(gè)子網(wǎng)的主機(jī)數(shù)目。中, POST 與 GET

14、 的區(qū)別GET - 從指定的資源請(qǐng)求數(shù)據(jù)。POST - 向指定的資源提交要被處理的數(shù)據(jù)【其他】1.簡(jiǎn)述同步和異步的區(qū)別同步是阻塞模式,異步是非阻塞模式。同步就是指一個(gè)進(jìn)程在執(zhí)行某個(gè)請(qǐng)求的時(shí)候,若該請(qǐng)求需要一段時(shí)間才能返回信息,那么這個(gè)進(jìn)程將會(huì)一直等待下去,直到收到返回信息才繼續(xù)執(zhí)行下去;異步是指進(jìn)程不需要一直等下去,而是繼續(xù)執(zhí)行下面的操作,不管其他進(jìn)程的狀態(tài)。當(dāng)有消息返回時(shí) 系統(tǒng)會(huì)通知進(jìn)程進(jìn)行處理,這樣可以提高執(zhí)行的效率。2.瀏覽器的內(nèi)核分別是什么 ?IE: trident 內(nèi)核Firefox : gecko 內(nèi)核Safari: webkit 內(nèi)核Opera:以前是 presto內(nèi)核,Opera現(xiàn)已改用 Google Chrome的Blink內(nèi)核C

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論