字节-暑期实习-客户端 一面凉经


4.28

1,自我介绍

2,谈一谈对封装、继承、多态的理解

3,这三大特性对我们编程有什么好处(方便扩展)

4,能具体说一下怎么个方便扩展吗(比如新增功能,可以新增代码而不必重写,提高代码复用)

5,多态也是方便代码复用吗?(不知道,但我会用多态,因为在学设计模式)

6,那你写一个工厂模式吧(……我是菜鸡,工厂模式写的很烂,因为忘得差不多了,基类忘了写成抽象类或者接口)

7,你认为基类定义成抽象类还是接口比较好?有什么区别吗?

8,如果你的基类定义成interface有什么好处?

9,面向对象6大原则了解吗?开闭原则什么意思?

10,C++多态实现机制?(虚表,还好之前看过)

11,你了解静态多态吗?(不了解但我听说过,我是真的看过,但年代实在久远)

12,

class A{   public:    void func(void){   cout << 'a';   } }; class B:public A{  public:   void func(void){   cout << 'b';   } }  ; int main(){  B b;  A *a = &b;  a -> func(); }  //1,输出什么?为什么?b(答案是a,我当时还信誓旦旦以为自己对了,丢大脸了) //2,如果在第三行加个virtual呢?还是b(这是对的) //3,假如没有virtual修饰,sizeof(A)输出什么?为什么?1,函数是放在了一个代码区(对了) //4,如果价格virtual呢?sizeof(a)=?  指针大小,视操作系统而定

13,说一下内存中堆和栈的区别?

14,两者使用上的优劣?

15,堆本身有什么好处?

16,从线程角度来讲,能不能有多个线程同时访问同一个栈里面的内存数据?(要看是否属于同一进程,同一个进程就可以,否则不行)

17,讲一下select和epoll?(select 昨晚看过,epoll就寄了)

18,epoll用到的数据结构?(不知道)

19,epoll比select高效的原因?(寄)

20,epoll整个流程能不能具体说一下?(寄)

算法:

1,二叉搜索树,寻找最近公共祖先(秒杀)

2,二叉树,寻找最近公共祖先(做过,一时紧张忘了递归做法,做了快10分钟没做出来,申请换题,面试官说,递归比较乱,你尝试一下非递归的方法,我硬着头皮用数组做出来了 ,写得很烂,但还是对了)

反问环节:

我还需要提升哪些方面?

凡事多问为什么,多深入思考


整体来说,面试官人很好,很礼貌,没怎么刁难我,只怪我太菜了,所以说,人还是需要卷一卷的

不说了,我去卷了

#字节跳动客户端研发实习面经##字节跳动##实习##面经##C/C++#
全部评论
静态多态是指运算符重载动态多态是指虚函数
2 回复 分享
发布于 2022-05-01 19:23
epoll好像是链表 动态扩容 可以支持大量的文件描述符监控 select是数组 只支持最大1024个文件符且性能会随着描述符增多而线性下降
2 回复 分享
发布于 2022-05-01 19:25
最后那个epoll什么的我记得是操作系统讲过,‘小林coding’这个网站有,可以看看,就是不知道深度达不达得到你的要求哦
1 回复 分享
发布于 2022-05-01 14:05
深挖一下就是epoll不用重复的写拷贝而select会频繁的进行写拷贝 每次一次写拷贝都会伴随着从用户态到内核态的转换
1 回复 分享
发布于 2022-05-01 19:31
老哥,是北京的抖音客户端开发吗
点赞 回复 分享
发布于 2022-05-08 01:06
老哥,不是每个线程都有自己的栈与寄存器吗,线程怎么还能去访问别的线程的栈呢?
点赞 回复 分享
发布于 2022-06-13 21:27

相关推荐

三年之期已到我的offer快到碗里来:9硕都比不上9本
点赞 评论 收藏
分享
10-06 12:46
门头沟学院 Java
跨考小白:定时任务启动
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
评论
4
23
分享
牛客网
牛客企业服务