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

news/2024/7/20 19:11:09 标签: 华为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() 代替 return
    console.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 here
    if (number <= 2) return number
    return 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 here
    let result = []
    function traverse(node) {
        if (!node) return
        result.push(node.val)
        traverse(node.left)
        traverse(node.right)
    }
    traverse(root)
    return result
}
module.exports = {
    preorderTraversal : preorderTraversal
};

http://www.niftyadmin.cn/n/5425687.html

相关文章

【C++】类模板、模板类、函数模板、模板函数、重载、重写、赋值、转换

类模板&#xff0c;类是形容词&#xff0c;重点是模板。 函数模板&#xff0c;函数是形容词&#xff0c;重点是模板。 类模板和函数模板重点是模板。 模板类&#xff0c;模板是形容词&#xff0c;重点是类。 模板函数&#xff0c;模板是形容词&#xff0c;重点是函数。 所以&am…

浅谈Redis 的 保护模式(protected-mode)

今天在一台服务器上面部署了redis,发现始终无法用工具远程连接,项目里面是正常的,就是工具不行,防火墙也关闭了.折腾了一会才突然想起来,是不是触发了保护模式. 什么时候触发保护模式protected-mode: 同时满足以下两个: 1.bind未指定ip 2.未配置密码 解决方案: 编辑redis…

智能化工厂大屏监控

通过采集和整合工厂各个环节的数据&#xff0c;包括设备状态、生产进度、质量指标、能源消耗等&#xff0c;并将这些数据以图表、动画、报表等形式展示在大屏上。 智能化工厂大屏监控可以提供以下优势&#xff1a; 实时监控&#xff1a;通过大屏幕展示工厂各项数据&#xff0c…

面试官:Spring Boot 实现全局异常处理应该怎么实现

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring Boot 实现全局异常处理应该怎么实现 在 Spring Boot 中实现全局异常处理可以帮助我们统一处理应用程序中的异常,提高代码的可维护性和可读…

Ubuntu20.04 编译Android12,环境搭建记录。

在Ubuntu20.04系统上编译m某k Android12环境搭建&#xff1a; 1&#xff0c;安装依赖库。 sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g-…

新建项目module,但想归到一个目录下面

1. 想建几个module, 例如 component-base-service,component-config-service, 但是module多了会在CloudAction下面显示很多目录, 所以想把它们归到components模块下面去, 类似于下图的效果 2. 创建过程 右击CloudAction 新建 module -> 选maven类型 输入components, 建成后删…

MySQL教程-SQL

SQL(Structured Query Language)结构化查询语言&#xff0c;操作关系型数据库的编程语言&#xff0c;定义了一套操作关系型数据库统一标准。 语法 SQL语句可以单行或多行书写&#xff0c;以;为结束标记SQL可以使用空格或缩进来增强语句的可读性SQL分单行注释(-- 注释内容 或 …

Ubuntu下双网卡下共享网络教程

案例背景 宿舍只提供了一个WIFI,不许使用有线, 但是有两台电脑,一台B只有一个有线网卡,另一台A电脑 wlP2p33s0网卡 连接互联网,enP4p65s0 网卡连接局域网, 通过网上教程和ChatGPT,结合就出现了如下命令 sudo sysctl -w net.ipv4.ip_forward1 sudo iptables -t nat -A POSTRO…