恭喜,拿到华为OD offer了,并分享刷题经验

news2024/10/6 14:33:22

在这里插入图片描述

目录

    • 一、先介绍一下华为OD是个什么鬼?
      • 1、华为OD背景
      • 2、华为OD现状
      • 3、华为OD趋势
      • 4、华为OD介绍
        • (1)人力外包
        • (2)员工关系
        • (3)工作关系
        • (4)薪酬福利
        • (5)工作时间
    • 二、面试流程
      • 1、机考
      • 2、综测
      • 3、业面×2
      • 4、HR面
      • 5、主管面
    • 三、华为OD薪资待遇?
    • 四、华为OD晋升空间?
    • 五、举个例子,刷一道2023Q1 200分的题【快速开租建站】
    • 1、题目描述
    • 2、输入描述
    • 3、输出描述
    • 4、解题思路
    • 5、Java算法源码
    • 6、效果展示
      • 1、输入
      • 2、输出
      • 3、说明
    • 六、华为OD去哪刷?

昨天群里有人问我,华为OD怎么样,好过吗?在哪刷题。

最近感觉华为OD很火啊,我来分享一下华为OD的机试题,争取做到有详细的解题思路,100%通过的详细代码,关键代码有注释。

王婆卖瓜,自卖自夸,很多小伙伴,通过刷我的这个题,通过华为OD的,真的为大家开心。

还有的小伙伴,把这个题全部都打印出来了,那么厚一本,我也是佩服,有此决心,何愁大事不成?

在这里插入图片描述

大家对华为OD还不是很了解。

一、先介绍一下华为OD是个什么鬼?

1、华为OD背景

过往“项目外包”主要针对非核心业务岗位,人员交付能力有限且稳定性不高。

19年开始探索并实行新的研发“人力外包”模式,按正式员工标准进行招聘(话虽如此,实际要求没那么高),由业务部门负责培养和管理,解决更为核心的业务问题,对于绩效优秀且能力突出的人才提供转正式员工通道。

2、华为OD现状

目前只开放软件研发岗位(含开发、测试、算法、大数据等),硬件岗位2022年起已停招,在职人数3W+,20年下半年-2022年底,转正人数已经超过3000人(入职人数和转正人数每月都是滚动变化的)。

从实际接触的部门情况来看,每个产品线严格来说每个部门的比例不尽相同,有些是在20%以下的,有些可以到50%,更高的能到80%以上(跟部门招聘要求、指标数量、OD基数等都有关)。

3、华为OD趋势

随着传统“项目外包”人员(如某软某通)无法进行华为工作级可信认证提交code,大批量被释放出华为项目;以及华为对OD招聘质量要求的提高。

同时外部经济环境持续不乐观,社招及校招HC收紧等因素,未来“招高质量OD转华为”会成为一种确定性的常态。

4、华为OD介绍

(1)人力外包

签约方为外企德科/科锐国际(人力服务公司),劳动合同期为4年,试用期6个月。

(2)员工关系

合同管理、五险一金、考勤发薪由外企德科/科锐国际负责;定级定薪、员工培训、工作安排、绩效评比和晋升等由华为负责。

(3)工作关系

和正式员工一起在华为研究所办公,工作内容基本没有差异。

当然也见过有些人进来做OD吐槽不用怎么写代码学不到东西的,这个其实跟你当时选择了什么部门什么团队有关系,部门和团队的项目定位决定了你的工作性质、学习资源和发展空间。

不存在核心非核心区别对待,主管和导师都是华为正式员工。

(4)薪酬福利

薪资结构:

  1. 基本工资+绩效工资+年终奖(2-4个月,一般绩效A-4个月,B-2个月);
  2. D1-D5分别对应华为13-17级,参考范围10-40K;
  3. 试用期内(6个月)工资不打折,按B绩效发绩效工资,转正时重新评绩效,一般分A、B、C三档(主要A或B,C概率较小),和正式员工分开评,半年评一次;
  4. 五险一金基数按基本工资,公积金比例5%-12%,具体看base地。
  5. 福利补贴:带薪年假、入职&年度免费体检、免费夜宵、班车/加班打车免费、下午茶、节假日礼品等。

(5)工作时间

  1. 上班8:0-9:00弹性(根据地域不一样有稍许差别),午休12:00-14:00,下班17:30-18:30(上下班时间一般跟所在项目组走);
  2. 一般一二四属于补工时到晚上20:30左右,三五正常时间下班(确保工时平均每天够8h,工时不需补且无加班需要,自己灵活安排下班时间,重点看产出);
  3. 周末双休,月末周六固定加班双倍工资,其他因业务需求指令性加班情况,可申请加班,按国家规定支付加班费。

二、面试流程

1、机考

可提供刷题资料/个别部门提供机考辅导。

2、综测

必须通过机考+综测才可以安排面试。

3、业面×2

围绕计算机/编程基础+项目经历+代码能力进行考察。

4、HR面

围绕求职动力、稳定性、薪酬情况等进行考察。

5、主管面

围绕综合素质如沟通表达能力、培养潜力、团队/业务匹配度、项目经历等进行考察。

备注:全流程线上进行,一般机考通过后2-3周内出offer。

三、华为OD薪资待遇?

在华为od岗的薪资问题,并没有比市场上多多少,具体根据个人职级和绩效而定,初入职场的应届生薪资大概在20K-30K左右,相对于其他行业来说,华为的起薪是比较高的。

此外,华为的薪资结构包括基本工资、年终奖、分红等多个部分,其中年终奖的比例一般在15%以上,具体数额因个人绩效而定。此外,华为还有一些股票和期权等长期激励方式,可以让员工分享公司的成长红利。

总的来说,华为的薪资待遇相对较好,但是具体的薪资水平还是要根据个人的职级和绩效而定。

四、华为OD晋升空间?

华为OD岗位的晋升空间取决于个人的能力和表现,以及公司的发展战略和需求。根据华为公司的招聘信息和应聘者的反馈,OD岗位的晋升通常有以下几个方向:

  1. 技术专家:可以继续深入学习和研究技术,成为该领域的专家,具备带领团队的能力。
  2. 管理岗位:可以从技术专家向管理方向发展,承担更多的管理工作,带领团队完成项目。
  3. 跨部门转岗:有些候选人可以通过在不同部门的工作经验,积累跨部门工作的经验,然后转到其他部门,进行业务拓展或管理。
  4. 内部培训和发展:公司会定期组织内部培训和发展计划,为员工提供提升自身能力的机会,支持员工在公司内部寻找更适合自己的发展道路。

总的来说,OD岗位的晋升空间相对较广,但是需要候选人不断提升自身能力,积极参与公司的内部培训和发展计划,才能在职业生涯中获得更好的发展机会。

五、举个例子,刷一道2023Q1 200分的题【快速开租建站】

1、题目描述

当前IT部门支撑了子公司颗粒化业务,该部门需要实现为子公司快速开租建站的能力,建站是指在一个全新的环境部署一套IT服务。

每个站点开站会由一系列部署任务项构成,每个任务项部署完成时间都是固定和相等的,设为1。部署任务项之间可能存在依赖,假如任务2依赖任务1,那么等任务1部署完,任务2才能部署。任务有多个依赖任务则需要等所有依赖任务都部署完该任务才能部署。

没有依赖的任务可以并行部署,优秀的员工们会做到完全并行无等待的部署。

给定一个站点部署任务项和它们之间的依赖关系,请给出一个站点的最短开站时间。

2、输入描述

第一行是任务数taskNum,第二行是任务的依赖关系数relationsNum接下来 relationsNum 行,每行包含两个id,描述一个依赖关系,格式为: Di Dj,表示部署任务部署完成了,部署任务j才能部署,IDi 和IDj 值的范围为: [0,taskNum)注:输入保证部署任务之间的依赖不会存在环。

3、输出描述

1个整数,表示一个站点的最短开站时间。

4、解题思路

  1. 创建map,用于存储任务之间的依赖关系,key为任务编号,value为依赖该任务的任务列表;
  2. 循环读取num数据,将依赖关系存储map;
  3. 创建一个长度为n的数组,存储每个任务的最小启动时间;
  4. 创建变量time,用于记录最短开站时间;
  5. 递归调用,计算任务的最小启动时间;
  6. 如果当前任务没有依赖,表示该任务可以立即启动,将其最小启动时间设置为1,并返回1,停止递归;
  7. 遍历当前任务依赖的任务列表,递归调用getMinTime函数来获取依赖任务的最小启动时间,取其中的最大值作为当前任务的最小启动时间minDependTime;
  8. 当前任务的最小启动时间为依赖任务的最小启动时间加1,将该值记录到timeArr数组中,并返回该值;
  9. 输出最短开站时间time;

5、Java算法源码

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = Integer.parseInt(sc.nextLine());
    int num = Integer.parseInt(sc.nextLine());

    // 1、创建map,用于存储任务之间的依赖关系,key为任务编号,value为依赖该任务的任务列表
    Map<Integer, List<Integer>> map = new HashMap<>();
    // 2、循环读取num数据,将依赖关系存储map
    for (int i = 0; i < num; i++) {
        String line = sc.nextLine();
        String[] arr = line.split(" ");
        int left = Integer.parseInt(arr[0]);
        int right = Integer.parseInt(arr[1]);
        List<Integer> list = map.getOrDefault(left, new ArrayList<>());
        list.add(right);
        map.put(left, list);
    }

    // 3、创建一个长度为n的数组,存储每个任务的最小启动时间
    int[] timeArr = new int[n];

    // 4、创建变量time,用于记录最短开站时间
    int time = 0;
    for (int i = 0; i < n; i++) {
        // 5、递归调用,计算任务的最小启动时间
        int needTime = getMinTime(i, map, timeArr);
        time = Math.max(time, needTime);
    }
    // 9、输出最短开站时间time
    System.out.println(time);
}

/**
 *
 * @param index 当前位置
 * @param map 输入的数据集合
 * @param timeArr 任务时间
 * @return
 */
public static int getMinTime(int index, Map<Integer, List<Integer>> map, int[] timeArr) {
    List<Integer> list = map.getOrDefault(index, new ArrayList<>());
    // 6、如果当前任务没有依赖,表示该任务可以立即启动,将其最小启动时间设置为1,并返回1,停止递归
    if (list.size() == 0) {
        //最小启动时间
        timeArr[index] = 1;
        return 1;
    }

    int minDependTime = Integer.MIN_VALUE;
    
    // 7、遍历当前任务依赖的任务列表,递归调用getMinTime函数来获取依赖任务的最小启动时间,
    // 取其中的最大值作为当前任务的最小启动时间minDependTime
    for (int taskNum : list) {
        // 通过递归取最小启动时间
        if (timeArr[taskNum] == 0) {
            timeArr[taskNum] = getMinTime(taskNum, map, timeArr);
        }
        minDependTime = Math.max(minDependTime, timeArr[taskNum]);
    }
    
    // 8、当前任务的最小启动时间为依赖任务的最小启动时间加1,将该值记录到timeArr数组中,并返回该值
    int needTime = minDependTime + 1;
    timeArr[index] = needTime;
    return needTime;
}

6、效果展示

1、输入

5
5
0 4
1 2
1 3
2 3
2 4

2、输出

3

3、说明

有5个部署任务项,5个依赖关系,如下图所示。我们可以先同时部署任务项0和任务项1,然后部署任务项2,最后同时部署任务项3和任务项4。最短开站时间为3。

在这里插入图片描述

六、华为OD去哪刷?

华为OD的真题确实不好找,网上的资源鱼龙混杂,难以分辨,而且一般都没有解题思路,有的代码都跑步起来,哎,一地鸡毛…

我正好也考过华为OD,我把之前刷过的题,分享给大家,大家做个参考。

1、华为OD机试真题 Java 实现【最多提取子串数目】【2023Q1 100分】

2、华为OD机试真题 Java 实现【不爱施肥的小布】【2023Q2 100分】

3、华为OD机试真题 Java 实现【猜字谜】【2023Q1 100分】】

4、华为OD机试真题 Java 实现【微服务的集成测试】【2023Q1 100分】

5、华为OD机试真题 Java 实现【字符串重新排序】【2023Q1 100分】

6、华为OD机试真题 Java 实现【知识图谱新词挖掘1】【2023Q1 100分】

7、华为OD机试真题 Java 实现【寻找关键钥匙】【2023Q1 100分】

8、华为OD机试真题 Java 实现【静态代码扫描服务】【2023Q1 100分】

9、华为OD机试真题 Java 实现【新员工座位安排系统】【2023Q1 100分】

10、华为OD机试真题 Java 实现【贪心的商人】【2023Q1 100分】

在这里插入图片描述

在这里插入图片描述

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/575187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Window MinGW 编译 OpenCV 人快疯了看这里!

目录 一、使用官方编译好的 二、使用MinGW编译器自行进行编译 三、编译好的OpenCV库 OpenCV3.4.5 OpenCV 4.5.4 一、使用官方编译好的 【Qt】opencv源码&官方编译好的opencv在windows下使用的区别_外来务工人员徐某的博客-CSDN博客 官方替我们编译好了&#xff0c;可以直…

一篇文章带你了解Netty

Netty 传统的IO模型的web容器&#xff0c;比如老版本的Tomcat&#xff0c;为了增加系统的吞吐量&#xff0c;需要不断增加系统核心线程数量&#xff0c;或者通过水平扩展服务器数量&#xff0c;来增加系统处理请求的能力。有了NIO之后&#xff0c;一个线程即可处理多个连接事件…

DNSPod十问崔久强:证书有效期缩短,CA机构要凉透?

本期嘉宾 崔久强 上海CA中心总经理 崔久强&#xff0c;上海市数字证书认证中心有限公司总经理、上海市静安区政协委员、第一届上海市智慧城市建设领军先锋、一带一路信息产业发展联盟数字签名专委会主任委员、中国电子认证产业联盟专委会委员、中国密码学会电子认证专委会理事…

【P35】JMeter 包含控制器(Include Controller)

文章目录 一、包含控制器&#xff08;Include Controller&#xff09;参数说明二、准备工作三、测试计划设计3.1、保存测试片段3.2、使用测试片段 一、包含控制器&#xff08;Include Controller&#xff09;参数说明 可以将测试计划的某一部分提取为公用逻辑&#xff0c;这样…

Goby 漏洞更新 |中保無限Modem Configuration Interface 默认口令漏洞

漏洞名称&#xff1a;中保無限Modem Configuration Interface 默认口令漏洞 English Name&#xff1a;Gemtek Modem Configuration Interface Default password vulnerability CVSS core: 5.0 影响资产数&#xff1a;4521 漏洞描述&#xff1a; Modem Configuration Inter…

chatgpt赋能python:Python操作网页的SEO

Python操作网页的SEO 在当今的数字时代&#xff0c;许多企业专注于提高其网站的排名。在这种竞争激烈的环境中&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;是必不可少的。虽然有许多方法可以提高网站的排名&#xff0c;但其中一个最重要的是使用Python来操作网页。 …

Git进阶·GitFlow·壹

文章目录 1 Git进阶——GitFlow工作流程1.1 master与develop分支1.1.1 master1.1.2 develop 1.2 feature分支1.3 Release分支1.4 hotfix分支1.5 GitFlow示例1.5.1 在master上新建dev分支1.5.2 基于dev创建feature分支1.5.3 feature分支上开发业务代码1.5.4 将feature合并到dev1…

Linux的进程信号(上)

文章目录 1. 信号入门2. 技术应用角度的信号3. 信号概念4. 信号处理常见方式5. 产生信号5.1 通过终端按键产生信号5.2 调用系统函数向进程发信号5.3 由软件条件产生信号5.4 硬件异常产生信号 6. Core Dump 1. 信号入门 在生活中&#xff0c;比如红绿灯&#xff0c;铃声这些&am…

chatgpt赋能python:Python指定行:如何快速定位和修改代码?

Python指定行&#xff1a;如何快速定位和修改代码&#xff1f; 在日常Python编程中&#xff0c;我们经常需要在众多行的代码中找到一个特定行&#xff0c;进行修改或者执行操作。如果依靠肉眼逐行检查&#xff0c;不仅费时费力&#xff0c;而且容易漏看或者出错。那么有没有一…

chatgpt赋能Python-python_或与非

介绍 随着互联网的不断发展&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为了数百万网站主必不可少的一项工作。而Python作为一门高效&#xff0c;灵活和易于阅读的编程语言&#xff0c;不仅可以加快SEO的工作进程&#xff0c;同时也可以提高工作效率。本文将重…

Linux读写锁逻辑解析

一、Linux为何会引入读写锁&#xff1f; 除了mutex&#xff0c;在linux内核中&#xff0c;还有一个经常用到的睡眠锁就是rw semaphore&#xff08;后文简称为rwsem&#xff09;&#xff0c;它到底和mutex有什么不同呢&#xff1f;为何会有rw semaphore&#xff1f;无他&#xf…

在Flask中构建API接口

重定向行为 斜杠 以下两个路由的不同之处在于是否使用尾部的斜杠。 第一个路由的URL尾部有一个斜杠&#xff0c;看起来就像一个文件夹&#xff0c;访问一个没有斜杠结尾的URL时&#xff0c;Flask会自动进行重定向&#xff0c;在结尾加上一个斜杠。 第二个路由的URL没有尾部…

CVPR 2023 | 风格迁移论文3篇简读,视觉AIGC系列

CAP-VSTNet: Content Affinity Preserved Versatile Style Transfer 内容相似度损失&#xff08;包括特征和像素相似度&#xff09;是逼真和视频风格迁移中出现伪影的主要问题。本文提出了一个名为CAP-VSTNet的新框架&#xff0c;包括一个新的可逆残差网络&#xff08;reversib…

微信小程序一键登录功能,使用uni-app和springboot(JWT鉴权)

目录 概述 微信登录接口说明 关于获取微信用户的信息 前端代码&#xff08;uni-app&#xff09; 后端代码&#xff08;SpringBoot&#xff09; 配置文件&#xff1a;application.yml 配置文件&#xff1a;Pom.xml 类&#xff1a;WeChatModel 类&#xff1a;WeChatSe…

《面试1v1》JVM内存模型

聊聊 JVM 内存模型 我是 javapub&#xff0c;一名 Markdown 程序员从&#x1f468;‍&#x1f4bb;&#xff0c;八股文种子选手。 面试官&#xff1a; 你好&#xff0c;请问你对JVM内存模型有了解吗&#xff1f; 候选人&#xff1a; 当然&#xff0c;JVM内存模型是Java程序运…

【计算机视觉 | 目标检测】术语理解5:Split Shuffle Block、Group Shuffle Block 和复杂非结构化室内场景

文章目录 一、Split Shuffle Block二、Group Shuffle Block三、复杂非结构化室内场景 一、Split Shuffle Block Split Shuffle Block&#xff08;分割混洗块&#xff09;是一种用于深度学习模型的基础组件&#xff0c;旨在增强模型的表征能力和学习能力。该概念最常用于图像分…

3D图像双线性插值

文章目录 前言结论说明&#xff1a;公式 测试 前言 看了一下2d图像的双线性插值的理论&#xff0c;基本上都是在原图上找到对应的浮点坐标 p f p_f pf​后&#xff0c;将以 p f p_f pf​外围的4个点进行计算。计算的方法类似于二维直线方程的理论&#xff0c;但是写成了权重的…

《低代码指南》——维格云低代码管理系统解决方案,成倍降低开发成本

目录 典型场景介绍 一、采购管理 二、产品BOM管理 三、成本核算管理 “我之前是打算自己去开发ERP系统,大概要用上八九个月时间,而且还不是很稳定。但现在用维格云,我们一个人做个一两个月,就可以做到很稳定了。因此,即使需要付出一些学习成本,但无代码的确能极大的帮…

自动驾驶系统中摄像头相对地面的在线标定

文章&#xff1a;Online Camera-to-ground Calibration for Autonomous Driving 作者&#xff1a;Binbin Li, Xinyu Du, Yao Hu, Hao Yu, and Wende Zhang 编辑&#xff1a;点云PCL 欢迎各位加入知识星球&#xff0c;获取PDF论文&#xff0c;欢迎转发朋友圈。文章仅做学术分享&…

记录--前端小票打印、网页打印

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 一、小票打印 目前市面上的小票打印机大多采用的打印指令集为ESC/POS指令&#xff0c;它可以使用ASCII码、十进制、十六进制来控制打印&#xff0c;我们可以使用它来控制字体大小、打印排版、字体加粗…