华为公司软件类上机考试说明(南京)
- 格式:doc
- 大小:89.50 KB
- 文档页数:2
记⼀次华为机试介绍华为机试分为 3 题,两题 100 分,⼀题 200 分,压线 150 分算你过,时间150分钟,⽀持多语⾔环境(⽜客⽹),考试时需全程打开摄像头,电脑屏幕分享,⼿机打开某⼩程序(可⽤计算器)不退出,可⽤本地 IDE, 会有⼀些测试题给你熟悉环境预热的。
备注: 由于脑容量有限,题⽬具体的描述笔者已经记不清了,但是⼀些考点还是记忆犹新,遂记录分享下。
做机考这⼏点很重要, 第⼀点是你要看明⽩它的输⼊输出是什么? 第⼆点是要快,⽐如说你明知道有现成的意⼤利炮可以轰它,咱就不要⾃⼰造个⼟炮了,挺浪费时间的,毕竟机考的本质其实是刷⼈, 第三点就是⼼态⼀定要好,你会做的你要尽量 100%把它做出来,遇到不会的智商题,那也就听天由命了。
消消乐(字符串)描述给定⼀个只包含⼤⼩写字母的字符串(⼤⼩写敏感),若相邻两个元素相等则消除,直到最后字符串消除不了了,输出消消乐后字符串的长度,若遇到⾮⼤⼩写字母以外的字符,则输出0。
⽰例输⼊: mMbccbc输出: 3解释:cc消掉,然后bb消掉,最后剩余mMc,输出长度3题解这⾥我是把⼀些特殊情况单独拎出来处理,然后创建了⼀个字符串res去存最后得到的字符串,然后输出其长度。
const readline = require('readline');const rl = readline.createInterface({input: process.stdin,output: process.stdout,});rl.on('line', function (line) {console.log(solution(line.trim()));});function solution(str) {if (/[^a-zA-Z]/.test(str)) {return 0;}if (str.length === 1) {return 1;}if (str.length === 2) {if (str[0] === str[1]) {return 0;} else {return 2;}}let res = '';let cur = 0;for (let i = 0; i < str.length - 1; i++) {if (str[i] === str[i + 1]) {i++;} else {if (res.length > 0 && res[res.length - 1] === str[i]) {res = res.slice(0, res.length - 1);} else {res += str[i];}}cur = i;}cur = cur + 1;if (str[cur]) {if (res[res.length - 1] === str[cur]) {res = res.slice(0, res.length - 1);} else {res += str[cur];}}return res.length;}矩阵最⼤值(⼆维矩阵)描述给定⼀个n*n的只包含0和1的⼆维矩阵,请你计算出该矩阵的最⼤值。
华为机试题目总结(程序篇)自己写的,水平很挫,仅供参考目录1.语言识别问题2.销售网络问题(未完成)3.股票投资问题4.判断手机号码合法性5.元音字母复制6.验证身份证号7.选秀节目打分8.数组最大值放中间,其他依次放其左右(规律未找着,未完成)9.任务调度(解题关键,需要一个容器来承载下标跟值的一一对应关系,最好就是定义一个结构体)10.将某字符变成小写后的某个字符11.链表的逆序12.单词统计13.字符串进行转换,转换成相应的数字已知:yi er san si wu liu qi ba jiu 分别对应,对一段只含有这几种字符的字符串进行转换,转换成相应的数字14.一个数组中比平均数大的个数15.求一个数组中第一大和第二大数16.字符变成整数17.整数变字符18.判断素数问题19(1).约瑟夫环(循环列表)19(2).约瑟夫环(数学方法只能求出最后的胜利者的序号)19(3).约瑟夫环(容器实现)20.判断某个整数是回文。
即这样的,反过来还是21.判断一个字符串是不是回文22.求一个字符串中的最大回文子串,就是从n个字符开始检查是不是回文,知道m个字符符合回文,那么这个就是最大回文23.找出^n的数24.统计一个数二进制表达中的个数25.镜像反转二进制表达式,并输出十进制值26.连续字符统计27.判断一个字符串中()是否配对28.查找子字符串个数29(1).找出一个字符串中是否包含相同(包括连续的)的子字符串(要求子串长度大于等于)并输出出现频率最高的子字符串29(2)找出一个字符串中是否包含连续相同的子字符串,并输出出现频率最高的子字符串30.删除字符窜中字符数最少的字符31.关于数组的循环移位,左移为负,右移为正32.求一个二维数组每列的最小值33.两个字符串,求最长公共子串34.超大整数加法运算,大整数会用字符串或者数组来存,不过注意低位存字符前面几位,高位存后面,存到字符中应该存“”。
华为校园招聘上机笔试题华为校园招聘上机笔试题上机时间两小时,3道题1 字串转换问题描述:将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。
例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。
要求实现函数:void convert(char *input,char* output)【输入】 char *input , 输入的字符串【输出】 char *output ,输出的`字符串【返回】无示例输入:char*input="abcd"输出:char*output="bcde"输入:char*input="abbbcd"输出:char*output="bcdcde"void convert(char *input,char *output){char c='\0';int tag=0;int len=strlen(input);for(int i=0;i{if(input[i]!=c)//当前字符与前一个字符不相等,则该字符+1{output[i]=(input[i]-'a'+1)%26+'a';c=input[i];tag=1;}else{if(tag==1)//当前字符与前一个字符相等,且前面只有一个字符相同{output[i]=(input[i]-'a'+2)%26+'a';c='\0';tag=0;}else//当前字符与前一个字符相等,且前面已有2n个字符相同。
则按第一次出现算{output[i]=(input[i]-'a'+1)%26+'a';c=output[i];tag=1;}}}}void convert(char *input,char *output){char c='\0';int tag=0;int len=strlen(input);for(int i=0;i{if(input[i]!=c)//当前字符与前一个字符不相等,则该字符+1{output[i]=(input[i]-'a'+1)%26+'a';c=input[i];tag=1;}else{if(tag==1)//当前字符与前一个字符相等,且前面只有一个字符相同{output[i]=(input[i]-'a'+2)%26+'a';c='\0';tag=0;}else//当前字符与前一个字符相等,且前面已有2n个字符相同。
2011年华为软件校园招聘编程测验1、请上机编写程序,按题目要求提交文件。
[详见考试说明,点击进入考试说明]3、评卷通过在给定用例输入下,严格按照试题要求比较考生实现函数的输出与预设输出。
两者相同则得分,不同则不得分。
4、评卷人保证测试用例输入参数的合法性,考生不用考虑输入参数非法或异常的情况5、评卷人保证测试用例输入在被测函数正常合法情况下使用不会导致程序错误6、如果考生函数异常导致程序崩溃或死循环,则自动评卷可能会被人为终止,剩余用例不被执行,无法得分7、基于上述阅卷规则,请考生严格按照题目要求功能实现程序,尽量保证实现函数的稳健性,同时建议完成一道题并调试保证正确性后,再考虑并实现下一题目(17)1,判断电话号码是否合法://要注意情况包含,有可能会同时出现几种不好的情况,要按照顺序输出错误。
不能同时输出好几种错误,应该是这样包含:先判断长度是否符合,再判断是否以86打头,再判断有无其他字符int fun(char num[]){ char *p=num;int n=strlen(num);if(n==13){if(*p=='8'&&*(p+1)=='6')while(*p!='\0'){if(*p>='0'&&*p<='9')p++;elsereturn 2;if(*p=='\0')return 0;}else return 3;}elsereturn 1;}int main(){char num[]="87139a3887671";int k=fun(num);cout<<k<<endl;return 0;}(18) 数组比较(20分)•问题描述:比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。
hcia-openeuler上机考试题目标题:HCIA-OpenEuler上机考试题目引言概述:HCIA-OpenEuler上机考试是华为认证的一项重要考试,旨在评估考生在OpenEuler操作系统方面的知识和技能。
本文将介绍HCIA-OpenEuler上机考试的题目内容,包括五个大点的详细阐述,并在总结部分对考试内容进行综合概括。
正文内容:1. OpenEuler的基本概念和架构1.1 OpenEuler的定义和背景1.2 OpenEuler的架构和组件1.3 OpenEuler的特点和优势1.4 OpenEuler与其他操作系统的比较2. OpenEuler的安装与配置2.1 OpenEuler的安装要求和准备工作2.2 OpenEuler的安装步骤和方法2.3 OpenEuler的基本配置和网络设置2.4 OpenEuler的软件包管理和更新3. OpenEuler的系统管理和维护3.1 OpenEuler的用户管理和权限控制3.2 OpenEuler的进程管理和服务配置3.3 OpenEuler的文件系统管理和磁盘管理3.4 OpenEuler的日志管理和故障排除4. OpenEuler的网络管理和安全防护4.1 OpenEuler的网络配置和网络服务4.2 OpenEuler的防火墙和安全策略4.3 OpenEuler的远程管理和访问控制4.4 OpenEuler的安全漏洞扫描和修复5. OpenEuler的虚拟化和容器技术5.1 OpenEuler的虚拟化概念和原理5.2 OpenEuler的虚拟机管理和配置5.3 OpenEuler的容器技术和应用场景5.4 OpenEuler的容器编排和管理工具总结:综上所述,HCIA-OpenEuler上机考试的题目内容涵盖了OpenEuler的基本概念和架构、安装与配置、系统管理和维护、网络管理和安全防护,以及虚拟化和容器技术等方面。
考生需要熟悉OpenEuler的各项功能和特点,并能够灵活运用于实际场景中。
第1篇一、基础知识1. 请简述软件测试的定义和目的。
2. 请列举常见的软件测试类型。
3. 请解释黑盒测试和白盒测试的区别。
4. 请说明等价类划分法和边界值分析法的区别。
5. 请简述软件测试的流程。
6. 请解释缺陷的生命周期。
7. 请说明软件测试的自动化与手工测试的区别。
8. 请简述软件测试的回归测试。
9. 请解释什么是缺陷密度。
10. 请说明软件测试中的测试覆盖率。
二、华为云平台相关1. 请简述华为云平台的基本架构。
2. 请解释华为云平台的核心产品,如弹性云服务器(ECS)、对象存储(OSS)等。
3. 请简述华为云平台的安全特性。
4. 请说明华为云平台的高可用性设计。
5. 请解释华为云平台的弹性伸缩机制。
6. 请列举华为云平台的优势。
7. 请简述华为云平台在国内外市场的地位。
8. 请说明华为云平台的合作伙伴策略。
三、测试用例设计1. 请设计一个针对华为云弹性云服务器(ECS)的测试用例,包括功能测试、性能测试和安全性测试。
2. 请设计一个针对华为云对象存储(OSS)的测试用例,包括功能测试、性能测试和安全性测试。
3. 请设计一个针对华为云数据库服务的测试用例,包括功能测试、性能测试和安全性测试。
4. 请设计一个针对华为云负载均衡服务的测试用例,包括功能测试、性能测试和安全性测试。
5. 请设计一个针对华为云监控服务的测试用例,包括功能测试、性能测试和安全性测试。
四、测试方法与工具1. 请简述性能测试的基本概念和测试方法。
2. 请说明压力测试和负载测试的区别。
3. 请列举几种常用的性能测试工具。
4. 请简述自动化测试的优势和劣势。
5. 请说明性能测试中如何评估系统瓶颈。
6. 请简述安全性测试的基本概念和测试方法。
7. 请列举几种常用的安全性测试工具。
8. 请说明如何进行静态代码分析。
五、面试实战1. 请自我介绍,并简要说明你的软件测试经验。
2. 请简述你在过去项目中遇到的最大的挑战,以及你是如何解决的。
今天参加了HW的上级考试,上机考试总共有三道题目,我觉得都是对基本功的考察,所以说基本知识的掌握非常重要,特别是动手写程序的能力,我回来的时候对我的同学说,如果在本科阶段没有自己动手写过上万行的C/C++程序,要想把今天的上机考试题全部做对几乎是不可能的,这只是我个人的感觉,在平时的学习过程中,一定要自己动手去写程序,不要随便拷贝一些程序,否则后悔就来不及了。
第一题是素数的判断,给定一个数字判断是不是素数,这个就非常简单了,假设给定数字是n,从2到n-1去判断有没有数可以被n整除,如果有的话就说明该数不是素数,如果没有就说明该数是素数。
第二题是给定一个整数,把该整数对应的二进制01串转置后输出转置后01串对应的整数,如2的二进制表示为00000010,转置后为01000000,对应的值为64,这里主要考察的是移位操作和或运算,假设给定的数字是n,先把判断n和2取模的结果是否为0,为0说明当前最后一位是0,不为0说明当前最后一位是1,然后根据取模的结果去设置结果对应的二进制数的相关位,每一次循环之后都要把整数n右移一位,这样循环结束之后就可以把结果的相关二进制位设置好。
在设置结果二进制位时使用或操作和移位操作。
对与这些操作我们确实在平时的程序中用到的次数不多,但是如果没有用过的话很难想到使用位操作来解决问题,在编程之美119页有一道题和这道题目很像,但它是计算二进制表示中1的数目。
第三题是高精度乘法,两个整数用字符数组表示,最大位数是100位,然后计算二者乘积的结果,这是这次考试中最难的一道题目。
我们在这里也是使用数组来存储大数和大数的乘积,如果对乘法运算的过程理解的比较深刻,并且之前涉及过高精度运算的程序,这道题做起来还是很容易的,具体程序在我的日志里面有,我也在此再提醒一下自己结果为0的边界条件一定要处理,否则有些测试用例是无法通过的。
HW的这三道上机考试题不是很难,关键是对基本功的考察,最后一道题如果之前没有写过和它相关的任何程序的话,在规定的时间内要做出来还是比较难的,在我们的教材中基本上没有涉及过高精度运算的程序,不过在大二的程序设计与算法研讨课上一位学长讲过高精度加法的程序,如果课后自己动手写过那个程序,我想你一定会想到高精度乘法、高精度除法、高精度减法以及高精度阶乘该怎么做,或许想不到解决方法,但是随便上网一搜类似的程序很多,拿来研究一下,这些高精度计算的问题做起来举比较容易了。
harmonyos应用开发者基础认证上机考试题HarmonyOS 应用开发者基础认证上机考试题1. 简介HarmonyOS 应用开发者基础认证是针对开发者的一项认证考试,旨在验证开发者在 HarmonyOS 应用开发方面的基础知识和技能。
本文将根据任务名称,回答关于 HarmonyOS 应用开发者基础认证上机考试题的问题。
2. 任务一:HarmonyOS 应用开发环境搭建在完成 HarmonyOS 应用开发前,首先需要搭建开发环境。
以下是搭建开发环境的步骤:1. 下载并安装 HarmonyOS SDK2. 配置开发环境变量3. 下载并安装开发者工具(IDE)4. 创建项目3. 任务二:HarmonyOS 应用开发基础在进行 HarmonyOS 应用开发时,需要掌握以下基础知识:1. HarmonyOS 应用的结构和组件2. 使用 XML 布局文件进行界面设计3. 使用 Java 或 Kotlin 编写应用逻辑4. 使用 HarmonyOS 提供的 API 和框架开发应用5. 理解事件处理和界面刷新机制4. 任务三:HarmonyOS 应用调试与测试开发完成后,需要进行应用的调试和测试,以确保应用的质量和稳定性。
以下是一些常用的调试和测试技巧:1. 使用 IDE 提供的调试工具进行代码调试2. 使用模拟器或真机进行应用的测试3. 使用 Logcat 查看应用的日志信息4. 进行黑盒和白盒测试,覆盖不同的测试场景5. 任务四:HarmonyOS 应用发布与分发当应用开发和测试完成后,需要进行应用的发布与分发。
以下是应用发布与分发的步骤:1. 生成应用的安装包(APK)2. 在应用商店注册开发者账号3. 提交应用的相关信息和截图4. 等待应用商店的审核5. 应用通过审核后,将应用发布到应用商店进行分发6. 结论HarmonyOS 应用开发者基础认证上机考试题的回答内容涵盖了搭建开发环境、应用开发基础、应用调试与测试以及应用发布与分发等方面的知识和技巧。
软件开发岗招聘上机实操考试内容编程语言基础示例题目:在Java中,哪个关键字用于定义类的成员变量和方法?A. classB. interfaceC. publicD. static数据结构与算法示例题目:以下哪种排序算法的时间复杂度在平均情况下是O(n log n)?A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序面向对象编程示例题目:在面向对象编程中,封装的主要目的是什么?A. 隐藏对象的属性和行为,仅对外提供接口B. 提高代码的可读性C. 允许对象之间进行通信D. 简化编程过程异常处理示例题目:在Java中,用于声明方法可能抛出的异常的关键字是什么?A. throwsB. throwC. catchD. finally数据库知识示例题目:在SQL中,用于选择表中所有记录的语句是?A. INSERT INTOB. SELECT * FROMC. UPDATED. DELETE FROM计算机网络示例题目:HTTP协议工作在哪一层?A. 物理层B. 数据链路层C. 网络层D. 应用层操作系统示例题目:在操作系统中,进程和线程的主要区别是什么?A. 进程是资源分配的基本单位,线程是CPU调度的基本单位B. 线程是资源分配的基本单位,进程是CPU调度的基本单位C. 进程和线程在资源分配和CPU调度上没有区别D. 进程是用户级的概念,线程是系统级的概念设计模式示例题目:在软件工程中,单例模式的主要目的是什么?A. 确保一个类只有一个实例,并提供一个全局访问点B. 实现对象之间的松耦合C. 允许对象在不改变其内部状态的情况下改变其行为D. 通过组合多个对象来获得新的功能。
华为地区校园招聘软件类上机考试说明
同学您好!
欢迎您应聘华为公司。
软件类研发岗位(软件开发、云计算、操作系统开发、数据库开发)需要提前进行上机考试。
现将上机考试做如下说明。
一、题目类别
本次上机考试题目设置C/C++、Java两个类别,根据个人情况选作一个类别。
二、题目数量
每个考生有三道题,第一二道题必答,第三道题为附加题可以选作,附加题做出,成绩会计入总分。
三、考试时间安排
1、从10月中旬安排分批上机考试
2、每个考生上机考试时间为2小时
四、上机考试步骤
1、打开IE输入服务器的IP地址或者直接打开收藏夹中已经收藏好的地址;
2、输入姓名和手机号,选择考试语言,提交登录:
3、登录后会进入试题说明页面,考试阅读完试题要求后,在页面下方点击
下载试题框架并解压到D盘。
如果是C/C++则用VC打开工程进行编程,只在func.cpp文件中进行函数编写,函数名已经定义好;如果是Java
则用Eclips打开Java工程进行编程,只在SWTest.java文件中进行函数编写,函数名
已经定义好。
注意,考生不要进行任何IO输入输出的处理(题目说明中已经有写了),
否则会得0分。
4、编完代码并编译和调试通过后,点击试题页面下方的按钮,
在弹出的窗口中,如果是C/C++则将test.exe和func.cpp拷贝到一个新建的名为test
的目录中然后打包该目录上传,如果是Java则将工程仍然打包为SWTest.rar一次性
上传(这个过程非常重要,否则会因无法自动判卷而得0分)。
上传之后页面会显
示“提交成功”,然后关闭所有IE窗口并清空客户机中您所创建的所有内容后结束
考试离开考场。
五、如何阅卷
1、考生提交试卷后,我们在服务器后台执行系统阅卷程序,进行自动判卷,不进行人
工阅卷。
2、系统设置了多个测试用例,根据用例执行的情况判断考生所上机考试的分数。
六、样题
编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素的个数并返回。
预祝您上机考试顺利!
华为校园招聘组
2011年10月。