远景C/C++一面
今天下午接到远景的面试电话,简单记录内容(基本问的都是C++方向的问题):
1. 自我介绍
2. 介绍你的实习经历,实习主要做了什么
3. 介绍C++的继承和运行时多态(讲了运行时多态,虚函数机制,包括虚函数表和虚函数指针)
4. 介绍你对虚继承的理解(讲了菱形继承及其产生的问题,虚继承怎么解决这些问题)
5. map/set采用什么数据结构,unordered_map/unordered_set采用什么数据结构?(红黑树,哈希表)
6. 讲讲红黑树、平衡二叉树、二叉搜索树
7. 队列采用什么数据结构(分段有序)
8. C++中violate关键字有什么作用(表示可能被某些未知的因素更改,编译器对访问该变量的代码就不再进行优化;不从寄存器中读取,而是重新从内存读取)
9. C++的四种类型转换
10. 数据库用过哪些?那些数据库支持地理空间数据的存储?数据库怎么实现对地理坐标的存储?什么是空间数据库?(这部分答得一般,只说了SQL Server数据库支持存储空间数据,MyISAM引擎也支持空间数据)
11. 地理数据坐标变换能讲讲吗?(本科学的,忘记了。。。)
12. 设计模式了解的多吗?(只了解单例模式)
13. 你的专业不是计算机,你能聊聊非科班的学生怎么学习计算机,然后你认为与科班生比有什么不足?你会采用什么方式来改善自己的不足?
14. C++看过什么书(C++ primer/C++ primer plus/STL源码剖析/深度探索C++对象模型)
15. 你有什么问题问我
补充:怎么存储地理空间数据?
具体参考:
https://blog.csdn.net/linghe301/article/details/8161835
https://www.cnblogs.com/oloroso/p/9777141.html
总结:面试官人很好,也给了我很多实用的建议,其实大多数非科班生与科班生的区别就在于非科班生缺少实际项目的锻炼,只是单纯的从知识层面了解计算机,对一些实用的、比较新的框架和技术了解都不够深入,因此最好还是需要在知识学习的过程中实际参与一些小项目更好的锻炼自己。大家都加油鸭!
#面经##远景能源有限公司##C++工程师##校招#