面试是电话面试,先大概介绍一下最近的项目,使用的技术等
1.说一下C语言和python的区别
(1) C语言是编译型语言,python是解释型语言。程序运行过程中,python语言首先会将python编译为字节码,然后由大型C程序解释;C语言直接编译为机器语言,由CPU直接执行,运行速度要快很多
(2) C语言是静态语言,python的动态语言
(3) C语言面向过程,python面向对象
(4)python使用自动垃圾收集器进行内存管理,C语言中程序员必须手动进行内存管理
2. 介绍一下插入排序
这个大概说一下
3. 说一下如何实现动态数组
动态数组并不是真正意义上的动态的内存,而是一块连续的内存,当添加新的元素时,容量已经等于当前的大小的时候(存不下了),执行下面4步
(1)重新开辟一块大小为当前容量两倍的数组
(2)把原数据拷贝过去
(3)释放掉旧的数组
(4) 把要添加的元素添加到新数组中