面试考点

来源:互联网 发布:伯乐在线 python 项目 编辑:程序博客网 时间:2024/06/11 20:57

数据结构:数组,字符串,链表,树(尤其是二叉树),栈,队列。

算法:

(1)查找:顺序查找,二分查找,二叉搜索树。。

(2)排序:插入排序,冒泡排序,选择排序,快速排序,归并排序,堆排序。

代码的规范性:清晰的书写;清晰的布局;合理的命名规则(最好用完整的英文单词来命名变量名和函数名)。

代码的完整性:基本功能;边界值输入是否得到正确的输出;非法输入的错误处理。

可扩展性和可维护性:考虑需求的变化。

错误处理的方式:

(1)判断返回值进行错误处理,windows很多API是这种方式,这种方式最大的问题是使用不便,因为函数不能直接把计算结果通过返回值赋值给其他变量,同时也不能把这个函数计算的结果直接作为参数传递给其他函数。

(2)第二种方式是在出错的地方设置一个全局变量,Windows 的很多API 运行出错之后,也会设置-个全局变量。我们可以通过调用函数GetLastError 分析这个表示错误的全局变量,从而得知出错的原因。但这个方法有个问题:调用者很容易就会忘记去检查全局变量,因此在调用出错的时候忘记做相应的错误处理,从而留下安全隐患。

(3)异常。当函数运行出错的时候,我们就抛出一个异常,我们还可以根据不同的出错原因定义不同的异常类型。因此函数的调用者根据异常的类型就能知道出错的原因,从而做相应的处理。另外,我们能显式划分程序正常运行的代码块(try模块)和处理异常的代码块(catch 模块),逻辑比较清晰。另外,当抛出异常的时候,程序的执行会打乱正常的顺序,对程序的性能有很大的影响。不明白?

0 0
原创粉丝点击