Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 記一次失敗的面試經歷

記一次失敗的面試經歷

編輯:關於Android編程

以下開始介紹這次的面試經過:

慣例:首先是HR人員上場,填寫標准制式的表格,填寫完成後,一般都是自我介紹下,這裡不再累述,干過幾個公司,為什麼離職,對本公司的了解,然後就是期望的薪資什麼的。

完了就給了一份筆試題:時間30分鐘,30分鐘完成後通知HR,面試題如下:

\

 

\

 

對於一個剛畢業或者的工作2-3年的人來說,做筆試題可以檢驗處他的基本水平,但是超過5年的人很反感做筆試題,除非這個公司在業界很知名或者是外企。

正確答案沒有查證:

以下是我的理解:

填空題1:

WLILE()語句裡邊首先是個賦值語句,然後是判斷,循環裡邊是地址增加。

分析考察 = 和 == 區別答案 A

2:

二維數組定義和ASIIC碼的知識

答案 C 二維數組定義B 0X38 是字符‘8’的ASIIC碼

3.:關於地址和值的考察 這個在嵌入式中大量用到,MCU的寄存器的定義就是這樣定義的,一般人不會注意這些東西,畢竟芯片商把這塊都給大家做好了,直接使用就行了

這個題當時考慮了半天還是打錯了,快到時間的時候在試題背面畫了類似的圖,由於時間關系最後沒修改答案正確答案

*(u32 *) (0x20000123)= 0x11223344;

*(u32 *) (0x20000123)&0xFF;

44.

 

簡答題:

1.考察編程能力,編程習慣。對應編程題,在試題的背面只是寫出了函數名 形參, 返回參數,具體內容未寫,由於時間原因一般情況下 不做編程題

2.嵌入式經典的16個問題裡邊的 ,在題上用筆畫出了有問題的地方,沒形參,沒返回值,不能用PRINTF函數,其他的沒深究貌似浮點那也有問題。

3.IO輸入輸出有8中模式,對於一個常用STM32的人來說,8種模式用全的很少吧,浮空輸入,模擬輸入,上拉,下拉輸入,OD ,PP,剩下的2個是復合型的沒用過也就沒記,模擬IIC的問題 ,用開漏方式,外接上拉電阻。

4.不做描述

基本在20分鐘就做完了上邊那些,就剩那個編程和填空的3的1,2不確定,無聊就在試題背面畫了下大概。

 

 

30分鐘時間到,通知HR試題答完,技術下來面試;

面試官過來,正式開始面試環節,禮貌性的問候和自我介紹,然後我就說了今天大家就是相互探討,相互交流,學習,面試官就說(沒介紹自己,負責什麼的):把你的工作經歷介紹下,做了哪些項目,大概介紹下。

我:什麼時候畢業,畢業後在那個公司做了哪些項目,產品,產品應用方向,主要技術,外設,負責那部分,實現什麼樣的功能。下來來說重點部分,有幾個產品是使用STM32開發的,用C語言編寫,不過有時會把c寫成C++的形式,可能是我表述的不是很清楚,就給他用Linux的驅動舉例,咨詢他是否會Linux,他的回答是肯定的,在Linux所有去驅動只要實現READ, WEITR ,IOCTRL,對應的設備只用去調用就行了,說白了就是c 實現面向對象的思想。給各位看下實例吧:

typedef struct

{

void (*Init) (void);

u8 (*GetICInfo) (IC_MEMORY_INFO* info);

u8 (*EraseSector)(u16sectorNo);

u8 (*Prog) (u8* data, u16 sectorNo);

u8 (*ProgRAM)(u8* data, u16sectorNo);

u8 (*Read) (u8* data, u16 sectorNo);

u8 (*Protect)(u32 data);

}DEVICE_IC_ST;

 

extern const DEVICE_IC_ST stm32;

 

關於C、C++我問了面試官一個最基本的問題結構體和類的區別,答案是數據。

這是唯一的一次我和面試官的互動。

 

 

下來就聊到STM32開發中會用上位機開發一些測試程序,講了下什麼情況下會測測試程序,開發環境,他問了下會QT沒,我回答是用MFC,QT不會,然後就聊到了上位機下位機之間的通訊,和通訊協議,我在試題的背面寫了我常用的協議格式,格式如下:

包頭

LEN

CMD

DAT[N]

CHK

包尾

 

第一個問題出現了:包頭是怎麼實現的,由於這個問題過於簡單沒有回答,只是回答你只要能根據你定義的協議八數據解析出來就行了,一般情況下包頭包尾根據自己常用的寫個定義就行了,如果不知道怎麼定義,我強烈鄙視(aa 55, “BS” )都行,只要能解析,數據不出錯即可。

然後就說下如果沒有包頭 包尾的話是MODBUS協議,第一個為地址(0-255)並用中文說明是工業現場的通訊協議

下邊的是在工作中定義的一條消息

主單元地址

功能碼

寄存器地址

數據

CRC16校驗

1字節 [FAH]

1字節[06H]

2字節

(占)2字節

2字節

 

第二個問題:介紹下什麼是MODbus協議,我就大概介紹了下常用的01 03 06 10命令,單個的讀寫和多個的讀寫方式這個只是根據平時用到的做了個簡介,當然不全對,只是個大概。看著對方胸有成竹的樣子認為遇到行家了。MODBUS協議我也就用了幾個產品

 

第三個問題:應用場合 震驚 前邊都說了工業現場的通訊協議,然後有重復了一遍。

 

第四個問題:他們的穩定性是怎麼保證的,MODBUS 80年代就開始用的,是比較好的一個協議,協議解析除了不出問題的話,一般出問題的後我們的處理辦法就是重發,收到反饋為止

 

關於協議的穩定問題我反問了你們是怎麼做,我們交流下,這個來回了3個,人家說這個是我問你的問題,你先回答,好吧誰讓我面試者呢,就講了重發機制,常用的2種方法一種是周期的重發,周期間隔相等,另外一種就是根據定義延長間隔時間重發,同時本地保存數據

 

引出了問題五:

本地怎麼保存信息,數據內容加時間戳,並在上邊的那個自定義協議上畫出時間戳部分字段

 

引出了問題六:

本地怎麼保存,一般情況下,存FLASH,對於要求比較高的數據直接存鐵電。連接成功後打包上傳,FALSH的容量可以根據理論值進行計算常用的是8MB 16MB 32MB64MB 不差錢的可以用更大(也可以用SD TF卡存儲,沒提 害怕有引出其他問題)

 

問題七:

如果1S一次的數據怎麼處理,一般是按照一頁進行存儲。

 

問題到這基本就完了,然後面試官就說了怎麼針對我有敵意啊,讓你講個MODBUS,你就當我沒接觸過用最短的時間給我講明白,我說我只能給你大概講下,如果要細講的我抽出半天的時間給你講解,工業現場的通訊協議你也要問題用在什麼場合,不是很明白嗎,用在工業,不是我理解有問題,就是我智商有問題,然後就我們就沒有必要在進行溝通了,就OVERL .

 

 

總結:

作為技術人員,我也面試過很多應聘者,大家之間是一種平等的交流,相互學習,相互探討,通過簡歷對他做的東西有個大概的認識,能讓來面試的基本都是從事過相關的工作或者相近的工作,通過有針對性的提問對面試者的技能又個大概的認知。如果面試人員的簡歷中出像類似的產品會進行細致的了解。對於面試人員的回答如果有異議也會給出一些解答和分析。

 

在以上的交流,不應該算做交流只能算作提問,發現面試官給人一種高高在上的感覺,面試的人員就是來面試,在回答的過程中有感興趣或者不知道的就進行深究,完全不知道他要面試的這個崗位的目的。作為一個高級崗位,一般是要看面試者的基本的技能水平,處理問題,解決問題的能力,對產品的規劃,把握,對開發進度的控制。人員的協調,處理能力。

在上邊的提問中並沒有完全體現出來。

附某公司高級工程師要求:

職位描述:
精通Android系統的軟件的開發,對ios系統也熟悉
開發和維護智能設備,並且能開發基於Android系統的智能設備的應用
有效帶領技術團隊,建立並完善公司各項研發規范及流程
對項目開發流程、質量、進度的規劃和控制管理。
負責系統架構設計、數據庫設計、業務邏輯、核心代碼等設計
帶領團隊完成移動端、PC端的開發任務
精通開發APP

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved