06 2023 档案

C++面试八股文:什么是空指针/野指针/悬垂指针?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第30面: > 面试官:什么是空指针? > > 二师兄:一般我们将等于`0`/`NULL`/`nullptr`的指针称为空指针。空指针不能被解引用,但是可以对空指针取地址。 ```c++ int* p = nullptr; //空指针 *p = 42 阅读全文

posted @ 2023-06-30 23:31 二进制架构 阅读(582) 评论(0) 推荐(3)

C++面试八股文:什么是构造函数?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第29面: > 面试官:什么是构造函数? > > 二师兄:构造函数是一种特殊的成员函数,用于创建和初始化类的对象。构造函数的名称与类的名称相同,并且没有返回类型。构造函数在对象被创建时自动调用。 ```c++ struct Foo { Foo(int 阅读全文

posted @ 2023-06-29 23:07 二进制架构 阅读(352) 评论(2) 推荐(1)

C++面试八股文:知道std::unordered_set/std::unordered_map吗?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第27面: > 面试官:知道`std::unordered_set/std::unordered_map`吗? > > 二师兄:知道。两者都是C++11引入的新容器,和`std::set`和`std::map`功能类似,`key`唯一,`unorde 阅读全文

posted @ 2023-06-28 22:43 二进制架构 阅读(317) 评论(2) 推荐(1)

C++面试八股文:用过std::set/std::map吗?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第27面: > 面试官:用过`std::set/std::map`吗? > > 二师兄:用过。 > > 面试官:能介绍一下二者吗? > > 二师兄:`std::set`是一个有序的集合,其中的元素是唯一的,即每个元素只能出现一次。一般用于去重和自动排 阅读全文

posted @ 2023-06-27 23:26 二进制架构 阅读(341) 评论(0) 推荐(2)

C++面试八股文:std::deque用过吗?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第26面: > 面试官:`deque`用过吗? > > 二师兄:说实话,很少用,基本没用过。 > > 面试官:为什么? > > 二师兄:因为使用它的场景很少,大部分需要性能、且需要自动扩容的时候使用`vector`,需要随机插入和删除的时候可以使用` 阅读全文

posted @ 2023-06-26 22:40 二进制架构 阅读(162) 评论(0) 推荐(1)

C++面试八股文:std::array如何实现编译器排序?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第25面: > 面试官:`array`熟悉吗? > > 二师兄:你说的是原生数组还是`std::array`? > > 面试官:你觉得两者有什么区别? > > 二师兄:区别不是很大,原生数组(非动态数组)和std::array都在栈上开辟空间,初始化 阅读全文

posted @ 2023-06-25 22:20 二进制架构 阅读(349) 评论(2) 推荐(2)

C++面试八股文:std::vector和std::list,如何选择?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第24面: > 面试官:`list`用过吗? > > 二师兄:嗯,用过。 > > 面试官:请讲一下`list`的实现原理。 > > 二师兄:`std::list`被称为双向链表,和C中手写双向链表本质上没有大的区别。`list`对象中有两个指针,一个 阅读全文

posted @ 2023-06-24 18:42 二进制架构 阅读(277) 评论(0) 推荐(2)

C++面试八股文:std::vector了解吗?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第23面: > 面试官:`vector`了解吗? > > 二师兄:嗯,用过。 > > 面试官:那你知道`vector`底层是如何实现的吗? > > 二师兄:`vector`底层使用动态数组来存储元素对象,同时使用`size`和`capacity`记录 阅读全文

posted @ 2023-06-23 23:34 二进制架构 阅读(352) 评论(0) 推荐(1)

C++面试八股文:override和finial关键字有什么作用?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第22面: (二师兄好苦逼,节假日还在面试。。。) > 面试官:C++的继承了解吗? > > 二师兄:(不好意思,你面到我的强项了。。)了解一些。 > > 面试官:什么是虚函数,为什么需要虚函数? > > 二师兄:虚函数允许在基类中定义一个函数,然后 阅读全文

posted @ 2023-06-22 23:38 二进制架构 阅读(286) 评论(0) 推荐(0)

C++面试八股文:用过STL吗?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第21面: > 面试官:用过STL吗? > > 二师兄:(每天都用好吗。。)用过一些。 > > 面试官:你知道STL是什么? > > 二师兄:STL是指标准模板库(`Standard Template Library`),是C++区别于C语言的特征之 阅读全文

posted @ 2023-06-21 23:40 二进制架构 阅读(352) 评论(0) 推荐(1)

C++面试八股文:static_cast了解一下?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第20面: > 面试官:C++中支持哪些类型转换? > > 二师兄:C++支持C风格的类型转换,并在C++11引入新的关键字规范了类型转换。 > > 二师兄:C++11引入四种新的类型转换,分别是`static_cast`、`dynamic_cast 阅读全文

posted @ 2023-06-20 23:18 二进制架构 阅读(290) 评论(0) 推荐(3)

C++面试八股文:什么是智能指针?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第19面: > 面试官:什么是智能指针? > > 二师兄:智能指针是C++11引入的类模板,用于管理资源,行为类似于指针,但不需要手动申请、释放资源,所以称为智能指针。 > > 面试官:C++11引入了哪些智能指针? > > 二师兄:三种,分别是`s 阅读全文

posted @ 2023-06-19 23:01 二进制架构 阅读(492) 评论(0) 推荐(1)

C++面试八股文:std::string是如何实现的?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第18面: > 面试官:`std::string`用过吧? > > 二师兄:当然用过(废话,C++程序员就没有没用过`std::string`的)。 > > 面试官:`std::string("hello")+"world"`、`"hello"+st 阅读全文

posted @ 2023-06-18 19:25 二进制架构 阅读(427) 评论(0) 推荐(0)

C++面试八股文:聊一聊指针?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第17面: > 面试官:聊一聊指针? > > 二师兄:好的。 > > 面试官:你觉得指针本质上是什么? > > 二师兄:这要从内存地址开始说起了。如果有一块容量是1G的内存,假设它的地址是从`0x00000000` 到`0x3fffffff`,每一个 阅读全文

posted @ 2023-06-17 21:59 二进制架构 阅读(229) 评论(0) 推荐(0)

C++面试八股文:什么是左值,什么是右值?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第16面: > 面试官:什么是左值,什么是右值? > > 二师兄:简单来说,左值就是可以使用`&`符号取地址的值,而右值一般不可以使用`&`符号取地址。 ```c++ int a = 42; //a是左值,可以&a int* p = &a; int* 阅读全文

posted @ 2023-06-16 23:48 二进制架构 阅读(407) 评论(0) 推荐(0)

C++面试八股文:了解auto关键字吗?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第15面: > 面试官:了解`auto`关键字吗? > > 二师兄:嗯,了解一些(我很熟悉)。 > > 面试官:说一说`auto`的用法吧? > > 二师兄:`auto`主要是为了编译器进行类型推导。比如: ```c++ auto i = 42; / 阅读全文

posted @ 2023-06-15 23:05 二进制架构 阅读(658) 评论(5) 推荐(1)

C++面试八股文:在C++中,有哪些可执行体?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第14面: > 面试官:在C++中,有哪些可执行体? > > 二师兄:可执行体? > > 面试官:也就是可调用对象。 > > 二师兄:让我想一想。函数、函数指针、类的静态方法、类的成员方法、仿函数、lambda表达式。 > > 面试官:能说一说他们之 阅读全文

posted @ 2023-06-14 23:32 二进制架构 阅读(304) 评论(2) 推荐(0)

C++面试八股文:什么是RAII?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第13面: > 面试官:什么是`RAII`? > > 二师兄:`RAII`是`Resource Acquisition Is Initialization`的缩写。翻译成中文是资源获取即初始化。 > > 面试官:`RAII`有什么特点和优势? > > 阅读全文

posted @ 2023-06-13 23:24 二进制架构 阅读(418) 评论(0) 推荐(0)

C++面试八股文:了解位运算吗?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第12面: > 面试官:了解位运算吗? > > 二师兄:了解一些。(我很熟悉) > > 面试官:请列举以下有哪些位运算? > > 二师兄:按位与(`&`)、按位或(`|`)、按位异或(`^`),按位取反(`~`)、左移(`>`)。 > > 面试官:好 阅读全文

posted @ 2023-06-12 22:17 二进制架构 阅读(321) 评论(0) 推荐(0)

C++面试八股文:在C++中,你知道哪些运算符?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第11面: > 面试官:在C++中,你都知道都哪些运算符? > > 二师兄:啥?运算符?`+-*/=`这些算吗? > > 面试官:嗯,还有其他的吗? > > 二师兄:当然还有,`+=,-=,*=,/=,==`,还有逻辑运算,位运算等。 > > 面试官 阅读全文

posted @ 2023-06-11 22:07 二进制架构 阅读(160) 评论(0) 推荐(0)

C++面试八股文:了解sizeof操作符吗?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第10面: > 面试官:了解`sizeof`操作符吗? > > 二师兄:略微了解(不就是求大小的嘛。。) > > 面试官:请讲以下如何使用`sizeof`? > > 二师兄:`sizeof`主要是求变量或者类型的大小。直接使用`sizeof(type 阅读全文

posted @ 2023-06-09 23:11 二进制架构 阅读(319) 评论(0) 推荐(0)

C++面试八股文:C++中,设计一个类要注意哪些东西?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第9面: > 面试官:C++中,设计一个类要注意哪些东西? > > 二师兄:设计一个类主要考虑以下几个方面:1.面向对象的封装、继承及多态。2.`big three`或者`big five`。3.运算符和函数重载、静态成员、友元、异常处理等相关问题。 阅读全文

posted @ 2023-06-08 23:14 二进制架构 阅读(285) 评论(0) 推荐(1)

C++面试八股文:C++中,函数的参数应该传值还是传引用?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第8面: > 面试官:C++中,函数的参数应该传值还是传引用? > > 二师兄:要看参数的用途。如果是出参,必须传引用。如果是入参,主要考虑参数类型的大小,来决定传值还是传引用。 > > 面试官:为什么不使用指针? > > 二师兄:传指针也称之为传引 阅读全文

posted @ 2023-06-07 22:27 二进制架构 阅读(311) 评论(1) 推荐(1)

C++面试八股文:static和const的关键字有哪些用法?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位第7面: > 面试官:C++中,`static`和`const`的关键字有哪些用法? > > 二师兄:`satic`关键字主要用在以下三个方面:1.用在全局作用域,修饰的变量或者函数为静态的,限制在本文件内使用。2.方法内修饰修饰静态局部变量,在第一 阅读全文

posted @ 2023-06-06 22:51 二进制架构 阅读(343) 评论(0) 推荐(1)

C++面试八股文:如何在堆上和栈上分配一块内存?
摘要:某日二师兄参加XXX科技公司的C++工程师开发岗位6面: > 面试官: 如何在堆上申请一块内存? > > 二师兄:常用的方法有malloc,new等。 > > 面试官:两者有什么区别? > > 二师兄:malloc是向操作系统申请一块内存,这块内存没有经过初始化,通常需要使用memset手动初始化。 阅读全文

posted @ 2023-06-05 22:08 二进制架构 阅读(409) 评论(0) 推荐(2)

C++面试八股文:struct、class和union有哪些区别?
摘要:某日小二参加XXX科技公司的C++工程师开发岗位5面: > 面试官:struct和class有什么区别? > > 小二:在C++中,struct和class的唯一区别是默认的访问控制。struct默认的成员是public的,而class的默认成员是private的。 > > 面试官:struct、c 阅读全文

posted @ 2023-06-04 17:49 二进制架构 阅读(488) 评论(0) 推荐(1)

C++面试八股文:指针占用多少个字节?
摘要:某日小二参加XXX科技公司的C++工程师开发岗位4面: > 面试官:memset、memcpy和strcpy的区别是什么? > > 小二:memset用于将一块内存设置为特定的值, > > memcpy用于将一块内存从一个位置复制到另一个位置, > > strcpy用于将一个字符串从一个位置复制到另 阅读全文

posted @ 2023-06-03 23:20 二进制架构 阅读(94) 评论(0) 推荐(1)

C++面试八股文:C++中指针、引用、解引用和取地址有什么不同?
摘要:某日小二参加XXX科技公司的C++工程师开发岗位2面: > 面试官:指针、引用、解引用和取地址是C++中的重要概念,请问它们在语法和语义上有所不同? > > 小二:**指针**是一个变量,它存储了一个内存地址。 > > 小二:**引用**是一个别名,它允许使用一个变量的多个名称来访问同一个内存位置。 阅读全文

posted @ 2023-06-01 18:21 二进制架构 阅读(203) 评论(2) 推荐(1)

C++面试八股文:C和C++有哪些区别?
摘要:某日小二参加XXX科技公司的C++高级工程师开发岗位1面: >面试官:请问C和C++的区别有哪些? > >小二:C++是C的超集。 > >面试官:还有吗? > >小二:... > >面试官:面试结束,回去等消息吧。 > >小二:淦。 小二的答案对吗? 实际上这句话是有问题的,严格的说,C语言和C++ 阅读全文

posted @ 2023-06-01 16:18 二进制架构 阅读(208) 评论(0) 推荐(0)