记录人生第一次面试–阿里一面–研发工程师C/C++
上来就三道编程题
题目一:
10000个元素的数组中找出出现次数最多的元素,每个元素都是小写字母
题目二:
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点,
例如:A->B->C->D->null
反转后D->C->B->A->null
Definition for singly-linked list.
struct ListNode{
int val;
ListNode *next;
ListNode(int x) ; val(x) , next(NULL){}
};
ListNode* reverseList(ListNode* head){
}
题目三:
m*n二维整数数组,每一行从左至右、每一列从上至下依次增大。用有效的方式查找某个数字是否存在数组中。实例:
【
【1 , 4 , 6 , 9 , 15】,
【3 , 5 , 8 , 13 , 19】,
【5 , 7 , 10 , 14 , 24】,
【11 , 13 , 15 , 17 , 26 】,
【18 , 20 , 23 , 27 , 30】
】查找8,返回ture,查找21,返回false
问答:
1.自我介绍
2.比赛项目
3.自己怎么去学linux,怎么去用
4.本科专业学了多少门跟计算机相关的课程
5.在某些方面,比如连个整数,判断两个整数大小,可不可以x-y<0、-x<-y
6.写了个.c代码,怎么让它编程可执行文件,编译链接的具体过程,gcc -o的具体实现
7.讲进程和线程
8.设计原则
9.近期具体有什么规划



