全程採用電話面試,面試共分爲兩大部分,第一部分爲問答面試;第二部分進行筆試。
一、問答面試
先進行自我介紹。
1、c++基礎:
①堆與棧的區別,舉例。
②多態是怎麼實現的,作用是什麼。
③智能指針瞭解嗎?
④棧溢出是否經歷過?
2、數據結構
①B樹如何實現的
3、數據庫
4、項目經歷
找一個你最熟悉的項目進行描述。
①代碼量有多大(行數),自己負責的代碼量。
②內存泄漏問題怎麼解決的
③項目中最具挑戰性的問題
二、上機
用自己熟悉的排序算法即可
#include <stdlib.h> #include <stdio.h> typedef struct { int id; int cnt; } data_t; data_t input1[42] = { {1,5}, {2,2}, {3,4}, {4,10}, {5,4}, {6,7}, {7,6}, {8,3}, {9,9}, {10,5}, {11,3}, {12,16}, {13,9}, {14,17}, {15,4}, {16,7}, {17,19}, {18,16}, {19,10}, {20,12}, {21,2}, {22,6}, {23,17}, {24,2}, {25,10}, {26,8}, {27,2}, {28,16}, {29,20}, {30,19}, {31,15}, {32,12}, {33,8}, {34,16}, {35,12}, {36,11}, {37,11}, {38,15}, {39,7}, {40,4}, {41,8}, {42,4} }; int input2[100] = { 32, 26, 20, 28, 4, 20, 34, 2, 21, 25, 40, 42, 34, 20, 3, 13, 40, 29, 23, 14, 32, 16, 23, 23, 7, 14, 30, 37, 36, 6, 21, 12, 31, 9, 25, 41, 12, 35, 40, 41, 30, 41, 37, 30, 36, 42, 2, 37, 35, 21, 2, 11, 36, 36, 40, 18, 31, 21, 35, 12, 32, 11, 4, 31, 22, 41, 24, 3, 31, 32, 9, 40, 31, 32, 8, 36, 38, 16, 26, 26, 17, 20, 9, 29, 8, 24, 14, 4, 37, 26, 19, 13, 25, 38, 19, 2, 33, 12, 27, 3 }; /* Task: 1. sort input1 array according to data_t.cnt value 2. use a list to store sorted input array, and use input2 to adjust list in a LRU way */ int main(int argc, char **argv) { return 0; }