我的android 面試之路(二:新的開始),android新的開始

來源:互聯網
上載者:User

我的android 面試之路(二:新的開始),android新的開始
不忘初心 方得始終

    剛剛從宣講會回來 是一群創業機構集體辦的宣講會(VC給主持的)人很多  好不容易投到簡曆 又接到北京公司電話通知我電話面試(我希望在北京工作- -)安排了下具體時間 總之今天從早筆試到晚上忙壞了呦 

    不找工作永遠不知道找工作有多麼難 這個道理就像是 當你真正想修下水管的時候發現 我靠 這屎味是人能忍受的麼 怎麼會有人會修下水管

    瞭解自己是很重要的一步 知道自己的短板 對學習有很大協助 我不是一個大牛 不是一個全能shen 不是什麼都會 演算法也讓我頭疼 但是我知道我缺什麼 讓自己補充什麼 足矣

    不忘初心 方得始終 昨天晚上不知道為啥想起來這句話 反正感覺說的好 說的牛x 還有 我寫這個部落格也希望有很多人協助我發現我的問題 有問題我就改  我可以被罵傻x 可以被罵技術腦殘 只要我有些提高 對我自己足夠了 我愛這個世界

    還是那句話 不忘初心 android 是一定走下去的 所以現在開始 首先我面試時候被問的最多的一個問題

    就是它 -------------> “進程和線程什麼關係”

    進程和線程到底是什麼 我就不把百度知道貼上去了

    首先我先簡簡單單的說一下我的想法

    進程是用來處理任務的 比如給進程了一個名單 要進程找到這裡面叫艾豐吳的名字

    進程想了 我去 這麼長的名單 怎麼找啊 派手下去幹 線程就像是手下了 比如有三個線程小弟 三個人一起找這個倒黴催的叫艾豐吳的人

    (不知道比喻的恰不恰當 如不恰當請無視- -)

    CPU--->這貨是電腦的核心  他會算數(承載計算任務)

    但是它也是普通人 一次只能運行一個東東

    進程--->這貨就是CPU一次只能運行一個的那個東東

    一個進程啟動並執行時候 其他進程處於非運行狀態

    線程--->一個進程可以有很多線程 他們協同完成一個任務

    進程的記憶體空間 對於線程來說是共用的 他們共用這些資源

    但是某些共用是有條件的 有的只讓一個線程用 有的讓幾個線程用 其他人想用 需要給哥等著

    防止等著的人插隊怎麼辦 那就要加上一層鎖 比如一個房間 進去一個線程 鎖上門 防止別人進入 讓他們在外面排隊 給哥等著

    這個鎖叫互斥鎖 防止多個線程同時寫一塊記憶體

    還有的讓幾個人用 那怎麼辦呢  就在門口放幾把鑰匙 進去的人拿一把 鎖上門 直到門口鑰匙木有了 就進不去了 只能給哥等著了

    這些鑰匙 叫做訊號量 保證多個線程不會衝突

    

    以上就是進程與線程的的解釋 總結幾點:

    (上面與下面均剽竊阮一峰的部落格 《進程與線程的一個簡單的解釋》http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html)

  

      1.作業系統以多進程形式 允許多個任務同時運行

    2.允許以多線程形式 允許任務分為不同的部分運行

    3.作業系統提供一定的協調機制 一方面允許進程與進程間共用資源 線程與線程間共用資源  另一方面又防止進程與進程之間 AND 線程與線程之間產生衝突

  

    總之 可以對面試官驕傲的講出我的觀點(第一次面試的時候磕磕巴巴 懂得都說不出來- -)

    這個問題問完 有些面試官就問我了  那處理序間通訊你知道怎麼通訊嗎?

    “.......”

    作業系統老師我對不起你- -

    進程間通訊的方式分為 管道 共用記憶體 訊號量 訊號  通訊端 訊息佇列

 

    那android 裡處理序間通訊我是怎麼使用的?

    ”以我做過的東西來說 攔截一個人的電話 需要傳遞給撥號進程用來掛斷電話“

    ”這個東東叫AIDL(Android Interface Defination Language)安卓介面定義語言(木有拼錯吧  - -|| )“

    面試官一定默默的嘲笑我的英語- -因為我說的不流利

    具體google就可以啦

 

    那線程呢?

    面試官why are you so diao?讓我喘口氣啊倒是

    ”線程間通訊這個吧就是訊息傳遞機制MessageQueue 啊 Loop 啊 Handler 啊 “

    ”handler 處理收到的訊息和發送的訊息 訊息佇列就是MessageQueue 每個線程都有一個Looper 用來讀取MessageQueue中的訊息 “

    嗯 ok ok 還可以

    PS:說ok ok 還可以的面試官用的鎚子手機 我也是最後他返回案頭時候發現的  沒看到幾眼 到底還是沒見到過真機 哎 (<---快說我寫的是鎚子的軟文)

    

    大家來找茬 快指出我的錯誤- -

    先謝過大神們了

    寫了好久 不寫了 每天都是 新的開始 ^_^


android 面試作品

關注Android已經很久了,去年Android職位還是寥寥無幾,現在已經如雨後春筍一般湧現,去各招聘網站,在職位一欄裡輸入Android關鍵字,你將會發現有很多的空缺職位.這無疑給廣大程式員帶來了新的機遇,你只要有半年或者一年相關Android相驗你會很搶手.我相信只要你投簡曆,我不敢說每投必"應",最起碼十有四五的機率還是有的.

那麼每個公司招聘Android開發人員,到底看重什麼呢,下面我將以個人的觀點,講一下應聘Android開發人員應該具備的條件.

說實話,對於搞過java的程式員來說,轉到android是一件很容易的事,兩三個月研究研究就足已了,世面上的android書買一本入入門就OK了,做Android應用個人認為比較簡單,但是有創意的還是比較難的.如果你只是想做簡單的android應用開發人員,你只要準備一下Java知識(多線程,Socket通訊等),然後在對Android略知一二(如Android架構,Activity的理解,以及一個應用的生命週期等等).這些我相信可以應付過去了.

但是如果你想做更底層的開發,比如嵌入式開發(Android驅動開發等),那麼你就要懂得多一些知識了,畢竟這年頭Arm+Android還是很有搞頭的.這個你就要懂Linux,Arm,C,C++等知識了,畢竟這方面的要求還是蠻高的.大家可以買個arm開發板,然後自己把android移植進去,做一些驅動開發,和應用開發,這樣你去應聘直接把你的東西帶過去,還是更有說頭的.
 
android 面試題

1、前言 
  6 月  26  日,  Google Android  發布了  NDK  ,引起了很多發人員的興趣。  NDK  全
稱:   Native  Development  Kit  。為: 
developer.android.com/...  。 
2、誤解 
  新出生的事物,除了驚喜外,也會給我們帶來一定的迷惑、誤解。 
2.1、誤解一:  NDK  發布之前,  Android  不支援進行  C  開發 
  在 Google  中搜尋  “NDK”  ,很多  “Android  終於可以使用  C++  開發  ”  之類
的標題,這是一種對  Android  平台編程方式的誤解。其實,  Android  平台從誕生起,就已
經支援  C  、   C++  開發。眾所周知,   Android  的  SDK  基於  Java  實現, 這意味著基於  Android 
SDK  進行開發的第三方應用都必須使用  Java  語言。但這並不等同於 “  第三方應用只能使
用  Java”  。在  Android  SDK  首次發布時,  Google  就宣稱其虛擬機器  Dalvik  支援  JNI  編程
方式,也就是第三方應用完全可以通過  JNI  調用自己的  C  動態庫,即在  Android  平台上,  
“Java+C”  的編程方式是一直都可以實現的。 
  當然這種誤解的產生是有根源的:在 Android SDK  文檔裡,找不到任何  JNI  方面的
協助。即使第三方應用開發人員使用  JNI  完成了自己的  C  動態連結程式庫(  so  )開發,但是  so 
如何和應用程式一起打包成  apk  並發布?這裡面也存在技術障礙。我曾經花了不少時間,
安裝交叉編譯器建立  so  ,並通過  asset (資源)方式,實現捆綁  so  發布。但這種方式只
能屬於取巧的方式,並非官......餘下全文>>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.