過程:先是自我介紹,然後開始問問題,3個人,乙個主問,乙個插兩句,乙個坐在那裡對簡歷發呆。然後就問我平常用什麼語言,答曰,以前c,現在c++
問題:
1、c++裡虛函式的作用
虛函式好像一直問的比較多,這裡小總結一下:
函式可以分為:類的成員函式(非靜態成員函式、靜態成員函式),非類的成員函式(普通的函式、虛函式)。根據這種函式的分類,就知道了函式絕對是不能同時為虛函式以及靜態成員函式的。
虛函式還可以繼續細分為純虛函式和普通的虛函式。普通的虛函式必須要有函式的實現,必須有乙個關鍵字來修飾:virtual ,同時不能有static修飾。
純虛函式必須在普通的虛函式基礎上加上「=0」。預設情況是只有定義,而無需實現的,即只是定義乙個介面(當然也可以實現,這時實現認為是預設的一種狀態顯示),同時包含了純虛函式的類表明該類是乙個抽象類,不能定義該類的物件,也就是說該類被定義成基類,是要被繼承的,通過繼承類來完成基類物件的生成。
虛函式的作用
是允許在派生類中重新定義與基類同名的函式,並且可以通過基類指標或引用來訪問基類和派生類中的同名函式。換句話說就是實現「動態聯編」,好處是在程式的執行階段動態地選擇合適的成員函式,因為要在執行時才能確定,所以效率稍低。
實現方式:在定義了虛函式後,可以在基類的派生類中對虛函式重新定義,且與虛函式具有相同的形參個數和形參型別;如果在派生類中沒有對虛函式重新定義,則它繼承其基類的虛函式。這樣就實現介面的統一,不同定義過程。
2、c裡面的 struct 和 c++ 裡的 class 的異同
這裡分兩種情況來回答
(1)c的struct與c++的class的區別。
c是一種過程化的語言,struct只是作為一種複雜資料型別定義,struct中只能定義成員變數,不能定義成員函式。
(2)c++中的struct和class的區別。
訪問許可權上:class中預設的成員訪問許可權是private的,而struct中則是public的。
繼承上:class繼承預設是private繼承,而struct繼承預設是public繼承。
其他:「class」這個關鍵字還用於定義模板引數,就像「typename」,但關鍵字「struct」不用於定義模板引數。
3、寫乙個程式,給定乙個數 x ,輸出不大於它的二的幾次冪
這個很簡單了,就是 2^n<=x ,然後輸出 n 麼,就幾行**。
4、說說快速排序的思想
前面有篇文章已經總結過了,點這裡。
5、物件導向和面向過程的區別
面向過程是自頂向下逐步程式設計,就是分析出解決問題所需的步驟,其最重要的是模組化的思想方法。
物件導向的方法主要是把事物給物件化,包括其屬性和行為。抽象出物件的目的並不在於完成某個步驟,而是描述其在整個解決問題的步驟中的行為。
簡單點說就是,面向過程就是你把**封裝成函式,然後依次去做一件事情;
物件導向就是你把要做的事情抽象成物件,告訴物件去做。物件導向三大特性(封裝,繼承,多型)使得在做複雜的事情的時候效率和正確率得到保證。
6、c++多型的概念
多型性可以簡單地概括為「乙個介面,多種方法」,程式在執行時才決定呼叫的函式,它是物件導向程式設計領域的核心概念。多型性是通過虛函式來實現的,只有重寫了虛函式的才能算作是體現了c++多型性。多型的目的則是為了介面重用,不論傳遞過來的究竟是那個類的物件,函式都能夠通過同乙個介面呼叫到適應各自物件的實現方法。關於多型,這篇文章講的很不錯。
7、簡要說下sift特徵的提取(所有問題裡唯一乙個和簡歷上有點相關的,暈)
前面也說過了,點這裡。
8、還有balabala的一些零碎的東西,就是一些c++的基本知識
總結:總體感覺,問的問題一般,3個面試官和我們差不多大,對他們的穿著打扮第一印象就是小屌絲,還有,3個人感覺有點浪費資源;
其次,沒有抓簡歷的要點去問,想到哪問道哪,比較不專業;
再次,在面的過程中突然覺得自己對這方面不是很感興趣,他們也表示做開發方向的基本只招計算機的,感覺測試沒多大發展前途;
最後,選擇自己喜歡的比較重要,不管有木有二面,不想去了,不要浪費時間在不喜歡的上面。
網易遊戲測試工程師面試小記
過程 先是自我介紹,然後開始問問題,3個人,乙個主問,乙個插兩句,乙個坐在那裡對簡歷發呆。然後就問我平常用什麼語言,答曰,以前c,現在c 問題 1 c 裡虛函式的作用 虛函式好像一直問的比較多,這裡小總結一下 函式可以分為 類的成員函式 非靜態成員函式 靜態成員函式 非類的成員函式 普通的函式 虛函...
面試經驗 網易遊戲測試工程師全天面試筆記
一面之前 參加乙個現場的程式設計測試,用自己熟悉的語言手寫程式 解決問題。這是該問題 給你一組活動,告訴你每個活動的開始時間和結束時間,要你求出你能參加的最多活動的數量 並且針對當中可能出現的問題編寫要求得錯誤處理機制。一面 技術面 三個面試官,乙個負責記錄,另兩個負責問問題。之前寫的程式由以為面試...
測試工程師面試經驗
01.為什麼要在乙個團隊中開展軟體測試列舉出程式中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例.例如,在單元測試時曾列出的許多在模組中常見的錯誤.以前產品測試中曾經發現的錯誤等,這些就是經驗的總結.還有,輸入資料和輸出資料為0的情況.輸入 為空格或輸入 只有一行.這些都是容易發生錯...