当前位置:七七学习网文档大全求职指南求职笔试面试面试问题UT斯达康笔试面试经验» 正文

UT斯达康笔试面试经验

[10-10 21:18:33]   来源:http://www.77xue.com  面试问题   阅读:8238
概要: 2、指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。别看free和delete的名字恶狠狠的(尤其是delete),它们只是把指针所指的内存给释放掉,但并没有把指针本身干掉。 通常避免野指针的办法是正确的使用指针: 1.声明一个pointer的时候注意初始化为null int* pInt = NULL;2.分配完内存以后注意ASSERT pInt = new int[num]; ASSERT(pInt != NULL);3.删除时候注意用对操作符 对于new int类型的,用delete 对于new int[]类型的,用delete []4.删除完毕以后记得给他null地址 delete [] pInt; pInt = NULL;5.记住,谁分配的谁回收,不要再一个函数里面分配local pointer,送到另外一个函数去delete6.返回local address是非常危险的,如必须这样做,请写注释到程序里面,免得忘记五.最后一个问题,也是
UT斯达康笔试面试经验,标签:面试问题汇总,英语面试问题及答案,http://www.77xue.com
    2、指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。别看free和delete的名字恶狠狠的(尤其是delete),它们只是把指针所指的内存给释放掉,但并没有把指针本身干掉。
通常避免野指针的办法是正确的使用指针:
1.声明一个pointer的时候注意初始化为null
int* pInt = NULL;
2.分配完内存以后注意ASSERT
pInt = new int[num];
ASSERT(pInt != NULL);
3.删除时候注意用对操作符
对于new int类型的,用delete
对于new int[]类型的,用delete []
4.删除完毕以后记得给他null地址
delete [] pInt;
pInt = NULL;
5.记住,谁分配的谁回收,不要再一个函数里面分配local pointer,送到另外一个函数去delete
6.返回local address是非常危险的,如必须这样做,请写注释到程序里面,免得忘记
五.最后一个问题,也是压死我这个骆驼的最后一根稻草:二分查找法的程序能不能上机写出来?
看到题目我第一反应是:太简单了吧,这样子搞那我岂不是想不留在这里做事都很难了,简直不给我选择的机会嘛,于是我很爽快的答应了,2分钟之内写出程序,要知道我面试前做了三天的准备,这个程序可是谭浩强的书中最经典的程序之一,我背都背下来了。
bool binary_search(int* arr, int key, int n)
{
int low = 0;
int high = n - 1;
int mid;
while (low <= high)
{
mid = (high + low) / 2;
if (arr[mid] > k)
high = mid - 1;
else if (arr[mid] < k)
low = mid + 1;
else
return ture;
}
return false;
}
面试经历:
    写完程序后,我匆匆的试着执行了一下,看着屏幕上显示的OK,心中揣着的那块大石头也就提前登陆了。 我叫来面官,原以为他应该看两眼就完事了,没想到那家伙居然郑重其事的坐下来一板一眼的输入一长串代码去执行,看着屏幕上显示的一行又一行"No Found!",我感觉有点不妙。
    面官很和蔼的让我再调试下,就起身忙他的去了,而我在调试了3,4分钟后还是没有找到问题的情况下彻底傻眼了,我根本就没做这个预案,而且我敢对天发誓,我写的程序绝对和书上就差几个字符不一样。
    就在这万分危急的时刻,那家伙居然跑过来站在我的身后假惺惺的做指点。他的一句:“你的“TURE”写错了!”基本上是扒掉了我身上的最后一块遮羞布。我在把函数的返回值和变量定义改了几个回合之后彻底缴械了。
    但是我的缴械不是迫于他的yin威,而是出于我的过分自信。在我看来我已经表现的很好了(当时确实是这么认为的),因为我以往写的代码,一调试往往都是几十行的错误信息,今天写的这段从第一遍调试起就一直没有语法错误,我已经创造了历史,更何况结果已经出来了,只是有那么一点点小小的错误嘛,表现太完美了也不太好吧??
    然而我得到的却是完全出乎意料的答复,而且这个答复来的那么快。“很遗憾,我们不能录用你!”,面官还是那么和蔼,而且还在后面加了一句我怀疑是出于安慰才说的话。“要是你这个程序调出来了可能我们就会录用你了,但是我们毕竟有个标准。”
    他在最后还是给了我一个理由,这个理由成了我此行最大的收获,这个理由让我至今都觉得我那次面试有重大意义。“其实程序是调出来的,不是写出来的。我刚刚看了你调试的过程,你没有使用断点,也没有使用单步运行,这些是程序调试最重要的手段。”
    这个理由让我输的心服口服,让我至今任仍有很多感触。今天我愿把我的感触拿出来与大家分享:
1.学校和公司对我们的要求不一样,评价的标准也不一样。在学校,我上面的那段代码可能是满分,我也有过很多次这样的经历。纸上写个程序,拿眼睛看看,没有问题,交上去就完成任务了。但是在公司,他们只看你代码执行的结果和执行效率,根本不关心你用多久写出来,你写的过程是一帆风顺还是错误累累,只要结果和预期值不一样,哪怕你的代码和标准答案只差一个字符,也是白搭。其实,在哪以后的代码编写中我也很多次发现,程序没法得到正确结果经常就是一个非常非常小的错误,小的可以忽略。

上一页  [1] [2] [3]  下一页


Tag:面试问题面试问题汇总,英语面试问题及答案求职指南 - 求职笔试面试 - 面试问题

《UT斯达康笔试面试经验》相关文章

联系我们 | 网站地图 | 范文大全 | 管理知识 | 教学教育 | 作文大全 | 语句好词
Copyright http://www.77xue.com--(七七学习网) All Right Reserved.
1 2 3 4 5 6 7 8 9 10