高德地图导航规划算法岗一面面经
- 项目介绍:首先,面试官让我介绍了一下我参与过的项目,特别是涉及到的规划算法,如Dijkstra、A和混合A。
- Dijkstra算法优化:接着,面试官问到Dijkstra算法在大地图上的效率问题,并让我提出一些解决方法。
- A*算法缺陷:然后,他让我说说A*算法的缺陷。
- 性能提升思路:为了提升算法性能,面试官让我分享一些可能的方式或思路。
- 论文改进算法:他还让我介绍一下我在论文中改进算法的思路,是流程上的改进还是算法底层的改进。
- 快速排序:面试官让我讲解快速排序的思路,并问在什么情况下时间复杂度会退化到O(n)。
- DFS和BFS:接着,他让我讲一下深度优先搜索(DFS)和广度优先搜索(BFS)。
- 阅读习惯:面试官还问我最近有没有看什么书、博客或者文章。
- Core文件查找:他问我如何查找Core文件。
- CPU占用率:最后,面试官问我在算法运行很卡的情况下,用什么指令查看CPU占用率。
C/C++八股
- 智能指针:面试官让我介绍一下智能指针。
- Vector增长机理:他问我Vector的增长机理,以及为什么是1.5倍或2倍。
- Map和hash_map的区别:面试官问我Map和hash_map的区别,并让我解释如果想按顺序存储,为什么用Map和二叉搜索树。
- 内存分配:他问我new的内存在哪里(堆),malloc的内存在哪里(堆)。
- C++11新特性:最后,面试官让我介绍一下C++11的新特性。
Coding
面试官让我写一个二叉树最小深度的代码。
总体来说,这次面试主要考察了基础知识和项目经验,尤其是对规划算法的理解和优化思路。希望这些经验能对大家有所帮助。