奇虎360一面

2021-06-18 20:08:44 字數 1098 閱讀 3545

崗位:ios研發

面試題目:

1. 虛函式的實現原理

2. 如果申明a

類的兩個物件,那麼這個虛函式表在記憶體中是怎麼表示的,放在什麼位置?

點評:多個a

的物件共享乙個虛表,虛表一般放在程序的常量資料區中。

3. 既然多個物件公用乙個虛函式表,那麼申明乙個新的a

類物件的時候指標是怎麼找到這個虛函式表的?

4. n個結點(相同

)構成一顆二叉樹,然後再用這些結點構成一棵樹,問構成的這兩個種類誰多誰少?

點評: 二叉樹比樹多,二叉樹和樹林存在一一對映關係,二叉樹並不是樹的子集,因為樹是不 分左右孩子節點的。

5. 多重虛繼承在記憶體中如何表示的?比如b、c

同時虛繼承於a,

d分別繼承b和

c,然後畫出

d的記憶體模型,然後如果申明

c *p=new d()

,那麼使用什麼機制可以使

p訪問到

a中的內容。

點評:d中是共享乙個共同的

a物件的,b、

c中都有乙個虛指標指向

a的開始位址,便於訪問  

a中的內容,那麼在

d中就有

a + b 

中不屬於a的 

+c中不屬於a的

+b指向

a的虛指標

+ c指向

a的虛指標。因此可以通過虛指標訪問自己的基類。

6. 時間片輪轉排程演算法中當時間片到了以後怎麼進行程序切換的(什麼機制)?

點評:cpu有乙個時鐘週期,硬體上的,每當

cpu時鐘週期到了就陷入時鐘中斷,進入作業系統的程序排程程式,隨即進行程序的上下文切換。

時間片輪轉排程會引起cpu

的效率降低,在進行上下文切換的時候,非時鐘輪轉排程演算法雖然缺點很多,但是也有優點,比如

cpu效率高,實現簡單(不用考慮程序的同步互斥?)

7. 搶占式排程演算法和非搶占式調服演算法的優缺點?主要是說明一下非搶占式的優點

8. 在單核cpu

中,執行緒本質上不是併發執行的,而是乙個執行緒乙個執行緒執行的,那麼在單核

cpu中可以不加鎖機制嗎?

點評:依然需要加鎖機制。

10月15號 360一面

昨天去360參見一面,作為小本一枚,迅雷,多玩,360都是霸筆才得到的面試機會,說實在的感覺360一面聊了40分鐘,整個過程比較輕鬆 面試官比我大個十歲左右,三十來歲,帶著婚戒的,大概是以下這些問題 1.介紹乙個自己的專案,我就說了乙個自己的web server專案 2.c中的static有什麼作用...

阿里一面 電話面

前端小白記錄一下面試經歷 首先面試官特別和藹可親,聲音很溫柔。開始就是做了下自我介紹,blablabla.接下來就專案談了一下做了哪些專案,用過哪些技術,遇到過哪些難題之類的。下面就是技術問題了 記住,搞懂原理很重要 1.闡述一下ajax原理 2.解釋一下vuex原理 3.vue雙向繫結原理 4.解...

阿里一面電話面

flex的理解,flex direction為row表示什麼含義,居中怎麼設定 grad布局 rem,不同瀏覽器下怎麼設定元素大小 cookie,local storage,sessionstorage之間的區別,哪個可以跟服務端通訊 localstorage設定元素的api 怎麼設定cookie不...