【面经】高德地图 C++ 研发 一面 您所在的位置:网站首页 高德红外和高德地图的关系 【面经】高德地图 C++ 研发 一面

【面经】高德地图 C++ 研发 一面

2024-05-30 06:55| 来源: 网络整理| 查看: 265

点击上方蓝字关注我,我们一起学编程 有任何疑问或者想看的内容,欢迎私信

微信搜索《编程笔记本》(codingbook2020),获取更多干活。

今天分享高德地图的C++研发岗位一面面试题。

面试题目录

文章目录 面试题目录 1.1 你对面向对象的理解是什么? 1.2 继承有什么原则? 1.3 虚函数的工作方式是什么?虚函数表和虚表指针是什么? 1.4 抽象类可以实例化对象吗? 1.5 三种继承方式的使用场景和选择原则? 1.6 C# 中有接口的概念,那么在 C++ 中哪种行为体现了接口的特性? 1.7 重写和重载的区别是什么? 1.8 哪些类函数需要设置成虚函数?怎么判断一个函数是否需要声明为虚函数? 1.9 基类指针操作基类对象,基类指针操作派生类对象,派生类指针操作基类对象,派生类指针操作派生类对象,操作同名函数时是什么样的情况? 1.10 C++ 的虚拟内存分布? 1.11 你了解过 STL 的哪些容器,以及其使用的场景和区别? 1.12 vector 中扩容的原理和具体实现方式? 1.13 map 和 unordered map 的底层实现和性能区别是什么?它们在获取元素和增删元素时有什么区别? 1.14 了解过哪些排序算法? 1.15 设计数据库有哪些原则?如何设计一个表? 1.16 怎么提高数据库的 i/o 速度? 1.17 了解对线程吗? 1.18 了解过范式吗? 1.19 了解二叉树的遍历吗?

1.1 你对面向对象的理解是什么?

面向对象是向现实世界模型的自然延伸,这是一种万物皆对象的编程思想。在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象的编程是以对象为中心,以消息为驱动,可以概括为:程序=对象+消息。

面向对象有三大特性:封装、继承、多态。

封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。

继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类——有父类的行为和属性,也有自己特有的行为和属性。这样做扩展了已存在的代码块,进一步提高了代码的复用性。

多态的一大作用就是为了解耦——为了解除父子类继承的耦合度。简单来说,多态就是允许父类引用(或接口)指向子类(或实现类)对象。很多的设计模式都是基于面向对象的多态性设计的。如果说封装和继承是为了使代码重用,那么多态则是为了实现接口重用。

总结来说



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有