2021年6月26日
先说一句自己是真的菜!
上来英文自我介绍,照着写好的稿子读,巨紧张,读到一半被老师打断,准备了三分半的英文稿子,可能只读了不到两分钟,老师就问我是不是提前准备了。就直接说要问我一个我没有准备过的问题。问的是大型数据库学了什么,用英语回答,我直接就没回答上来。然后问了项目,数据结构这块被我忽悠过去没怎么问,但是排序算法及其时间复杂度,广度优先遍历,深度优先遍历,图等问题都是这个老师提到过的问题。
老师还问了我为什么选南京理工,投了几个学校,为什么不投川大和电子科技大学。
今天南理工的导师对我进行了面试。
一开始出的两道编程题都没写出来力扣里面的207课程表问题和387字符串问题。讲真这一项是巨大的减分项,太菜了我!一定要多刷算法题!leetcode上面的题目练起来!
这个老师特别问了C++的问题,指针和引用的区别。我回答的很糟糕,只能坦诚没有学过C++。
又问了队列和栈的区别,这个问题我回答了上来,但是问到堆和栈的区别时,我对于堆了解的不多,没有说出来堆的特点。还问了快速排序算法的过程和时间复杂度。数学里面问了可导和连续的关系。可导一定连续,连续不一定可导。还问到了正定矩阵,贝叶斯公式,什么是线性关系、非线性关系。
堆与栈的区别很明显
1.栈内存存储的是局部变量而堆内存存储的是实体;
2.栈内存的更新速度要快于堆内存,因为局部变量的生命周期很短;
3.栈内存存放的变量生命周期一旦结束就会被释放,而堆内存存放的实体会被垃圾回收机制不定时的回收。