第1章 面试的流程
第2章 面试需要的基础知识
第3章 高质量的代码
第4章 解决面试题的思路
第5章 优化时间和空间效率
第6章 面试中的各项能力
第7章 两个面试案例
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
4.3 举例让抽象问题具体化
和上一节画图的方法一样,我们也可以借助举例模拟的方法来思考分析复杂的问题。当一眼看不出问题中隐藏的规律的时候,我们可以试着用一两个具体的例子模拟操作的过程,这样说不定就能通过具体的例子找到抽象的规律。比如面试题22栈的压入、弹出序列,很多人都不能立即找到栈的压入和弹出规律。这时我们可以仔细分析一两个序列,一步一步模拟压入、弹出的操作,并从中总结出隐含的规律。面试题24二叉搜索树的后序遍历序列也类似,我们同样可以通过一两个具体的序列找到后续遍历的规律。
具体的例子也可以帮助我们向面试官解释算法思路。算法通常是很抽象的,用语言不容易表述得很清楚,我们可以考虑举出一两个具体的例子,告诉面试官我们的算法是怎么一步步处理这个例子的。例如在面试题21包含min函数的栈中,我们可以举例模拟压栈和弹出几个数字,分析每次操作之后数据栈、辅助栈和最小值各是什么。这样解释之后,面试官就能很清晰地理解我们的思路,同时他也会觉得我们有很好的沟通能力,能把复杂的问题用很简单的方式说清楚。
具体的例子还能帮助我们确保代码的质量。在面试中写完代码之后,应该先检查一遍,确保没有问题再交给面试官。怎么检查呢?我们可以运行几个测试用例。在分析问题的时候采用的例子就是测试用例。我们可以把这些例子当做测试用例,在心里模拟运行,看每一步操作之后的结果和我们预期的是不是一样。如果每一步的结果都和事先预计的一致,那我们就能确保代码的正确性了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论