c学习指南吧 关注:731贴子:1,801
  • 7回复贴,共1

C/C++笔试与面试重点

只看楼主收藏回复

////////////// 笔试部分 /////////////
假设你已经扎扎实实地学习了语法篇,那么一些常考但简单的东西,我就不在这里强调了。这些在视频里已经举例强例,不应该再出问题。例如,switch的注意事项,整除与浮点型除法,逗号表达式,宏的几种常错误...这里只对几个大项进行梳理。
1. 字符串 char*
字符串是重中之重,要确保理解了什么字符串,结束字符,长度,插入与删除,截断,拷贝等等
理解字符串字面常量
2. 传值与传地址、传引用
参考第8,9,10章,务必已经深刻理解了传值和传地址的区别
3. 指针的常见问题
const指针,野指针、空指针、数组越界
4. 动态内存分配
在C语言里有malloc/free,来申请/分配内存,务必要理解内存管理器的作用
相关注意事项都在视频里说了。此部分倒是经常会在面试中遇到,一般要求口头表述。
5. 文件部分
很遗憾,你在笔试中遇到的文件部分试题和我讲解的重点是不一样的。这是因为我的教程还没有推广。他们一般会考text 和 binary的区别什么。不过一般不会当作大题来考,应该就是选择题吧。
6. 链表
一般会考链表与数组的区别。常出在面试部分,要求口头表述。
此问题是指:数组是紧密排列的对象,而链表是串起来的对象。链表适合插入、删除,而数组不适合。
选择题则比较简单,对你不构成问题。
7. 结构体
结构体的对齐和填充问题。
8. 构造与构造
通常会考在继承关系中,构造与析构的顺序。先构造父类的成员,在构造子类的成员。
9. 虚函数
为什么要有虚函数,这个在视频里已经讲的很清楚了。
10. 动态创建对象
new和malloc的区别:? 可能会出现在简答体里,视频里已经非常清楚。


IP属地:北京1楼2015-09-15 22:29回复
    ///////////////// 面试部分 ////////////////
    面试中的一部分问题仍然是技术问题,另一部分则谈理想谈人生的话题。
    1. 内存泄露
    怎样才是内存泄露?这个在介绍malloc/new的时候已经讲过。只申请、不释放,可以视为内存泄漏。然而,内存泄漏不一定会有问题,只有当问题积累起来,有大量内存被申请而未释放、导致系统内存吃紧的时候,才算是个问题。
    2. 传值与传地址(传引用)
    此问题可能再次出现在面试环节
    3. 动态库与静态库
    参考《补充篇》
    4. C的函数与C++函数的区别
    参考《Linux篇》
    5. 何为面向对象设计?
    注意,用C也是可以面向对象的,这个跟语言是没有关系的。
    6. 效率问题
    暂时未有相应的课程。传值与传地址是效率问题的一个方面。
    7. 可读性、可扩展性、重用性
    在编程时,这三个指标是最应该被考虑的问题,而效率问题往往放在其次。
    8. 性能瓶颈
    当项目较大时,哪些地方会影响性能?(大多数地方都跟性能没有关系,只有那些会在一秒钟内调用很多次的代码,才有可能影响整体的性能)。
    9. 多线程
    参考《应用篇》
    10. 网络socket
    参考《应用篇》


    IP属地:北京2楼2015-09-15 22:39
    回复
      广告
      立即查看
      请问一下,我的老师要我学习GMP库,可是我不会安装这个库,我要到哪里下载,然后怎么配置,能让我的VS可以直接调用这个库呢


      IP属地:江苏来自Android客户端3楼2015-09-23 23:36
      收起回复
        (⊙_⊙)


        IP属地:内蒙古来自Android客户端4楼2015-09-25 13:32
        回复


          5楼2015-10-13 11:06
          回复


            来自Android客户端6楼2015-10-14 23:51
            回复
              学习学习


              IP属地:广东来自Android客户端7楼2015-10-15 11:16
              回复