代码编写规范。
- 声明指针时,若没有给他赋值,一定要赋值NULL。
- 当函数需要对输入的数据进行修改时,例如输入是链表、二叉树等结构是,需要向面试官询问是否可以修改。
- 写函数后,第一条语句就要对输入是否合法做判断,指针、变量大小等等。
- 要紧凑,可以适当将较短的赋值、小的语句块放在同一行。
- 不同功能尽量封装成一个函数。
- 添加注释
- 采用骆驼命名法,变量第一个单词首字母小写,其余首字母大写,函数和全局变量所有单词首字母大写。
- 程序中尽量少出现数字。
- 对于需要返回值的函数,可将函数类型声明为bool类型,需要返回的值作为一个参数,按值传递。
- 现场写代码时,在需要写出测试用例时,可先写出测试用例,在写大函数时,先将用的小函数声明,先写大函数,再写小函数。
- 当题目比较简单时,需要注重细节,考虑多种情况。问题复杂时,通过画图理清思路,便于编写代码和向面试官讲解。
- 当拿到题目时,首先要考虑多种情况,主动提问,比如,整数操作是否考虑溢出,复杂的输入是否需要验证输入是否正确。
- 当找到思路是,考虑是否可以优化,优化主要有,哈希表空间换时间、分治和快速排序由o(n)向o(lgn),还有动态规划
- 当题目中出现二叉树时,多为递归解决,要熟悉前序、中序、后序、层序、树深度等递归方法。
- 提问面试官时,与投递的职位相关(面试前上网熟悉公司和相关职位,面试官提到的与职位相关的话),可以问一下员工培训、项目组方向一类的。
小知识点:
- 两个浮点型数据是不能直接比较大小的,因为有精度问题,可以判断其差值的大小,接近0就认为相等了。