面试的基本素养
该文档涵盖了面试的各种基本习惯,虽是小事,但是代表了一个编程人的基本素养,给人一良好的印象.
阅读完该文档后,您将会了解到:
- 算法题目的求算步骤.
- 回答问题时的基本态度
- 面试准备的几个问题
这篇博客主要是只是自己按经验所写,错误之处还望指正。
算法题目的求算步骤
基本步骤
了解清楚题目再进行答题
对于一道题目,首先是准确理解题意。
- 没有遇到过的名词
- 条件约束模糊;(如树是否是二叉树,是否有反向指针)
对于自己疑惑的地方,要和面试官多交流,解答完自己的疑问才好着手解答题目。
思考清楚再开始编码
对于一道题目,最好是理清思路之后再开始编码。 而不是有个大致思路之后就开始动手编码了。
-
分析关键问题,并确定关键问题的解决方案。
解决方案的思考方向一般包括:
1、采用哪种数据结构,如栈,队列等等; 数组、字符串、链表、树、栈、队列是面试中最经常考的数据结构;
2、采用哪种算法思想,是哪种算法思想的变形实现,如动态规划、背包问题等;
-
考虑清楚一些特殊输入和特殊情况;
空,0等一些非法输入都是需要考虑的,在编码一开始就应该将非法数据和情况排除在外;
数据结构,指针的最后一个元素或者头元素,可能会考虑这些特殊情况;
事先考虑清楚,才会在后续改动代码是不是乱七八糟的。
-
良好的命名和缩进等编码风格
这个就不说了
健壮性之后再说最优解
-
健壮性
一个好的程序,首先要抗造,这是能不能用,最重要的一点;
需要能通过所有的单元测试;
-
最优解
时间复杂度最低、空间复杂度最低、支持高并发调用….
回答问题时的基本态度
知之为知之,不知为不知
面试准备的几个问题
面试的最后面试官一般都会问自己有什么要问,在此最好做一下准备。
这样也能看出自己对这份工作的兴趣。
Show Disqus Comments