第一篇:IBM面試題面試答案
IBM面試題一: 是否有教授或者咨詢師曾經(jīng)讓你處于尷尬境地,還讓你感到不自信?在這種情況下,你是怎樣回應(yīng)的?
分析 這個問題考查的是求職者在陌生領(lǐng)域工作的能力。通過這個問題,面試人可以了解到,當(dāng)所給的任務(wù)超過自己目前的能力水平時,求職者解決問題的意愿和能力。
錯誤回答 我相信質(zhì)疑權(quán)威是很重要的,但我不可能在學(xué)校里學(xué)到一切知識。很多人以為自己知道所有問題的答案,可實(shí)際上他們并不了解真實(shí)世界里發(fā)生的一切。你知道,那些都是象牙塔里的東西。
評論 這種回答的最大問題在于,求職者把問題的焦點(diǎn)從自己身上轉(zhuǎn)移了。嚴(yán)肅的面試人并不關(guān)心你對高等教育的觀點(diǎn)。他們想知道的是,當(dāng)出現(xiàn)問題中給出的情況時,你將怎樣處理。這種回答的另一個弊端是,它會使面試人對你是否愿意服從領(lǐng)導(dǎo)產(chǎn)生懷疑。
正確回答 在我當(dāng)學(xué)生的這幾年中,我盡自己所能多學(xué)習(xí)知識,經(jīng)常選擇一些不熟悉的課程,因此往往會受到教授的質(zhì)疑。不管什么時候,當(dāng)我覺得自己對這個科目知之甚少時,我就嘗試預(yù)見一些問題,為回答問題做些準(zhǔn)備。當(dāng)我被難住時,我盡可能做出科學(xué)合理的猜測,承認(rèn)我不知道的東西,并且從不懂的地方開始學(xué)習(xí)。(如果可能,你可以舉出一個例子……)
評論 這種回答的最大好處在于,它清楚地表明了求職者會積極面對艱難處境。它也顯示了求職者有雄心和明確的態(tài)度,知道怎樣處理離奇和模糊的問題。
IBM面試題二:你是否曾經(jīng)得到過低于自己預(yù)期的成績?如果得到過,你是怎樣處理這件事情的?
分析 通過對這個問題的回答除了可以揭示求職者的熱情和進(jìn)取心外,還可以揭示求職者是否愿意為某一事業(yè)奮斗,是否愿意為追求公平而奮斗。
錯誤回答 記得有一次,我覺得應(yīng)該得B但卻得了C,我去找輔導(dǎo)員,他給我看了我在每個項(xiàng)目上的得分情況——我處在C級的邊緣但很明顯是C.我很高興能核實(shí)一下而不是接受既定的分?jǐn)?shù)值。
評論 這個問題開始時回答得很好,但最后卻不盡如人意。從最初的情況看,求職者似乎愿意追查到底。但是后來很顯然,他(她)沒有試圖做出改變。
正確回答 我曾經(jīng)和一個研究地球科學(xué)的教授有過一段令人記憶猶新的經(jīng)歷。這個人一向以偏袒理科生而出名,而我偏偏又不是理科生。在我們班上,所有的非理科生都感到,他對我們的知識基礎(chǔ)有著非常不切實(shí)際的期望。由于他的偏見,這些非理科生大多都表現(xiàn)不好。盡管我表現(xiàn)還算不錯,但我還是和其他學(xué)生一道向系領(lǐng)導(dǎo)發(fā)出了一份聲明,建議校方審查一下他的教學(xué)方式。
評論 這種回答能夠表明,這名求職者有能力克服困難處境,而且能夠脫穎而出并居于領(lǐng)先地位。這樣的回答還可以表明,這名求職者高度重視公平感。同時也表明了求職者十分關(guān)心集體利益。
第二篇:IBM公司面試題答案:病狗問題
村子中有50個人,每人有一條狗。在這50條狗中有病狗(這種病不會傳染)。于是人們就要找出病狗。每個人可以觀察其他的49條狗,以判斷它們是否生病,只有自己的狗不能看。觀察后得到的結(jié)果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要槍斃自己的狗,而且每個人只有權(quán)利槍斃自己的狗,沒有權(quán)利打死其他人的狗。第一天,第二天都沒有槍響。到了第三天傳來一陣槍聲,問有幾條病狗,如何推算得出?
推論:
A、假設(shè)有1條病狗,病狗的主人會看到其他狗都沒有病,那么就知道自己的狗有病,所以第一天晚上就會有槍響。因?yàn)闆]有槍響,說明病狗數(shù)大于1。
B、假設(shè)有2條病狗,病狗的主人會看到有1條病狗,因?yàn)榈谝惶鞗]有聽到槍響,是病狗數(shù)大于1,所以病狗的主人會知道自己的狗是病狗,因而第二天會有槍響。既然第二天也每有槍響,說明病狗數(shù)大于2。
由此推理,如果第三天槍響,則有3條病狗。
來源:新浪財經(jīng)
第三篇:一個超級經(jīng)典的IBM面試題
村子中有50個人,每人有一條狗。在這50條狗中有病狗(這種病不會傳染)。于是人們就要找出病狗。
每個人可以觀察其他的49條狗,以判斷它們是否生病(如果有病一定能看出來),只是自己的狗不能看。觀察后得到的結(jié)果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要槍斃自己的狗(發(fā)現(xiàn)后必須在一天內(nèi)槍斃),而且每個人只有權(quán)利槍斃自己的狗,沒有權(quán)利打死其他人的狗。
第一天大家全看完了,但槍沒有響,第二天仍沒有槍響。到了第三天傳來一陣槍聲,問村里共有幾條病狗,如何推算得出?
(有答案,而且肯定百分百正確,推理很經(jīng)典,會讓你有耳目一新的感覺)
如果病狗數(shù)是1,那么第一天這條狗就應(yīng)該去見馬克思了,因?yàn)椴」分魅巳绻吹剿氖艞l狗都是健康的狗,那么很容易就推論出自己的狗是病狗,可是第一個這條狗并沒有完蛋,說明病狗數(shù)大于1。
如果病狗數(shù)是2,那么第二天這兩條狗就應(yīng)該一起作伴共赴黃泉路,因?yàn)榈谝惶爝@條病狗沒有完蛋,說明還有一條病狗存在,可是到了第二天也沒有槍聲,那就說明病狗數(shù)至少大于兩條。
如果病狗數(shù)是3,那么到了第三天,病狗的主人看到其余兩條病狗怎么還沒有完蛋,再加上自己僅僅看到了兩條病狗,由此可以很推斷出自己的狗就是病狗,所以第三天槍聲連續(xù)想起,說明這個村子的病狗數(shù)應(yīng)該就是3條了。
第四篇:面試題答案
1.WEB標(biāo)準(zhǔn)以及W3C標(biāo)準(zhǔn)是什么?
標(biāo)簽閉合、標(biāo)簽小寫、不亂嵌套、使用外鏈css和js、結(jié)構(gòu)行為表現(xiàn)的分離。
2.xhtml和html有什么區(qū)別
XHTML 元素必須被正確地嵌套,閉合,區(qū)分大小寫,文檔必須擁有根元素。
3.行內(nèi)元素有哪些?塊級元素有哪些?
行內(nèi)元素: a b img em br i span input select
塊級元素:div p h1-h6 form ul dl ol table
4.行內(nèi)元素和塊級元素有什么區(qū)別?
行內(nèi)元素不可以設(shè)置寬高,不獨(dú)占一行;
塊級元素可以設(shè)置寬高,獨(dú)占一行。
5.我想讓行內(nèi)元素跟上面的元素距離10px,加margin-top和padding-top可以嗎?
margin-top,padding-top無效
6.CSS的盒模型由什么組成?
內(nèi)容,border ,margin,padding
7.說說display屬性有哪些?可以做什么?
display:block行內(nèi)元素轉(zhuǎn)換為塊級元素
display:inline塊級元素轉(zhuǎn)換為行內(nèi)元素
display:inline-block轉(zhuǎn)為內(nèi)聯(lián)元素
8.CSS 選擇符有哪些?
1.id選擇器(# myid)
2.類選擇器(.myclassname)
3.標(biāo)簽選擇器(div, h1, p)
4.相鄰選擇器(h1 + p)
5.子選擇器(ul < li)
6.后代選擇器(li a)
7.通配符選擇器(*)
8.屬性選擇器(a[rel = “external”])
9.偽類選擇器(a: hover, li: nth-child)
9.哪些css屬性可以繼承?
可繼承: font-size font-family color, ul li dl dd dt;
不可繼承 :border padding margin width height;
10.css優(yōu)先級算法如何計算?
!important > id > class > 標(biāo)簽
!important 比 內(nèi)聯(lián)優(yōu)先級高
*
優(yōu)先級就近原則,樣式定義最近者為準(zhǔn);
*
以最后載入的樣式為準(zhǔn);
11.text-align:center和line-height有什么區(qū)別?
text-align是水平對齊,line-height是行間。
12.前端頁面由哪三層構(gòu)成,分別是什么?作用是什么?
結(jié)構(gòu)層 Html 表示層 CSS 行為層 js
13.標(biāo)簽上title與alt屬性的區(qū)別是什么?
Alt是圖片屬性,讓搜索引擎認(rèn)識你的圖片。當(dāng)圖片不顯示的時候顯示。
title是網(wǎng)站標(biāo)題,是seo中最重要的屬性。
14.使用css 精靈有什么好處?
Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕HTTP的請求數(shù)量。
15.什么是語義化的HTML?
標(biāo)簽使用的合理性,對于搜索引擎的抓取有好處。
16.b標(biāo)簽和strong標(biāo)簽,i標(biāo)簽和em標(biāo)簽的區(qū)別?
后者有語義,前者則無。
17.tite與h1的區(qū)別。
title側(cè)重于網(wǎng)站信息標(biāo)題
從文章而言,h1側(cè)重于文章主題
站在seo的角度看,好網(wǎng)站少不了title,好文章少不了h1標(biāo)題,title權(quán)重高于h1。
18.清除浮動的幾種方式,各自的優(yōu)缺點(diǎn)
1.使用空標(biāo)簽清除浮動clear:both(缺點(diǎn),增加無意義的標(biāo)簽)
2.使用overflow:auto(使用zoom:1用于兼容IE)
3.是用afert偽元素清除浮動(用于非IE瀏覽器)
19.display:none和visibility:hidden的區(qū)別是什么?
visibility: hidden----將元素隱藏,但是還占著位置。
display: none----將元素的顯示設(shè)為無,不占任何的位置。
20.說出幾種IE6 BUG的解決方法
1.雙邊距BUG float引起的 解決:使用display
2.3像素問題 使用float引起的 解決:使用dislpay:inline-3px
3.超鏈接hover 點(diǎn)擊后失效 解決:使用正確的書寫順序 link visited hover active
4.Ie z-index問題 解決:給父級添加position:relative
5.Png 透明 解決:使用js代碼
6.Min-height 最小高度!Important 解決
7.img出現(xiàn)邊框
8.為什么沒有辦法定義1px左右的寬度容器(IE6默認(rèn)的行高造成的overflow:hidden,zoom:0.08 line-height:1px可以解決)21.域名和服務(wù)器相關(guān)知識?
22.HTTP狀態(tài)碼都有那些。
200 OK
//客戶端請求成功
400 Bad Request //客戶端請求有語法錯誤,不能被服務(wù)器所理解
403 Forbidden //服務(wù)器收到請求,但是拒絕提供服務(wù)
404 Not Found //請求資源不存在,輸入了錯誤的URL
500 Internal Server Error //服務(wù)器發(fā)生不可預(yù)期的錯誤
503 Server Unavailable //服務(wù)器當(dāng)前不能處理客戶端的請求,一段時間后可能恢復(fù)正常
23.如何優(yōu)化網(wǎng)頁加載速度?
1.減少css,js文件數(shù)量及大小(減少重復(fù)性代碼,代碼重復(fù)利用),壓縮CSS和Js代碼
2.圖片的大小
3.把css樣式表放置頂部,把js放置頁面底部
4.減少http請求數(shù)
5.使用外部 Js 和 CSS
24.position屬性absolute與relative的區(qū)別?
absolute絕對定位 //相對于瀏覽器定位
relative相對定位 //相對于前面的容器定位
25.HTML5 的有那些新標(biāo)簽?
26.CSS3新增偽類有那些?
p:first-of-type 選擇屬于其父元素的首個
元素的每個
元素。
p:last-of-type 選擇屬于其父元素的最后
元素的每個
元素。
p:only-of-type 選擇屬于其父元素唯一的
元素的每個
元素。
p:only-child
選擇屬于其父元素的唯一子元素的每個
元素。
p:nth-child(2)選擇屬于其父元素的第二個子元素的每個
元素。
:enabled、:disabled 控制表單控件的禁用狀態(tài)。
:checked,單選框或復(fù)選框被選中。
27.全局變量和局部變量有什么區(qū)別?
28.談?wù)凾his對象的理解。
this是js的一個關(guān)鍵字,隨著函數(shù)使用場合不同,this的值會發(fā)生變化。但是總有一個原則,那就是this指的是調(diào)用函數(shù)的那個對象。
this一般情況下:是全局對象Global。作為方法調(diào)用,那么this就是指這個對象
29.documen.write和 innerHTML有什么區(qū)別?
DOM的innerHTML是DOM元素對象的一個屬性
而write是document對象的一個方法
30.JSON是什么?
JSON是一種輕量級的數(shù)據(jù)交換格式。它是基于JS的一個子集。數(shù)據(jù)格式簡單, 易讀寫, 占用帶寬小
{'age':'12', 'name':'back'}
31.ajax 是什么?ajax 的交互模型?同步和異步的區(qū)別?
1.通過異步模式,提升了用戶體驗(yàn)
2.優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用
3.Ajax在客戶端運(yùn)行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作,減少了大用戶量下的服務(wù)器負(fù)載。
2.Ajax的最大的特點(diǎn)是什么。
Ajax可以實(shí)現(xiàn)動態(tài)不刷新(局部刷新)
3.ajax的缺點(diǎn):
1、ajax不支持瀏覽器back按鈕。
2、安全問題 AJAX暴露了與服務(wù)器交互的細(xì)節(jié)。
3、對搜索引擎的支持比較弱。
4、破壞了程序的異常機(jī)制。
5、不容易調(diào)試。
32.你常用那些js框架?
33.工作流程,你怎么來實(shí)現(xiàn)頁面設(shè)計圖,你認(rèn)為前端應(yīng)該如何高質(zhì)量完成工作?
34.介紹項(xiàng)目經(jīng)驗(yàn)、合作開發(fā)、獨(dú)立開發(fā)。
35.開發(fā)過程中遇到困難,如何解決。
36.對前端界面工程師這個職位是怎么樣理解的?它的前景會怎么樣?
前端是最貼近用戶的程序員,比后端、數(shù)據(jù)庫、產(chǎn)品經(jīng)理、運(yùn)營、安全都近。
1、實(shí)現(xiàn)界面交互
2、提升用戶體驗(yàn)
3、有了Node.js,前端可以實(shí)現(xiàn)服務(wù)端的一些事情
前端是最貼近用戶的程序員,前端的能力就是能讓產(chǎn)品從 90分進(jìn)化到 100 分,甚至更好,參與項(xiàng)目,快速高質(zhì)量完成實(shí)現(xiàn)效果圖,精確到1px;
與團(tuán)隊(duì)成員,UI設(shè)計,產(chǎn)品經(jīng)理的溝通; 做好的頁面結(jié)構(gòu),頁面重構(gòu)和用戶體驗(yàn);
處理hack,兼容、寫出優(yōu)美的代碼格式;
針對服務(wù)器的優(yōu)化、擁抱最新前端技術(shù)。
其它相關(guān)的加分項(xiàng):
1.都使用和了解過哪些編輯器?都使用和了解過哪些日常工具? 2.都知道有哪些瀏覽器內(nèi)核?開發(fā)過的項(xiàng)目都兼容哪些瀏覽器? 3.瀑布流布局或者流式布局是否有了解 4.HTML5都有哪些新的API? 5.都用過什么代碼調(diào)試工具? 6.是否有接觸過或者了解過重構(gòu)。
7.你遇到過比較難的技術(shù)問題是?你是如何解決的? 8.什么叫優(yōu)雅降級和漸進(jìn)增強(qiáng)?
優(yōu)雅降級/平穩(wěn)退化:Web站點(diǎn)在所有新式瀏覽器中都能正常工作,如果用戶使用的是老式瀏覽器,則代碼會檢查以確認(rèn)它們是否能正常工作。由于IE獨(dú)特的盒模型布局問題,針對不同版本的IE的hack實(shí)踐過優(yōu)雅降級了,為那些無法支持功能的瀏覽器增加候選方案,使之在舊式瀏覽器上以某種形式降級體驗(yàn)卻不至于完全失效.漸進(jìn)增強(qiáng):從被所有瀏覽器支持的基本功能開始,逐步地添加那些只有新式瀏覽器才支持的功能,向頁面增加無害于基礎(chǔ)瀏覽器的額外樣式和功能的。當(dāng)瀏覽器支持時,它們會自動地呈現(xiàn)出來并發(fā)揮作用。
---------------去學(xué)學(xué)bootstrap框架,有興趣的話建議你向移動端這方面發(fā)展,有空就看看編寫高質(zhì)量代碼這本書。
跨瀏覽器,網(wǎng)頁性能優(yōu)化,seo,深刻理解Web標(biāo)準(zhǔn),對可用性、可訪問性等相關(guān)知識有實(shí)際的了解,包括代碼的可維護(hù)性、組件的易用性、分層語義模板和瀏覽器分級支持等。
設(shè)計:
怎么工作,怎么和程序員溝通,看以往作品,為什么那樣做,例如,程序員經(jīng)常反駁的理由有這么些:
1、功能太占用服務(wù)器資源了。
2、開發(fā)這個功能好復(fù)雜,如果占用太多時間可能影響項(xiàng)目進(jìn)度。
3、這個功能有助于提升用戶體驗(yàn),但我們實(shí)現(xiàn)起來比較麻煩。
4、這個功能太麻煩了,還是現(xiàn)在這樣的好。改改改
1、企業(yè)主要是看你能不能做東西。企業(yè)很難招到一個適合的人,不會輕易把你淘汰掉。
如果對方挑你毛病,證明對方有招聘你的意圖,否則的話,對方不會浪費(fèi)時間挑你毛病,挑你毛病的主要原因是,想壓榨你工資,所以你要自信一點(diǎn),無論對方怎么挑你毛病都不要害怕。
企業(yè)中沒有專門的面試官。
不是說我面試了這一家,他就一定要錄取我,還有很多公司等著你去挑,目光放長遠(yuǎn)一點(diǎn),一定要拿到自己滿意的薪資才做。
面試就是一個解開雙方謊言的過程,你能瞞過對方,證明你贏了。
換個心態(tài)去面試,不是企業(yè)在挑你,是你在挑企業(yè)。
第五篇:面試題答案
android中的動畫有哪幾類,它們的特點(diǎn)和區(qū)別是什么?
(兩種,一種是Tween動畫、還有一種是Frame動畫。Tween動畫,這種實(shí)現(xiàn)方式可以使視圖組件移動、放大、縮小以及產(chǎn)生透明度的變化;另一種Frame動畫,傳統(tǒng)的動畫方法,通過順序的播放排列好的圖片來實(shí)現(xiàn),類似電影。)
handler機(jī)制的原理
andriod提供了 Handler 和 Looper 來滿足線程間的通信。Handler 先進(jìn)先出原則。Looper類用來管理特定線程內(nèi)對象之間的消息交換(Message Exchange)。1)Looper: 一個線程可以產(chǎn)生一個Looper對象,由它來管理此線程里的Message Queue(消息隊(duì)列)。2)Handler: 你可以構(gòu)造Handler對象來與Looper溝通,以便push新消息到Message Queue里;或者接收Looper從Message Queue取出)所送來的消息。3)Message Queue(消息隊(duì)列):用來存放線程放入的消息。4)線程:UI thread 通常就是main thread,而Android啟動程序時會替它建立一個Message Queue。
說說mvc模式的原理
它在android中的運(yùn)用 MVC(Model_view_contraller)” 模型_視圖_控制器”。MVC應(yīng)用程序總是由這三個部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時改變兩者。只要 Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會 從潛在的Model中獲取數(shù)據(jù)來刷新自己
(View重繪和內(nèi)存泄露面試經(jīng)常問的問題)
Activity的生命周期
在一個Activity正常啟動的過程中,他們被調(diào)用的順序是 onCreate-> onStart
->onResume, 在Activity被干掉的時候順序是onPause-> onStop-> onDestroy,這樣就是一個完整的生命周期,但是有人問了,程序正運(yùn)行著呢來電話了,這個程序咋辦?中止了唄,如果中止的時候新出的一個Activity是全屏的那么:onPause->onStop,恢復(fù)的時候onStart->onResume,如果打斷 這個應(yīng)用程序的是一個Theme為Translucent 或者Dialog 的Activity那么只是onPause ,恢復(fù) 的時候onResume
IPC及原理
IPC是內(nèi)部進(jìn)程通信的簡稱,是共享“命名管道”的資源。Android中的IPC機(jī)制是為了讓Activity和Service之間可以隨時的進(jìn)行交互,故在Android中該機(jī)制,只適用于Activity和Service之間的通信,類似于遠(yuǎn)程方法調(diào)用,類似于C/S模式的訪問。通過定義AIDL接口文件來定義IPC接口。Servier端實(shí)現(xiàn)IPC接口,Client端調(diào)用IPC接口本地代理 在Java中如何引入C語言
可以用JNI接口來實(shí)現(xiàn)
什么時候使用Service?
比如播放多媒體的時候用戶啟動了其他Activity這個時候程序要在后臺繼續(xù)播放,比如檢測SD卡上文件的變化,再或者在后臺記 錄你地理信息位置的改變等等,總之服務(wù)嘛,總是藏在后頭的。請描述一下Broadcast Receiver,及注冊方法
Broadcast Receiver用于接收并處理廣播通知(broadcast announcements)。多數(shù)的廣播是系統(tǒng)發(fā)起的,如地域變換、電量不足、來電來信等。程序也可以播放一個廣播。程序可以有任意數(shù)量的 broadcast receivers來響應(yīng)它覺得重要的通知。broadcast receiver可以通過多種方式通知用戶:啟動activity、使用NotificationManager、開啟背景燈、振動設(shè)備、播放聲音等,最典型的是在狀態(tài)欄顯示一個圖標(biāo),這樣用戶就可以點(diǎn)它打開看通知內(nèi)容。通常我們的某個應(yīng)用或系統(tǒng)本身在某些事件(電池電量不足、來電來短信)來臨時會廣播一個Intent出去,我們可以利用注冊一個Broadcast Receiver來監(jiān)聽到這些Intent并獲取Intent中的數(shù)據(jù)。
為什么要用ContentProvider?它和sql的實(shí)現(xiàn)上有什么差別?
使用ContentProvider可以將數(shù)據(jù)共享給其他應(yīng)用,讓除本應(yīng)用之外的應(yīng)用也可以訪問本應(yīng)用的數(shù)據(jù)。它的底層是用SQLite數(shù)據(jù)庫實(shí)現(xiàn)的,所以其對數(shù)據(jù)做的各種操作都是以Sql實(shí)現(xiàn),只是在上層提供的是Uri
AIDL的全稱是什么?如何工作?能處理哪些類型的數(shù)據(jù)?
AIDL是一種接口定義語言,用于約束兩個進(jìn)程間的通信規(guī)則,供編譯器生成代碼,實(shí)現(xiàn)Android設(shè)備上的進(jìn)程間通信。進(jìn)程之間的通信信息首先會被轉(zhuǎn)換成AIDL協(xié)議消息,然后發(fā)送給對方,對方受到AIDL協(xié)議消息后再轉(zhuǎn)換成相應(yīng)的對象。AIDL支持的類型包括Java基礎(chǔ)類型和String,List,Map,CharSequence,如果使用自定義類型,必須實(shí)現(xiàn)Parcelable接口
activity的啟動模式有哪些?
在android里,有4種activity的啟動模式,分別為:
“standard”(默認(rèn))
“singleTop”
“singleTask”
“singleInstance”
android dvm 的進(jìn)程和Linux的進(jìn)程,應(yīng)用程序的進(jìn)程是否為同一個概念: 答:dvm是dalivk虛擬機(jī)。每一個android應(yīng)用程序都在自己的進(jìn)程中運(yùn)行,都擁有一個dalivk虛擬機(jī)實(shí)例。而每一個dvm都是在linux的一個進(jìn)程。所以說可以認(rèn)為是同一個概念。
Android中常用的五種布局:
答:LinearLayout線性布局;AbsoluteLayout絕對布局;TableLayout表格布局;RelativeLayout相對布局;FrameLayout幀布局;
Android的五種數(shù)據(jù)存儲方式:
答:sharedPreferences;文件;SQLite;contentProvider;網(wǎng)絡(luò)
請解釋下在單線程模型中Message、Handler、Message Queue、Looper之間的關(guān)系:
答:Handler獲取當(dāng)前線程中的looper對象,looper用來從存有Message的Message Queue里取出message,再由Handler進(jìn)行message的分發(fā)和處理。
android 中有哪幾種解析xml的類?官方推薦哪種?以及它們的原理和區(qū)別: 答:XML解析主要有三種方式,SAX、DOM、PULL。常規(guī)在PC上開發(fā)我們使用Dom相對輕松些,但一些性能敏感的數(shù)據(jù)庫或手機(jī)上還是主要采用SAX方 式,SAX讀取是單向的,優(yōu)點(diǎn):不占內(nèi)存空間、解析屬性方便,但缺點(diǎn)就是對于套嵌多個分支來說處理不是很方便。而DOM方式會把整個XML文件加載到內(nèi)存 中去,這里Android開發(fā)網(wǎng)提醒大家該方法在查找方面可以和XPath很好的結(jié)合如果數(shù)據(jù)量不是很大推薦使用,而PULL常常用在J2ME對于節(jié)點(diǎn)處 理比較好,類似SAX方式,同樣很節(jié)省內(nèi)存,在J2ME中我們經(jīng)常使用的KXML庫來解析。Collection 和 Collections的區(qū)別
Collection是集合類的上級接口,繼承與他的接口主要有Set 和List.Collections是針對集合類的一個幫助類,他提供一系列靜態(tài)方法實(shí)現(xiàn)對各種集合的搜索、排序、線程安全化等操作
面向?qū)ο蟮奶卣饔心男┓矫?/p>
封裝性、繼承性和多態(tài)性是面向?qū)ο蟮娜筇攸c(diǎn)。