BaiDu校招2016计算机视觉笔试试题

笔试分为四个部分:企业文化认知测评15道、简单题3道、算法程序设计题3道和系统设计题2选1,时间为130分钟。

 

其中第一部分企业文化认知评测均为选择题,主要是对百度的认知问题,常识知识。

      

其中第二部分为简答题:

1.     分别采用线性表、二叉平衡树和哈希表存储数据,请分析他们各有什么优劣?

2.     选择合适的排序算法:

1)很少的元素

2)几乎有序的元素

3)关注最坏的情况

4)希望能够得到较好平均情况下的

5)元素是从一个密集集合中取出

6)实现最简单,尽可能少的写代码

3.     阅读代码,说明输出的含义并找错:

1)写出代码运行前7行并说明该数列含义;

2)代码中是否有安全隐患?原因是?

#include

#include

Const int MAX_LEN=128;

Const int MAX_LINE=20;

Int main(int argc,char* argv[])

{

Char str[MAX_LEN]=”1”;

Char tmp_str[MAX_LEN]=””;

Char buf[MAX_LEN]=””;

Printf(“%s\n”,str);

For(int line=1;line<=MAX_LINE;++line){

Strcpy(tmp_str,str);

Str[0]=’\0’;

For (int i=0;tmp_str[i]!=0;++i){

Char ch=tmp_str[i];

Int count=1;

For(:tmp_str[i+1]==tmp_str[i];++i){

++cout;

}

Sprint(buf,”%d%c”,count,ch);

Strcat(str,buf);

}

Printf(“%s\n”,str);

}

Return 0;

}

 

 

其中第三部分为算法程序设计题

1.有一串首位相连的珠子,总共m颗,每颗珠子都有自己的颜色,全部颜色共有n(n<=10),现在要在里面截取一段,要求包含所有不同的颜色,并且长度越短越好。求如何截取。请详细描述算法思路,可以用伪代码来辅助描述。并求得时间复杂度和空间复杂度!

 

2.二重哥德巴赫猜想:每一个不小于6的偶数可以表示为两个素数之和。请用你熟悉的语言编写一个函数,输出6—100000(包含6和100000)内所有偶数可以表示为哪两个素数之和。如果一个偶数有多重表示方式,输出一种即可。要求:给出完整代码,在达到目标情况下尽量高效,简洁。

 

3.两个节点之间有若干节点,请在入口节点到出口节点插入若干节点,使得从入口节点到出口节点经过任意段路径周长相同。设计算法思路,必要时可以用伪代码辅助描述。

 

其中第四部分系统设计题2选1均为机器学习类题目,其中:

1.  关于支持向量机的(Support Vector Machine,SVM)的题目(这个算法是90年代提出的统计学机器学习算法,但是我一直都没理解,故我选择了第二个。)大致有如下几个小问:

1)     线性SVM原始问题的优化问题是什么?其对偶问题是什么?

2)     求解原始问题和对偶问题常用的优化算法有哪些?

3)     SVM如何处理多分类问题?

4)     SVM和logistic regression的异同,如何统一成一个优化问题形式?

5)     线性SVM和非线性(KERNEL)SVM与神经网络的关系?

 

2.关于logistic回归,(这个函数为复杂回归函数,又被称为逻辑回归,或者sigmoid回归,在深度学习中为激活函数,应用非常广泛,除此之外还有softmax回归函数)大致有如下几个问题:

1)Logistic回归公式;

2)logistic函数的表达式与其导数;

3)logistic的loss及其更新公式。

你可能感兴趣的:(经验贴,心路历程)