2024华为OD机考面试经验分享

2024-03-13 22:20

本文主要是介绍2024华为OD机考面试经验分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是华为OD?

华为OD因为还是外包性质,相对正编来说要轻松一些。(前提是你不想去卷A绩效),一般情况可以八九点就溜下班。然后工作环境的话,和正编一样。

很多小伙伴其实都是从大城市想回老家,所以才选的华为OD吧,东莞/西安/成都 这几个地方超级卷。

面试流程

机考

(三道编程题150分钟/两道简单题(每道100分)+一道中等难度题(200分))
考试在牛客网答题,按照HR发你的考试攻略,在牛客网刷刷输入输出类的题目。

北京地区要求300分过线,其他地区200多分就可以去干外包项目了。

性格测试

机考过了HR第二天就会联系你,给你发性格测试攻略。

牛客网做题攻略

参加考试前,需要充分了解牛客网答题的方式,如何测试,提交代码等等,否则你直接去考试会很懵逼。

下面提供一些示例:

题库连接

牛客题库

牛客网输入输出问题

  • 题目提到的输出需要使用console.log(),多行输出只要循环console.log()即可。
  • 特定行数的输入,需要自己用变量记录,然后使用变量编程实现
  • 程序readline读到的行内容是字符串,需要自己转换为number
  • 可以使用自测输入,来调试并且查看用例通过数量

输入为一行

输入:为一行,只包含小写字母的字符串
输出:该字符串反转后的字符串

const readline = require('readline');const rl = readline.createInterface({input: process.stdin,output: process.stdout
});
rl.on('line', function (line) {// 使用 console.log() 代替 returnconsole.log(line.split('').reverse().join(''))
});

有确定行数的输入

描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

数据范围:
1 ≤ n ≤ 1000

输入描述:
第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。

输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)

const readline = require('readline');const rl = readline.createInterface({input: process.stdin,output: process.stdout
});
const arr = []
rl.on('line', function (line) {arr.push(line)if (arr.length === 2) {const obj = {}arr[0].toLowerCase().split('').forEach(item => {if (obj[item]) {obj[item] += 1} else {obj[item] = 1}})console.log(obj[arr[1].toLowerCase()] || 0)}
});

输出为间接确定行数

输入:
3
2
2
1

输出:
1
2

说明:
输入解释:
第一个数字是3,也即这个小样例的N=3,说明用计算机生成了3个1到500之间的随机整数,接下来每行一个随机数字,共3行,也即这3个随机数字为:
2
2
1
所以样例的输出为:
1
2

const readline = require("readline");const rl = readline.createInterface({input: process.stdin,output: process.stdout,
});let lineNum = 0;
let count = null;
const result = [];
rl.on("line", function (line) {if (lineNum === 0) {lineNum++;count = parseInt(line);} else {result.push(line);if (result.length === count) {function unique(arr) {let result = [];for (let i = 0; i < arr.length; i++) {if (result.indexOf(arr[i]) === -1) {result.push(arr[i]);}}return result;}const uniq = unique(result).sort((a,b) => a-b);uniq.forEach(item => console.log(item))}}
});

规定好方法名和变量名的

JZ69 跳台阶

选择JavaScrip Node环境

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param number int整型 * @return int整型*/
function jumpFloor( number ) {// write code hereif (number <= 2) return numberreturn jumpFloor(number-1) + jumpFloor(number-2)
}
module.exports = {jumpFloor : jumpFloor
};

二叉树前序遍历

https://www.nowcoder.com/practice/5e2135f4d2b14eb8a5b06fab4c938635?tpId=295&tqId=2291302&ru=/exam/company&qru=/ta/format-top101/question-ranking&sourceUrl=%2Fexam%2Fcompany

输入:{1,#,2,3}
返回值:[1,2,3]

输入会为你构建成树。

/** function TreeNode(x) {*   this.val = x;*   this.left = null;*   this.right = null;* }*/
/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param root TreeNode类 * @return int整型一维数组*/
function preorderTraversal( root ) {// write code herelet result = []function traverse(node) {if (!node) returnresult.push(node.val)traverse(node.left)traverse(node.right)}traverse(root)return result
}
module.exports = {preorderTraversal : preorderTraversal
};

这篇关于2024华为OD机考面试经验分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/806372

相关文章

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

Python中处理NaN值的技巧分享

《Python中处理NaN值的技巧分享》在数据科学和数据分析领域,NaN(NotaNumber)是一个常见的概念,它表示一个缺失或未定义的数值,在Python中,尤其是在使用pandas库处理数据时,... 目录NaN 值的来源和影响使用 pandas 的 isna()和 isnull()函数直接比较 Na

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分