面試總結(YY二面)

(1)一幅M*N大小的圖像大小是多少?前端

(2)項目是圖像處理的,用到了圖像處理裏面的那些算法?項目中讀取一副圖片的讓它顯示出來的過程是怎樣的,數據流是怎樣的?圖像是如何存的(我說是二維數組他說數組的大小是如何肯定的,我說是經過Matlab肯定的,但是若是不一樣廠家的圖片大小不同,難道不能在程序中肯定大小嗎,我說沒有想過呀)linux

還問項目中遇到了哪些問題?算法

答:好比說先開始是1024*1024*2字節的圖片,處理起來比較慢,而後就說。。。。是如何改進的。數據庫

又問項目中的方法是已有的呢,仍是大家發明的的?數組

項目中幾我的啊?分工是怎樣的啊?服務器

(3)有小汽車、摩托車、卡車,讓你設計一個基類和子類?網絡

(4)虛函數是怎樣實現的?基類指針指向派生類對象如何實現調用不一樣對象的函數?架構

(5)進程和線程的區別?線程共享的變量有哪些?併發

進程是資源分配的基本單位;線程是系統調度的基本單位。
平時咱們寫的程序都是做爲線程運行的;進程能夠看作是包括一系列線程和資源的統稱;一個進程至少包括一個
線程(主線程,進入main函數時產生的);在其中能夠建立其它線程,也能夠不建立。
同一進程間的線程究竟共享哪些資源呢,而又各自獨享哪些資源呢?
共享的資源有
a. 堆  因爲堆是在進程空間中開闢出來的,因此它是理所固然地被共享的;所以new出來的都是共享的(16位平臺上分全局堆和局部堆,局部堆是獨享的)
b. 全局變量 它是與具體某一函數無關的,因此也與特定線程無關;所以也是共享的
c. 靜態變量 雖然對於局部變量來講,它在代碼中是「放」在某一函數中的,可是其存放位置和全局變量同樣,存於堆中開闢的.bss和.data段,是共享的
d. 文件等公用資源  這個是共享的,使用這些公共資源的線程必須同步。Win32 提供了幾種同步資源的方式,包括信號、臨界區、事件和互斥體。
獨享的資源有
a. 棧 棧是獨享的
b. 寄存器  這個可能會誤解,由於電腦的寄存器是物理的,每一個線程去取值難道不同嗎?其實線程裏存放的是副本,包括程序計數器PC
 
(6)你更偏向於作哪一塊?我說後臺開發,他說你知道後臺開發是怎樣的嗎?(實際上我知道的並不清楚,就說前端改變後,經過程序對數據進行處理)
(7)網絡中在輸入。。。而後點擊搜索,接下來的過程是怎樣的呢?
(7)有沒有什麼要問的?我說剛纔我解釋的後臺開發並非那麼清楚,能不能麻煩你給我解釋一下?
後臺開發:
首先咱們要先對一個網站的架構有基本的瞭解,網站/軟件的組成由:網站後臺程序+前端頁面+域名+服務器+數據庫,這幾大項組合在一塊兒,纔是咱們日常所訪問的平臺。 
    通常咱們訪問一個平臺的時候,所看到的基本都是前端內容,而前端內容又經過用戶點擊,而後觸發後臺的功能和數據庫。因此咱們能夠訪問瀏覽不少不少網頁或者使用一些平臺上特定的功能。 
    其實作後臺的不少方向,部門不少,不一樣部門作後臺的作的事情也不同。要求熟悉linux,tcp/ip是必須的。 
     涉及到後臺的, 通常都是要跟數據庫打交道的大型數據量的處理問題。 
     以類 client - server 爲基礎的架構, 或者變形後的架構。 
     客戶端處理用戶的輸入和數據,  
     而後大量的客戶端(多個客戶端的多種數據) 反饋到服務端統一處理和協調, 而後服務端對客戶端發出相應的指令。 
     其中 後臺程序 表明的就是服務端的程序。 包含如下幾點: 
     1. 網絡通訊,  要跟遠程的client打交道,只能用網絡 
     2. 併發 和 並行處理。0。。 多個客戶端可能在同一時間同時須要處理同一個類型的數據, 誰先誰後,誰的有效誰的無效? 服務端的併發,同步顯得很是重要。 同理,每一個客戶端外表看起來都是馬上接收到服務的,這須要並行化處理。 
     3. 數據庫設計。 大量的數據,必須經過數據庫進行管理。可是頻繁的數據庫寫入會致使性能降低,因此要有合理的數據庫設計,以及讀寫控制設計。  而後數據庫的備份設計, 萬一down掉了怎麼辦,只能用備份的。這一點在銀行等電子商務的後臺設計中是重中之重。  
     4. 良好的擴展性的架構, 後臺一直在變的, 由於客戶端的需求一直是增長的, 不能由於爲了添加一個新功能,影響到舊的功能。
相關文章
相關標籤/搜索