OD-22届考研-C++面经

先介绍一下背景

  • 22届半科班,考研落榜选手,被刷后参加社招,在拿到了些中小厂offer后知悉华为od项目。个人刷题200+,有写过经典webserve和一个毕设算法类项目,机试题库刷了半个月。(自己投递之前花了50买的,实际上联系栗栗小姐姐,各种题库都有,心痛到无法呼吸。)

机考

  • 运气很好,抽到的都比较简单,但运气也很差,第二道明明简单到一眼出结果,但就是没找到bug在哪里。
  • 第一道:找二维数组每一列的最大值,再求出其中的最大值。
  • 第二道:增强的strstr。直接字符串处理,测试用例都过了,试后在网上找的用例也都通过,但通过率死活15%,哭了,逼急了也真找不到bug了。
  • 第三道是寻找最大价值的矿堆,用bfs计数过了87.5%,一个用例内存超限。
  • 我是把od全部题库从头到尾刷了一遍,试前做好了面对递归回溯甚至字典树的准备,结果一拳打在空处。
  • 简单题上面被卡了一下脖子,但要注意把握时间分配,不要死怼一道题,该过就过,别耽误下一道题。

综测

  • 先看两遍栗栗小姐姐建议,然后再去测试,记住关键词!!
  • 给自己立一个人设,注意前后一致性,在一道道咄咄逼人的问题冲刷下,真的很容易找不到北,所以你就突出部分特质就够了,比如团结就是大于创新,别老想着自己是个完人。

HR面试

视频面试,涉及以下几点:

1.解释清楚自己的情况,经历尽量连续别有空档期;

2.你了解这份工作吗,包括但不限于od与正式的区别;

3.来此的意愿缘由,有亲友在工作地附近是加分项;(感觉很明显,直到主管面都在说。)

4.对未来两年有着较为清晰的规划吗;

4.自己有成体系的技术栈吗。

技术一面

c++的常规八股文(栗栗小姐姐给的八股文里基本都能有涉及到)

    ●基础类:const,static,指针和引用等。

    ●面向对象类:三大特性,空类成员,两种多态,动态多态的实现原理(虚指针虚函数表那些),纯虚函数,虚析构。

    ●内存管理类:内存分区,内存泄露的定义。

算法题,剑指39顺时针打印矩阵,这道题刷题目时眼高手低直接跳过,结果差点坑了自己,一开始拿到没思路。最后用几个while处理x,y坐标和边界做出来了,自此不敢轻视简单题。

技术二面

  • 面试官针对我的毕设项目提问,涉及一些图像处理和坐标系转换定位方面。
  • 然后面试官比较看重工程思维,问了一些让我措不及防的主观问题,比如怎么保证每个流程节点没有出错,怎么规划项目、测试、发布,每个环节的存在必要性。
  • 算法题是一道简单的回溯,组合总数。给定目标值和数组,求数组中元素之和等于目标值的组合,涉及挑选组合和去重。
  • 我用的排序和set来实现去重的,写完后面试官问还有其他的去重方式吗,我说使用无序set,其他的就不知道了。
  • 其他问题与一面问题重合。

技术加面

主要对webserve项目提问,涉及:

    ●linux使用常用命令。

    ●线程池实现原理,作用,优缺点。

    ●mysql连接池实现原理。

    ●reactor模式。

    ●互斥锁,信号量。

算法题:大意就是根据字符串特征得分,比如遇见递增递减子串时得分是该子串长度*3,遇见特定的字符得分5等,但是脑袋一昏没处理好边界,多算了几分,定级-1, 

主管面

主观问题:

1.自我介绍一下;

2.【听说你有亲友在目标城市】;

3.最近压力最大的是什么时期,压力最大时怎么缓解,慢跑放松时配速多少;

4.最佩服的人,佩服其什么特质;

5.最讨厌什么样的工作。 

反问:技术栈和加班。 

当天提交审批,薪资定级内拉满。

发offer

(整个流程下来保持佛系心态,尽人事听天命,偶尔有点小慌张就把它分享给栗栗小姐姐,然后两个人一起慌就会好很多,哈哈哈,这点有点好笑,感觉栗栗小姐姐比我还慌,也可以聊些工作外的趣事,在上班时间摸鱼,也挺——哔———————……)

入职

其他流程,体检,租房,入职。大家考虑OD可以找栗栗小姐姐,会给你分担很多东西,不会迷茫,全程自发跟进不用自己去催,栗栗小姐姐自己会主动和你说流程进展,无论是好还是不好都会如实和我说,不会忽悠我,有站在我的角度考虑的哦。

-------------------------------------------【嘻嘻,以下是栗栗自己的罗里吧嗦】---------------------------------------------------

1、需要其他的面经可以前往我是栗栗呀---主页 https://www.nowcoder.com/users/685674902 (内含:测试,前端,Java,嵌入式等面经有几十份)。

2、对于大家说的目标非目标的问题,大家可以先咨询我了解下,再去准备机考的哦,因为消费者终端是有持续在招聘非目标需求的。

3、转行或者考研等也是可以持续投递的!目前需求还是很充足的哦!!同时栗栗会提供笔试资料,以及所有面试环节的技术攻略等~~24届的友友们,虽然要拿到双证才可以申请机考,但是可以提前联系咨询我的呀。

4、栗栗的招聘需求(可私聊)

  • 可选择的工作地:北京,东莞,深圳,上海,南京,西安,成都,武汉,长沙等华为研究所。
  •  招聘岗位:java、Python、前端,大数据、测试,c++,GO,嵌入式等岗位。
  • 可选择部门:ICT(公开,光,计算,无线,数存等),华为云,2012(中硬,中软,中媒),消费者BG,BPIT,上海海思,Carbu,2012,GTS,海思等。
  • https://www.nowcoder.com/discuss/609728551352274944?sourceSSR=users (也可以去栗栗主页查看)

    5、栗栗关于OD的一些浅显看法:https://www.nowcoder.com/discuss/611542395389325312

    全部评论
    栗栗小姐姐是谁
    1 回复 分享
    发布于 2024-04-22 10:34 安徽
    栗栗姐 求c++题库
    点赞 回复 分享
    发布于 2024-06-09 09:48 吉林
    栗栗姐求c++八股文面经
    点赞 回复 分享
    发布于 2024-05-29 15:40 山西
    简历被科锐hr 锁了,能捞嘛,想回长沙
    点赞 回复 分享
    发布于 2024-05-20 12:48 江苏
    栗栗姐,求机试题库
    点赞 回复 分享
    发布于 2024-05-14 20:55 浙江
    栗栗姐姐,求一下c++八股文面经
    点赞 回复 分享
    发布于 2024-05-13 10:51 四川
    栗栗姐,求机试题库
    点赞 回复 分享
    发布于 2024-05-13 00:02 广东
    小姐姐求一下 cpp 八股
    点赞 回复 分享
    发布于 2024-05-12 00:51 四川
    栗栗姐求c++八股文面经
    点赞 回复 分享
    发布于 2024-05-11 10:06 四川
    栗栗姐!求一份c++八股文
    点赞 回复 分享
    发布于 2024-05-03 19:28 黑龙江
    求一份c++面经
    点赞 回复 分享
    发布于 2024-05-02 18:40 河北
    栗栗姐求c++八股文面经
    点赞 回复 分享
    发布于 2024-05-01 16:40 河南
    栗栗姐姐求一下c++的八股面经
    点赞 回复 分享
    发布于 2024-05-01 11:02 陕西
    求一下c++资料
    点赞 回复 分享
    发布于 2024-04-29 20:57 湖北
    栗栗姐,求Java题库
    点赞 回复 分享
    发布于 2024-04-29 10:45 河北
    求C++资料
    点赞 回复 分享
    发布于 2024-04-28 02:22 河北
    栗栗姐姐可以求机考题库吗
    点赞 回复 分享
    发布于 2024-04-27 22:43 广东
    技术面也是线上视屏吗
    点赞 回复 分享
    发布于 2024-04-26 00:45 广东
    栗栗仙女有华子手撕的图库吗,求求一个!好人一生平安
    点赞 回复 分享
    发布于 2024-04-25 14:45 四川
    栗栗姐海思offer审批一般多久,3天能下来吗
    点赞 回复 分享
    发布于 2024-04-25 09:01 新疆

    相关推荐

    Q1. Lamda表达式A1: Lamda表达式更简洁,创建匿名函数。简化函数式接口。只有一个表达式时,表达式的结果直接作为返回值;多个表达式,需要大括号,return语句作为返回值。lamda表达式使JAVA支持函数式编程,允许函数作为参数传递;结合Stream API处理集合操作如过滤。Q2. 为什么有包装类 Integer和int的区别A2. 集合,泛型只能使用引用类型,不能使用基本数据类型。集合需要支持动态内存分配、垃圾回收等特性,而这些机制都依赖于对象。int是基本数据类型,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值是null,所以Integer能区分出0和null的情况。基本数据类型在声明时系统会自动给它分配空间,而引用类型声明时只是分配了引用空间,必须通过实例化开辟数据空间之后才可以赋值。我自己想的是 集合如Set需要hashCode和equals方法来判断元素是否已经存在,所以集合必须用封装类Q3: 项目架构 选型 原因Q4: 微服务间调用方式、通信协议,为何这样选Dubbo 是阿里巴巴开源的高性能 Java RPC 框架,广泛应用于微服务架构中,其核心优势在于高效的远程调用能力、丰富的服务治理机制以及灵活的多协议支持。以下是关于 Dubbo 的微服务调用方式、支持的通信协议及选择 Dubbo 的原因的详细解析:---### **一、Dubbo 的微服务调用方式**Dubbo 的微服务间调用主要基于 **RPC(远程过程调用)** 实现,通过以下核心机制完成服务交互:1. **服务注册与发现**     - 服务提供者启动时,将自身信息(如服务名、地址、端口)注册到注册中心(如 Zookeeper、Nacos),消费者通过注册中心动态获取可用服务列表。   - 支持多种负载均衡策略(随机、轮询、最少活跃调用等),自动选择最优服务实例进行调用。2. **RPC 调用流程**     - **接口定义与共享**:服务提供者和消费者需共享相同的服务接口定义(如 Java Interface),通过代理机制屏蔽底层通信细节。   - **序列化与传输**:调用参数和返回结果通过序列化(如 Hessian、Protobuf)转换为二进制数据,通过 TCP 或 HTTP 协议传输。3. **服务治理机制**     - **容错策略**:提供 6 种容错模式(如失败自动切换、快速失败、广播调用),应对不同场景的异常处理需求。   - **动态配置**:通过配置中心(如 Nacos)实现参数动态更新,无需重启服务。---### **二、Dubbo 支持的通信协议**Dubbo 支持多种通信协议,开发者可根据场景灵活选择:| **协议**       | **特点**                                                                 | **适用场景**                                                                 ||----------------|--------------------------------------------------------------------------|-----------------------------------------------------------------------------|| **Dubbo 协议** | 默认协议,基于 TCP 长连接与二进制传输,性能高、延迟低,但跨语言支持有限。 | 高并发、低延迟的 Java 微服务间调用。                                           || **Triple 协议** | 基于 HTTP/2 和 Protobuf,兼容 gRPC,支持流式通信和 TLS 加密,穿透性强。 | 云原生环境、跨语言调用(如与 Go/Python 交互)或需要网关代理的场景。             || **HTTP/REST**  | 基于 HTTP 的 RESTful 风格,兼容性强,但性能较低。                   | 跨语言 Web 服务集成或对外提供开放 API。                                        || **gRPC**       | 基于 HTTP/2 的高效协议,支持双向流式通信,需依赖 Protobuf 定义服务。 | 需要强类型约束、跨语言且对性能要求较高的场景。                                 || **Hessian**    | 二进制协议,跨语言支持较好,但性能略逊于 Dubbo 协议。                          | Java 与非 Java 系统(如 PHP)间的轻量级集成。                                  |---### **三、选择 Dubbo 的核心原因**1. **高性能与低延迟**     - Dubbo 协议采用单一长连接和异步非阻塞通信(基于 Netty),在高并发场景下性能显著优于 HTTP/REST,例如在阿里巴巴双十一中支持万亿级调用。   - 序列化优化(如 Dubbo3 的 Triple 协议性能较 gRPC 提升 40%)。2. **完善的服务治理**     - **负载均衡**:支持随机、轮询、一致性哈希等策略,自适应算法可动态感知服务端负载。   - **容错与熔断**:内置多种容错模式(如 Failover、Failfast),支持服务降级和熔断机制,保障系统稳定性。   - **动态扩展**:服务实例可动态注册/注销,支持水平扩展与灰度发布。3. **多协议与生态兼容性**     - 支持 Dubbo、Triple、gRPC 等多种协议,可无缝集成 Spring Cloud、Kubernetes 等生态。   - 提供统一的服务治理能力(如监控、链路追踪),适用于混合技术栈环境。4. **生产级可靠性验证**     - 历经阿里巴巴大规模电商场景验证,支持百万级节点集群和智能流量调度,具备高可用性。---### **四、总结**Dubbo 通过高效的 RPC 调用机制、灵活的多协议支持以及强大的服务治理能力,成为构建高性能微服务系统的首选框架。其优势尤其体现在 **高并发场景下的性能表现**、**跨语言与云原生适配能力** 以及 **企业级服务治理功能**。若需进一步优化性能或扩展功能,可结合具体场景选择 Triple、gRPC 等协议,或通过第三方工具(如 Prometheus、Zipkin)增强监控能力。
    招商银行AI面6人在聊 查看4道真题和解析
    点赞 评论 收藏
    分享
    评论
    17
    43
    分享

    创作者周榜

    更多
    牛客网
    牛客网在线编程
    牛客网题解
    牛客企业服务