【元戎面经】25届软件开发校招

9.5 三面

出自

  • 投递:2024/07/02
  • 一面:2024/07/16(50分钟)
  • 很明显是面向竞赛生的面试,对非竞赛同学可能没什么参考性
  • 手撕算法题
  • 给一个01串,保证开头为0,结尾为1,找到任意一个“01”子串的位置,复杂度尽可能低(二分)
  • 无向图,给定两节点a,b,求路径必会经过a和b的节点对数(分别断开a和b进行容斥)
  • n个洞一排,兔子每天往左或右跳一格,每天询问一个洞里是否有兔子,找到一个一定能找出兔子的策略(顺着问一遍再反着问一遍,奇偶性错开)
  • 项目不了解,没展开
  • C++八股:右值,智能指针中的线程安全(不了解线程方面知识)
  • 问还会什么基础知识,我说通信原理和计算机网络,面试官自己不太了解,所以没展开
  • 二面:2024/07/31(60分钟)
  • 高强度八股,包括但不限于:C++11新特性,new/delete和malloc/free,struct和class,虚函数和纯虚函数, const和define,局部变量和全局变量的内存位置,智能指针,字符串指针,各种容器插入查询复杂度,等等
  • 手撕:
  • 手撕String类
  • 用两个队列实现栈
  • leetcode 盛最多水的容器
  • 三面:2024/08/20(50分钟)
  • 应该是主管面,对方是做仿真的部门,面试内容还是比较偏技术,包括八股和手撕
  • 八股:析构函数为什么是虚函数,虚函数的原理,虚函数表是什么时期确定的,模板函数的具体类是什么时期确定的,模板函数能否是虚函数(不能,这点没学到),智能指针
  • 手撕:一个小几何,给一条polyline,要将其分为虚实两部分,方法是从起点出发,实部走x长度,虚部走y长度,然后循环,返回最终实部的polyline集合
  • 8.29 一面

    出自

    1.先问了实习

    2.代码优化有些什么方向(实习里的)

    3.class A{

    int A;

    char B;

    };

    class A{

    char C;

    int A;

    char B;

    };

    class A{

    char C;

    int A;

    char B;

    virtual void func1() {}

    };

    class A{

    char C;

    int A;

    char B;

    virtual void func1() {}

    virtual void func2() {}

    virtual void func3() {}

    virtual void func4() {}

    };

    分别说出sizeof(A).

    4.说一下智能指针

    5.unique_ptr 怎么赋值(用std::move())

    6.用unique_ptr作为返回值可以吗

    uniqur_ptr<T> func() {

    uniqur_ptr<T> a;

    return a; // 这两种都可以

    return std::move(a); // 这两种都可以

    }

    7.说一下lambda表达式由哪几部分组成

    8.bind和function

    9.future和promise(这两个没学过)

    10.项目里为啥要用zmq

    11.手撕:一个可能被部分排序的数组,找出最小子数组,将其排序后,整个数组变为有序

    8.12二面

    出自

    1,智能指针有哪些

    2,智能指针的用法,weak_ptr怎么用的,可以解决什么问题

    3,项目中的对打环境,怎么做一个数据闭环

    4,算法题:合并区间,要求使用O(val)的时间复杂度

    5,智力题:有很多个犯人,有一个典狱长,桌子上有一个硬币(一开始是正面)。典狱长每次随机叫一个犯人出来,犯人可以选择将硬币翻面,也可以不翻。需要你提供一个策略,当一段时间后一个犯人出来后可以知道全部的犯人都被叫出来了就是犯人获胜。

    8.8一面

    出自

    于 2024/8/8 14:00 进行的为时 64 分钟的面试,只问了15 分钟问题,后面 40 分钟全是我在写算法题... 题其实不难,但我刚开始没想对思路,做了好久,最后在面试官的提醒下大致做出来了。本来面试官是准备了一堆 Java 面经的,听我说了一些了以后决定不问了,直接进入算法环节。面试官人很好,我问题答得也还行,毕竟也没问几个问题,不知道能不能过。

    以下是面经:

    • 自我介绍
    • 蔚来接口测试主要用的是 Java 吗?你简历中写到接口性能瓶颈测试,能讲讲这部分吗?对并发量和吞吐量有要求吗?
    • 看你会很多(计算机程序)语言,是自学的吗?
    • 讲讲你对计算机网络的分层的了解?TCP 和 UDP 的区别?对 IO 多路复用了解吗?讲讲 select/poll/epoll 的区别?(没太答好,面试官说我只说对了一部分)
    • 讲讲百度的实习经历?是不是写 Python 脚本多些?对大模型的测试是怎么进行的,有固定指标吗?
    • 算法题:顺序给定多个温度数据,始终求前 X 份数据的最大、最小和平均值(单调栈)。
    • 反问

    8.8一面

    出自

    高赞说下面试官,很和蔼。

    自我介绍

    C++  运行有哪些步骤,

    析构函数和构造函数能不能是虚函数,

    智能指针,

    static,

    操作系统

     用户态和内核态是什么;

    计算机网络

     tcp三握四挥,tcp粘包 场景题 发送三个hello,客户端怎么安全有效的接收。

    手撕一个c++数组返回值,撕得太慢了,估计凉了。

    8.1一面

    出自

    8.1 一面 60min

    上来先自我介绍,

    然后介绍实习期间的工作,

    问了实习中使用的单例模式,是否了解,什么作用。

    就开始拷问cpp八股,

    包括class中添加不同元素后,class的大小,虚函数的大小,懂不懂虚函数的原理。

    然后问stl了解哪些,介绍其中两个。

    继续问c++11相关的八股,包括智能指针,move,future之类的。大概花了半小时时间。

    然后开始手撕,输入一个数学计算式的字符串,输出结果。花了半小时没完全做出来,然后讲下思路。反问公司大致的岗位

    8.1二面

    出自

    1.聊聊实习 视频编码格式的区别,m3u8以及和可下载视频编码的区别(完全不懂,实习做的是视频相关,但是纯纯调接口,不懂视频)

    除了轮训,还有什么方式可以异步调用,回答了服务端主动推送,类似于websocket

    追问:websocket的缺点,不怎么会……

    2.八股

    tcp、udp区别

    用udp,为什么一些平台直播主播和用户几乎同步,为什么一些平台主播和用户有延时差别

    海量用户看直播,负载均衡怎么设计

    cdn了解吗,完全不懂

    http、https区别,讲讲https怎么简历连接

    3.做题

    力扣常见算法题

    一个矩阵,把0所在的行、列都变成0

    要求不用额外空间复杂度

    相比一面,二面难度大很多,不过面试官依旧非常和善,很有耐心,对元戎启行好感度爆棚

    7.31一面

    出自

    7.4 投递 7.31一面

    自我介绍

    实习项目

    介绍项目架构,分层讲解

    有没有设计过MySQL库

    如何写单元测试,和数据库交互

    CI/CD流程,开发feature后流程

    模块单测覆盖率多少能过

    HTTP、HTTPS、gRpc了解多少

    如何定义接口路由,几种类型,POST、GET、PUT、DELETE

    POST和PUT有什么区别,幂等

    UDP和TCP区别,用途和场景

    TCP为什么可靠

    分布式Gossip协议流程,去中心化、弱一致性

    如何设计拓扑逻辑使得同步Latency较低

    算法:岛屿数量,复杂度,dfs bfs实现

    反问:

    部门?数据闭环,Golang/Python

    一共几面?3或者4技术面

    24届以及之前校招软开面经

    点击

    25届校招投递地址

    点我,投递的同学,在下方回复:名字简称+地址方便确认是否投递成功,例如:xyz + 深圳

    全部评论

    相关推荐

    评论
    2
    5
    分享

    创作者周榜

    更多
    牛客网
    牛客企业服务