程序员面试问题搜集

来源:互联网 发布:霍华德生涯最好数据 编辑:程序博客网 时间:2024/05/20 17:38
1. 对于内存管理你有什么看法?
- 动态内存尽量谁申请谁释放,分工明确。避免漏释放和重复释放。
- 对于嵌入式系统,分析最常用的内存大小,优化内存池配置。
- 申请到内存后首先初始化内容。
- 保证指针变量初始化
- 评估调用深度,避免栈溢出。
- 如果内存足够,管理信息时不要过于节省内存,造成效率降低或者代码可读性降低。

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

- 修改后测试,不但要针对问题是否改好进行测试,还要对相关功能,主要功能进行回归测试。

0 0
原创粉丝点击