2012.9.26早上十一点进行的面试. 面试的题都不难,应该在于考基本功吧.正面为面试经过:
自我介绍: 从来都是从自我介绍开始的. 开始准备的一紧张忘了差不多. 就问其要介绍哪些内容. 乱乱地就混过去了. 掩面.
针对简历问问题: 只是问一下做过项目的大概情况, 没有深入.如几个人做的, 大概介绍一下用途之类的.
两个问题:
1. 下列代码有什么问题.
1 char str1[6]; 2 char* str2 = "abcdef"; 3 strcpy(str1, str2);
2. c语言中char a = NULL 和 char b = '' (两个单引号)有什么区别.
问题一, str1不够长.
问题二, 我当时一看, 不太懂. #define NULL 0. 这是C语言里面的. 那么a的值就是0. b, 两个单引号!!! (中间没有任何东西.我看过去是这么理解的, 现在想想有可能中间是一个空格.总之如果两个单引号中间没有东西编译是不通过的.).场中我是猜的, 说什么是ascii 表中的第一个字符. a,当然就是啦. b的话, 当然就应该问清楚两个单引号中间是什么. 空的话就是我被面试官坑了. 基础还是不够扎实.
两个代码题:
1.求如何得到一个数组a[100], 里面随机数, 范围1到100, 不重复.
这个还好, 当然选用的是随机交换的方法如下:
int a[100];
for(int t = 0, t<100; t++)
{
a[t] = t+1;
}
for(int i = 0; i < 100; i++)
{
int r = (int)(rand()*100) ;
swap(a[i], a[j]);
}
之后又问了还有什么其它方法, 扯了一些.
2.选择排序的实现.
for(int i; i<100; i++)
{
for(int j = i+1; j<100; j++)
{
if(a[i] > a[j]) swap(a[i], a[j]);
}
}
然后就是问我有什么问题, 随便凑了几个问题这场面试就结束了. 面试当中写的代码可以说错了挺多, 多余的代码. 手写的速度比思考的速度快. 最终就凌乱了. 最后的结果就是昨天晚上没收到二面通知. 挂了. 要保持头脑清醒,思路清晰. 这个很关键. tx的一面, 还是在于基础吧, 写的代码虽然简单, 但也可以看出人的水平了. 如健壮性, 这些我都没有考虑出错情况. 以及代码图图改改. 这都是下次面试的时候要注意的. 就到这里吧.