阿里2020年提前批开发岗第一轮面试

全程采用电话面试,面试共分为两大部分,第一部分为问答面试;第二部分进行笔试。

一、问答面试

先进行自我介绍。

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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值