全程采用电话面试,面试共分为两大部分,第一部分为问答面试;第二部分进行笔试。
一、问答面试
先进行自我介绍。
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; }