10/12,昨天参加了一套c/c++基础知识的笔试题,题目不难却有些偏门,笔试中个人感觉有如下问题需要重视:
- 指针与引用指向的内存位置;变量调用之堆和栈。(关于堆和栈的知识)
- char c=134;printf("%d",c);printf("%u",c);(整数和字符型相互转换的问题)
- 位操作:位与&、异或^、非~和移位(<<、>>),位或|(考试中,被当成数理逻辑的合取算符来用了,很长时间不用位或,关键时刻掉链子);
- 二进制、十六进制、八进制的关系:将十六进制OxEC3转换成1110 1011 0011,十六进制每位数对应4个二进制数。
- 转义字符"\x",错误地理解"\x78\x56\x34\x12" 为将78转换成8进制的数,实际上是十六进制表示,非常大意。\x表示后面的字符是十六进制数,\0表示后面的字符是八进制数。
- 内存泄露的处理方案,Hash表的效率优化,这些问题平常都看到过,但是由于不常用,时间一长就记忆模糊了。看来阅读书籍非常重要,即便再忙,也要抽取时间用于提升自己。代码系统一直在编写,但是基础的东西却在慢慢忘记,这有些得不偿失。
- 不适应纸上编写代码,过于依赖IDE的调试功能,没有综合的分析思路,需要练习分析和伪代码编写的能力。
总而言之,基础与动手能力还须加强。
时间: 2024-10-11 17:02:31