字节 一面

本文深入探讨了C++中的struct与class的区别,包括访问权限和继承方式。讲解了extern关键字的作用,const和#define的使用,以及virtual关键字在构造函数和虚函数中的应用。同时,介绍了C++11的新特性,如auto关键字简化类型推断,以及move操作用于资源转移。此外,还讨论了vector的扩容机制,map和unordered_map的区别,以及在操作系统和网络编程中的select和epoll技术。
  1. 字符串计算器
  2. 问项目

C++
3. struct和class的区别
在C++中struct可以有成员函数、实现了继承、实现了多态
struct:默认访问权限:public 公有继承
class:默认访问权限:public 私有继承
公有继承和私有继承 取决于子类
“class”关键字可以用来定义模板参数,
https://blog.youkuaiyun.com/alidada_blog/article/details/83419757

  1. extern关键字
    https://hellozhaozheng.github.io/z_post/Cpp-extern%E5%85%B3%E9%94%AE%E5%AD%97/

  2. const define
    https://www.jianshu.com/p/4d9f30abc3e9

  3. virtual关键字 构造函数与虚函数 虚函数默认形参
    构造函数:报错,不允许使用virtual

  4. 虚函数默认形参
    虚函数是动态绑定的,默认参数是静态绑定的
    静态绑定在编译期决定,动态绑定是运行时决定的
    https://harttle.land/2015/09/04/effective-cpp-37.html

  5. C++ 11 auto
    auto:关键字设为形参就相当于模板参数了
    编译器对变量进行自动推导
    https://www.cnblogs.com/QG-whz/p/4951177.html

  6. 模板函数
    模板实例化发生在编译器

  7. C++11 move
    move(i) 会使得i的值为空
    https://blog.youkuaiyun.com/wangshubo1989/article/details/49748703

  8. vector 扩容
    vector push_back两种重载:一种是左值,一种是右值
    vector

  9. map和unordered_map

操作系统
14. 编译过程、运行过程
15. print怎么调用
https://blog.youkuaiyun.com/shihuboke/article/details/79268185
网络编程
16. select epoll

### 字节跳动 C++ 一面面试经验及相关题目 #### 关于继承与多态的分析 在所提到的例子中,`A* p = new B; p->test(1);` 的行为取决于 `test()` 是否被声明为虚函数。由于未提及 `virtual` 关键字,因此默认情况下,`p->test(1)` 调用的是基类 `A` 中定义的方法而非派生类 `B` 的方法[^2]。 然而,在实际开发环境中,如果希望实现动态绑定,则需显式地将成员函数标记为虚拟函数 (通过使用关键字 `virtual`)。这样可以确保即便指针指向父类对象实例时也能正确调用子类重写的版本: ```cpp class A { public: virtual int test(int) { return 0; } }; class B : public A { public: int test(int) override { return 1; } }; ``` 上述代码片段展示了如何利用 **虚函数机制** 来支持运行时期间的多态性操作。 #### 刷题的重要性及其范围覆盖 对于准备参加像字节跳动这样的大厂技术岗位考核来说,扎实掌握基础理论知识固然重要,但也不能忽视实战演练环节的价值所在。特别是在涉及面向对象编程范式的考察方面更是如此。除了理解基本概念外还需要熟悉常见设计模式的应用场景以及解决具体业务需求的能力表现出来[^3]。 此外值得注意的一点就是关于数据结构与算法方面的考查力度往往较大,建议重点复习诸如二叉树遍历、图论最短路径计算等问题类型,并尝试完成LeetCode平台上相应难度等级下的练习任务以提升解题速度和准确性水平。 #### 应对高压环境的小贴士 当面临紧张氛围或者难以作答的情况之下,请保持冷静并真诚回应对方提问;即使暂时无法给出确切答案也应表明积极求知态度愿意后续深入探究相关内容知识点。同时如果有相关工作经验的话不妨选取其中一个较为擅长且具备完整文档记录支撑的成功案例向考官详细介绍整个过程从而留下良好印象得分加分项哦! ```python def example_function(x): """This is an illustrative Python function.""" y = x * 2 z = y + 5 result = z / 3 return round(result) print(example_function(7)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值