广联达 C++开发
一面
面试官很亲切,先简要介绍了面试的内容,会从 算法、C++、数据结构等基础、项目等 方面问答。
算法
面试官问的是笔试时候的 血管阻塞 问题,问后来有没有再研究过该算法,不过我没研究,就简单介绍了一下当时笔试时的答题思路。
C++、STL、数据结构等基础
- 介绍面向对象的三大特性;多态是如何实现的;虚函数的实现原理,内部机制是什么?
- 深拷贝、浅拷贝各自的特征是什么,二者有什么区别?
- 什么时候会调用拷贝构造函数?
- 智能指针 shared_ptr 的实现原理;智能指针相比普通指针的优势?
- 什么时候会导致野指针?
- 析构函数为什么最好是虚函数?
- 问会哪些设计模式,会单例模式,就让介绍一下单例模式;如何实现单例模式?
- STL中 vector 和 list 的区别;分别适用于什么场合?
- 如何实现二叉树的前序遍历?
- 排序算法 冒泡排序 和 快速排序的时间复杂度;对于基本有序的数组,二者哪个更合适?(应该是冒泡排序更合适,答错了 哎!!)
- 最后一个简单的问题收尾 int const * 和 cont int * 的区别?
以上问题印象比较深刻,各个问题回答中还穿插了一些小问题的对答,记不太清了
项目
项目相关没有详细问,让大致介绍了一下项目,过程中遇到哪些困难是如何解决的。
反问
最后反问了一些和岗位相关的问题,请教了面试官一下最初算法的解题思路,利用矩阵思想,将 圆 覆盖到的点标注,如果各个点都相连没有空隙,就会使血管堵塞。
总的来说,还是可以的,也比较简单,只有一轮技术面,希望有二面HR面的机会!!!
二面
HR面问了一些基础的常问问题,等待开奖。
希望秋招之路 顺利!!!
#广联达##面经#