《程序员面试宝典》精华 编程语言部分

《程序员面试宝典》精华 编程语言部分

  • 正所谓取其精华,去其糟粕。本文谨记录下《程序员面试宝典》一些关键的知识点、易错点,对于一些虽然重要但书中没有解释清楚的地方不做记录。当然这里的糟粕只是指不那么重要,或者比较简单,并不是说书写的不好。希望以后回顾时无需再看此书,只看保留在文中的精华即可。
  • 文中有少许bug,亦摘录在此。
  • 本文专注编程语言部分,包括第五章到第九章的内容

第五章 语言细节

  • 5.1 y = z = 5,等号先计算右边,返回值是赋值后的左边的变量值
  • 5.1 printf函数中的表达式从右向左压栈,应该先计算右方的值
  • 5.4 float型1.0f在内存中表示为:0x3f 80 00 00
  • 5.5 出现int常数的表达式中的变量通常都要提升至int型
  • 5.5 赋值运算符默认从右向左结合,也就是先计算右方的值
  • 5.5 (x&y) + ((x^y)>>1)效果是取二者的平均数
  • 5.6 不用判断和switch语句求a、b中的较大的一个:((a + b) + abs(a - b)) / 2
  • 5.7 extern "C"的用法:函数声明前添加,解决C/C++编译器的名字包装的不同问题

第六章 预处理、const和sizeof

  • 6.1 求结构体中某成员的偏移量:#define FIND(struc, e) (size_t)&(((struc *)0)->e)
  • 6.2 C语言中,const n = 10; char carray[n]是错误的,因为C编译器不能把const看成编译期的常量。但实验得出是正确的,bug
  • 6.3 C++中给类成员变量添加mutable修饰符,就可以使用const函数修改
  • 6.3 结构体对齐原则:结构体长度一定是最长数据元素整数倍,但如果大于处理器位数,则以处理器位数为对齐单位。CPU数据对齐原则是数据的内存地址必须是该数据长度的整数倍,以提高运行速度
  • 6.3 sizeof(string) == 4
  • 6.3 空类以及(多重)继承的空类大小都为1,但虚继承的类含有虚表指针,大小为4

第七章 指针与引用

  • 7.1 指针与引用的区别
    • 引用总是非空的,指针可能为空,使用时要小心测试
    • 引用不可以指向另一个对象,但指针可以更改
  • 7.1 int *p; *p = 0;是错误的,指针p并未指向某个实际的地址
  • 7.2 char a[] = "a"数组存放中栈中,函数返回即消失,char *a = "a"数组存放于全局只读数据段
  • 7.2 若类B继承类A,两者皆有成员变量,A中有f方法,则B b; b.f()调用的是A中的f,f使用的变量也为A中的变量
  • 7.3 指向const的指针应该是const int *,bug
  • 7.3 int ( *(*f)(int, int) )(int)定义了一个函数指针,接收两个int参数,返回值为一个函数指针
  • 7.4 指向整型数组的指针声明为:int (*p) [],指向整型的指针数组声明为:int *p[],函数指针的数组的声明:int (*p[10])(int)
  • 7.5 悬浮指针指的是delete之后的指针,应该让指针等于0,使得后续程序使用此悬浮指针出错是可控的。比如第二次delete
  • 7.5 new/delete与malloc/free的区别
    • 前者是运算符,后者是函数
    • 前者除了后者申请与释放动态内存的工作之外,对于非内置类型,还完成类初始化与析构操作
  • 7.6 autoptr中拷贝时会尝试只保留一份指针,因此不适合放在容器中

第九章 STL模板与容器

  • 9.1 如果没有重载拷贝构造函数为深拷贝,而又包含指针,那么调用拷贝构造函数时会复制指针,造成同一个指针 delete多次

  
  

转载请注明作者:Focustc,博客地址为 http://blog.csdn.net/caozhk,原文链接为 点击打开

  
  
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本书针对当前各大it企业面试笔试中常见的问题以及注意事项,进行了深层次的分析。本书除了对传统的计算机相关知识(c/c++、数据结构与算法、操作系统、计算机网络与通信、软件工程、数据库、智力题、英语面试等)进行介绍外,还根据当前计算机技术的发展潮流,对面试笔试中常见的海量数据处理进行了详细的分析。同时,为了更具说服力,本书特邀多位it名企面试官现身说法,对面试过程中求职者存在的问题进行了深度剖析,同时本书引入了一批来自于名牌高校、就职于明星企业的职场达人的真实求职案例,通过他们的求职经验与教训,抛砖引玉,将整个求职过程生动形象地展示在读者面前,进而对求职者起到一定的引作用。本书也对各种类型的it企业的招聘环节进行了庖丁解牛式的分析,帮助求职者能够更加有针对性地 进行求职准备。 本书是一本计算机相关专业毕业生面试笔试的求职用书,同时也适合期望在计算机软硬件行业大显身手的计算机爱好者阅读。 程序员面试笔试宝典 目录 前言 上篇 面试笔试经验技巧篇 第1章 面试官箴言 2 第2章 面试心得交流 9 第3章 企业面试笔试攻略 20 第4章 面试笔试技巧 42 第5章 英文面试攻略 82 第6章 智力题攻略 102 下篇 面试笔试技术攻克篇 第7章 程序设计基础 122 第8章 数据库 240 第9章 网络与通信 254 第10章 操作系统 270 第11章 软件工程 278 第12章 发散思维 289 第13章 数据结构与算法 295 第14章 海量数据处理 390
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值