1.设计模式了解吗?

2.C++面向对象的方式

面向过程的编程思路是,解决一个问题分别几个步骤,使用函数来完成各个步骤的任务,不同函数具有不同的功能,按照程序执行的顺序调用函数,组成一个可以运行的程序。

C++面向对象将问题模块化,抽象出各种类,类包含数据和对数据的操作,将类实例化就得到一个具体的对象,对于问题的解决,需要依赖于各个类的对象,对象与对象之间相互利用,不可分割。封装好的类,可以被继承,对父类进程扩展和丰富能够产生多态化的子类。­­­­

3.指针常量和常量指针的区别

指针常量是指这个指针本身是一个常量,它不能改变指向的对象,但是对象本身存储的内容可以改变;

常量指针是一个指向常量的指针,本身是一个变量,可以改变所指的对象,但是所指向的常量不能被改变。

4.函数形参分别是传值、引用、指针的区别

传值,是为参数创建一个别名,传递给函数,是一种深复制,函数调用的对象与参数完全相同,但是不是同一个对象,所以函数对传值的参数的操作并不影响原参数。

传引用,是一种浅复制的方式,它将参数的地址传递给函数,函数通过地址获取或者改变参数的值,函数调用完毕,对于该参数的影响会得到保留。

传指针,传递的是指向参数的指针,指针指向参数的地址,所以指针的操作结果跟传引用的操作结果相同。

但是传引用跟传指针不同,引用貌似指针,可以看成一个指针常量,就是不能改变所指对象,它没有自己的内存空间,但是,指针具有自己的内存空间,也可以改变所指对象。

5.全局变量和局部变量的区别,他们存储在哪里

全局范围的const变量作用域在整个文件,其他文件无法访问,如果加上extern就可以在整个程序访问该变量;局部变量作用域在其声明的花括号内部;全局范围的非const变量的声明是外部的,其他文件只能引用该变量的值,而不能重新定义,引用时需要加extern来重新声明。 全局变量存储在全局区,未初始化的全局变量存储在.bss区,初始化了的全局变量存储在.data区。普通局部变量存储在栈区,静态局部变量存储在全局区(也叫静态区)。

6.函数指针和指针函数的区别,手写一个指针函数

见博客

7. 解释析构函数

1)一个类有且仅有一个析构函数,析构函数是在对象生存期即将结束时被系统自动调用,用来释放对象占用的内存,调用结束之后,对象也就消失了。析构函数不具有任何参数,没有返回类型,如果类中没有定义析构函数函数,系统会自动生成一个函数体为空的隐含析构函数。
2)析构函数可以是虚函数,在一个复杂类结构中,父类应该定义它的析构函数为虚函数,这样的话,在delete一个指向子类对象的基类指针时,才能调用其子类的析构函数,释放子类内存空间。声明一个基类的指针,指向子类的对象时,先调用基类构造函数,再调用子类构造函数。

#include <iostream>
using namespace std;
class Base{
public:Base(){cout<<"In Base construct"<<endl;}virtual ~Base(){cout<<"In Base destruct"<<endl;}
};class Derived:public Base{
public:Derived(){cout<<"In Derived construct"<<endl;}~Derived(){cout<<"In Derived destruct"<<endl;}
};int main(){Base *p=new Derived;delete p;return 0;
}

输出结果:

In Base construct
In Derived construct
In Derived destruct
In Base destruct
3)定义一个子类对象时,先调用基类的构造函数,再调用子类的构造函数;析构一个子类对象时相反,先调用子类析构函数,再调用父类析构函数(父类析构函数不是虚函数也可以得到调用)。

#include <iostream>
using namespace std;
class Base{
public:Base(){cout<<"In Base construct"<<endl;}~Base(){cout<<"In Base destruct"<<endl;}
};class Derived:public Base{
public:Derived(){cout<<"In Derived construct"<<endl;}~Derived(){cout<<"In Derived destruct"<<endl;}
};int main(){Derived *p=new Derived;delete p;return 0;
}

输出结果:

In Base construct
In Derived construct
In Derived destruct
In Base destruct 
4)析构函数可以是纯虚函数,纯虚函数虽然也允许有函数体(也就是允许实现),即使给出实现,子类也必须覆盖,否则无法实例化,但是基类的纯虚析构函数必须有函数体(必须有实现),因为子类析构函数执行完要调用基类的纯虚析构函数。

8.C++中如何实现内存管理(C++内存管理)

C++提供一组内存管理函数来分配和释放内存。

见博客
另一个博客

9.栈溢出 怎么解决这个问题

1.修改系统栈的大小;

2.不会

10.智能指针原理?

11. new和malloc的区别

贝壳找房面试之c++基础问答相关推荐

  1. 贝壳找房面试之数据库

    数据库: 讲讲数据库索引. 讲讲 B+ 树,知道多少说多少. 讲讲 B+ 与 B- 的区别. 讲讲红黑树,插入时如何旋转. 数据库设计: 财产权限管理: 1 有一个财产表,用户表,申请表 要求设计表, ...

  2. 贝壳找房技术总监肖鹏:高速成长下的技术团队怎么带?

    本文根据肖鹏老师在[deeplus直播第248期]线上分享演讲内容整理而成.(文末有获取本期PPT&回放的方式,不要错过) 肖鹏 贝壳找房技术总监 贝壳系统平台中心技术总监,主要负责数据库.大 ...

  3. 回顾·知识图谱在贝壳找房的从0到1实践

    本文根据贝壳找房王贺青老师在DataFun Talk人工智能技术沙龙中分享的<知识图谱在贝壳找房的从0到1实践>编辑整理而成,在未改变原意的基础上稍做整理. 今天分享的内容有四个方面,第一 ...

  4. 贝壳找房挖到AI大牛叶杰平,房产中介转型需要技术,高估值更需要

    杨净 发自 凹非寺  量子位 报道 | 公众号 QbitAI 前滴滴AI实验室负责人叶杰平,去贝壳找房了. 没错,从"行"到"住",从"车" ...

  5. AI 搜房,贝壳找房的Milvus实践

    | 项目背景 贝壳作为一家房产服务互联网平台,如何在海量房源中选出能够快速成交的房源是对平台和经纪人来说都是一件非常重要同时具有挑战的事情,但是针对房型图,户型信息等一系列非结构化数据在平台中应该怎么 ...

  6. 贝壳找房:如何基于 Apache APISIX 搭建网关

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 我是王辉,在贝壳找房负责 API 网关系统的开发,我们使用 Apa ...

  7. 贝壳找房校招java笔试题_2020年最新贝壳找房java面试题分享

    下面要给大家带来的是2020年最新的一个贝壳找房java面经,具体内容是面试题介绍,一起来看看都问了哪些问题吧! 一.面试题 1.Java的特性你了解吗? 2.一个Java文件里面允许多个类被声明为p ...

  8. 春招实习_贝壳找房 Java开发 一面

    贝壳找房 Java开发 一面 5.28 15:00  (50min) 1. 觉得编码时要遵循哪些设计原则,InpuStream和outputStream用了什么设计模式,为啥要使用包装设计模式,为什么 ...

  9. 对话 CTO | 听贝壳找房 CTO 闫觅讲居住产业互联网的数字化力量

    专栏介绍 「对话 CTO」是极客公园的一档最新专栏,以技术人的视角聊聊研发管理者的发展和成长. 本专栏由企业级研发管理工具ONES的创始人&CEO王颖奇作为特邀访谈者.王颖奇曾参与金山软件 W ...

最新文章

  1. 嵌入式Tomcat容器的参数(maxParameterCount)设定
  2. 万国数据联合阿里云发布混合云系列产品 助力企业落地云端
  3. 《LINUX3.0内核源代码分析》第二章:中断和异常 【转】
  4. HTML 提高页面加载速度的方法
  5. 用photoshop制作草莓
  6. java 迭代器_Java中 ( Iterator ) 迭代器 详解 ( JDK8源码 )
  7. linux通过yum安装vim,linux/centos系统如何使用yum安装vi/vim?(转)
  8. 201.数字范围按位与
  9. DG半离散格式的转化---基于matlab编写
  10. 计算机网络技术实训课程报告,大学网络技术基础课程的实训报告怎么写?
  11. FPGA的软件下载(百度盘~)
  12. 实现商品分类回显(笔记)
  13. 使用ODAC将SqlServer数据库同步到oracle数据库
  14. 接口性能测试案例分析
  15. 开源路由器-OpenWRT/梅林
  16. 供应链金融业务信息化平台搭建要点分享
  17. 提升计算机科学素养,中职学生计算机科学与技术专业素养提升策略
  18. html5 canvas背景特效,HTML5 Canvas炫酷背景动画特效
  19. 计算机七进制乘法,编程达人
  20. IBM员工回顾与华为合作20周年:这是一支有激情的团队

热门文章

  1. 时间序列——滑动窗口
  2. 向日葵远程看不到qq界面
  3. java的public int_Java语言中“int”、“public”、“static int ”有什么区别?
  4. 金山软件刘鑫:有限使用UML
  5. BuKu web18 秋名山车神
  6. 跟我一起玩Win32开发
  7. WPF 中 TextBlock 和 TextBox 区别
  8. CodeWarrior 使用教程第六课:定制
  9. 【Axure技巧】Axure RP 9 生成HTML文档如何自动打开页面列表?
  10. 考研数据结构——(栈)