PS:持续更新,未完待续
2016.8.24某为面试
- 自我介绍一下
链表和数组的区别
数组的存储空间是静态、连续分布的,初始化过大会造成空间浪费,过小会使空间溢出;链表的存储空间是动态分布的,只要内存有剩余空间,便不会产生溢出。
数组查询比较快(可以根据下标直接查询),但是插入和删除比较慢;链表查询比较慢,但是插入和删除比较快(可以直接改变链表的指针)。
多个.c文件到二进制文件,这个过程中编译器做了哪几阶段的工作
C源程序→预编译处理(.c)→编译、优化程序→汇编程序(Windows下是.obj)→链接程序。
大致是这个步骤,详细的也不是很了解,暂时不做深究了。
可执行的二进制文件加载到内存中,程序里面分哪几个步骤
这个可能是让说java的程序的工作原理,下面先给一张java工作流程图。
- Java源程序在编译之后生成后缀名为“.class”的文件,该文件以字节码(bytecode)的方式进行编码。这种字节码实际上是一种伪代码