软件面试问答

Posted 正义飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件面试问答相关的知识,希望对你有一定的参考价值。

1. 对于内存管理你有什么看法?
- 动态内存尽量谁申请谁释放,分工明确。避免漏释放和重复释放。
- 对于嵌入式系统,分析最常用的内存大小,优化内存池配置。
- 申请到内存后首先初始化内容。
- 保证指针变量初始化
- 评估调用深度,避免栈溢出。
- 如果内存足够,管理信息时不要过于节省内存,造成效率降低或者代码可读性降低。

2.工作中遇到bug怎么解决的
- 如果问题可以稳定再现, 设置断点确定问题现场
- 对于数据在未知时机被修改(一般是越界)的问题,VC的条件断点很有用。
- 如果问题不可再现需要得到bug产生时的相关数据,log等,进行仔细分析。
- 如果仍然没有进展(没有办法的办法),根据bug现象,在代码里增加log输出,期待下次再发生时能得到有用信息。
- 修改bug时,如果是修改共通代码,一定要慎之又慎,因为系统大时,有很多我们遇见不到的系统之间的联系。最好不要轻易修改共通部分,被使用范围越广的模块越是如此。
- 修改后测试,不但要针对问题是否改好进行测试,还要对相关功能,主要功能进行回归测试。

以上是关于软件面试问答的主要内容,如果未能解决你的问题,请参考以下文章

性能测试面试灵魂问答

面试者推荐 |Redis面试专题「常见问答系列」透析Redis常见技术相关的问题1~10题(基础)

iOS基础问答面试题连载-附答案

iOS基础问答面试

iOS基础问答面试题连载-附答案

JAVA多线程和并发基础面试问答