C++系统研发工程师面试知识储备(一)
一、基本语言知识点
(一)编译型语言和解释型语言
-
编译型语言首先是将源代码编译生成机器指令,再由机器运行机器码(二进制)(C、C++)
(1)优点: 执行速度快、效率高
(2)缺点: 编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,跨平台性差 -
解释型语言的源代码不会直接翻译成机器指令,而是先生成中间代码,再由解释器对中间代码解释运行。在运行的时候才将源程序翻译成机器码,翻译一句,然后执行一句,直至结束。( JavaScript、Python)
(1) 优点:有良好的平台兼容性,
(2) 缺点:执行速度慢、效率低
(二)强类型语言和弱类型语言
1、强类型语言也称为强类型定义语言。(C++、Java)
- 是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。一个已经被指定了数据类型的变量,除非是经过强制类型转换,否则无法被赋值为其他类型的数据
2、弱类型语言也称为弱类型定义语言。(Python)
- 与强类型定