IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 字节跳动 后端开发实习生 二面面经 -> 正文阅读

[C++知识库]字节跳动 后端开发实习生 二面面经

11.15下午两点到三点进行的面试。

11.16中午接到HR电话说通过二面,约了11.19的面试。(本来是周三,后来面试官有事改到周五了)

又来攒人品啦~
?

1. 自我介绍并询问

2. 重载、多态和继承

3. 多态如何实现?虚函数表简要介绍一下

4. 构造函数、析构函数可以是虚函数吗?为什么?

? ? 构造函数:不行

? ? 析构函数:行,且最好是虚函数,原因是:基类指针指向派生类对象时,如果基类析构函数不是虚函数,那么在delete时,派生类的析构函数不会被调用,会产生内存泄漏和异常。

? ? 如:

复制代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

#include?<iostream>

using?namespace?std;

class?Base

{

public:

????Base(){?cout<<"Constructing?Base"<<endl;}

????~Base(){?cout<<"Destroying?Base"<<endl;}

};

??

class?Derive:?public?Base

{

public:

????Derive(){?cout<<"Constructing?Derive"<<endl;}

????~Derive(){?cout<<"Destroying?Derive"<<endl;}

?};

??

int?main()

{

????Base?*basePtr?=?new?Derive();

????delete?basePtr;

}

? ? 输出为:

复制代码

1

2

3

Constructing?Base

Constructing?Derive

Destroying?Base

????? ? 而

复制代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

#include?<iostream>

using?namespace?std;

class?Base

{

public:

????Base(){?cout<<"Constructing?Base"<<endl;}

????virtual?~Base(){?cout<<"Destroying?Base"<<endl;}//只有这里做了修改!!!

};

??

class?Derive:?public?Base

{

public:

????Derive(){?cout<<"Constructing?Derive"<<endl;}

????~Derive(){?cout<<"Destroying?Derive"<<endl;}

?};

??

int?main()

{

????Base?*basePtr?=?new?Derive();

????delete?basePtr;

}

? ? 输出为:

复制代码

1

2

3

4

Constructing?Base

Constructing?Derive

Destroying?Derive

Destroying?Base

5. 重载、重写

6. 计算机进程如何管理内存?虚拟地址和物理地址的转换在哪里发生?(MMU)

7. 异常和中断

8. 思维题:黑白帽子题

【问题1】100个人排成一队,每个人头上一顶帽子(黑or白),黑色和白色数量随机。每个人都能看到自己前面所有人的帽子颜色,但看不到自己帽子的颜色。从最后一个人开始往前说自己的帽子颜色,如果说对+1分,说错不扣分,问:怎样才能使得总分最高?总分最高是多少?

(奇偶校验码的思想。第100个人数一下前面99个人帽子颜色,若黑色是奇数,则说黑色,否则说白色。第99个人数一下前98个人帽子颜色,根据自己数的和第100个人说的推断出自己帽子颜色。以此类推直到第一个人,总分最高是99分。)

【追问】如果是黑色、白色、红色帽子呢?

(面试官提示是三进制、异或的思想,但我没想出来orz)

9. 代码题1:括号匹配判断

一个字符串中所有可能字符只有"(", ")", "[", "]", "{", "}"。输入一个字符串,判断括号是否配对,输出“yes”或者“no”。

如:"(([[]])){}"则输出"yes","{[(])}"则输出"no"。

10.代码题2:输出所有可能的排列

给定两个数字n和m。有n组"()"括号,m组"{}"括号,输出所有匹配的字符串。如n=1,m=2,则输出:

(){}{}

(){{}}

({}{})

......

11. 反问

总结:

1. 面试字节一定多刷面试题!!!

2. 我好傻(×

3.大家如果没有复习题的,可以看下我之前面试整理的!!点赞+收藏,扫描二维码备注03,即可获得哦

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:24:34  更:2021-11-30 15:25:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:42:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码