不用做界面的话就是控制台输入输出咯,控制台输入当然要用到scanner
10多年专注成都网站制作,成都定制网站,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于成都定制网站,高端网页制作,对石雕等多个行业,拥有多年设计经验。
Scanner s = new Scanner(System.in);
System.out.println("请输入字符串长度:");
int len1 = s.nextInt();
System.out.println("请输入字符串:");
String str1 = s.nextLine();
System.out.println("请输入字符串长度:");
int len2 = s.nextInt();
System.out.println("请输入字符串:");
大括号上下对齐比较好,这是华为的标准,推荐使用,这样看上去很整洁规范,推荐用eclipse写,可以导入编码规范
{
代码
}
华为南京地区校园招聘软件类上机考试说明同学您好!欢迎您应聘华为公司。软件研发类岗位(软件研发、云计算、操作系统开发、数据库开发)需要提前进行上机考试。现将上机考试做如下说明。一、 题目类别本次上机考试题目设置C/C++、Java两个类别,根据个人情况选作一个类别。二、 题目数量每个考生有三道题,第一二道题必答,第三道题为附加题可以选作,附加题做出,成绩会计入总分。三、 考试时间安排1、简历筛选后,从9月17日开始分批安排上机考试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年9月 华为南京校园招聘组
华为技术有限公司Huawei Technologies Co., Ltd.
Email: zhaopinnj@huawei.com
地址:南京雨花台软件大道101号华为南京基地 邮编:210012
Huawei Technologies Co., Ltd.
华为研发面试流程及机考题常出题型—亲历总结
东方瑞通
今天我想结合自己华为面试的经历,讲下华为面试的流程。因为是个例,不一定百分百准确,不过也结合了几位在华为参加过面试的同学同事以及现任的华为研发工程师的反馈,总结如下,需要自取。
1. 性格测试
性格测试成绩和身份证号绑定,如果通过的话,有效期一年(也可能是一年以上,反正有效期很长);不通过的话会有第二次机会,但如果第二次也没通过就比较麻烦,除非业务很强,否则HR大概率会把你拒绝,不过性格测试不通过也有一个有效期。
2. 机考
机考的话情况比较多变,比较正常的情况是面试官或者HR直接发测试平台的网页链接,在自己电脑上进入测试平台做编程题。
另外一种情况是接受了两个不同部门的面试,在第一个部门面试的过程中做了测试平台上的编程题,换到第二个部门面试时,有的时候会要求重新做一遍。但第二个部门的编程题未必是在测试平台上做,比较宽松。
另外如果是对数学有要求的岗位,会有面试官出数学公式推导题。
3. 技术面
可能会有1~2轮。技术面和一般互联网公司的技术面试没什么太大区别,华为很少让现场做编程题(个人体验)。
4. 主管面
主管面和技术面的区别是主管面侧重于问项目经历,对具体技术可能问的不多。另外主管面有的时候主管会问一些HR面的东西。
5. HR面
华为的HR面试淘汰的可能性不大,大致是询问一些家庭生活、有无本地长期工作打算之类的问题。
机考阶段有五种常出题型。一般华为的机考是考两道大题,也就是两道程序题,400分满分,120分通过。我个人理解,华为这个考试基本上是leetcode简单水平。
第一种类型:字符串处理问题,是华为开发笔试中常考类型,属于中、低难度,主要考核面试者的缜密度和细心程度,还有基本的代码能力
题目:简单错误记录
描述:
开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。
处理:
1、 记录最多8条错误记录,循环记录(或者说最后只输出最后出现的八条错误记录),对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加;
2、 超过16个字符的文件名称,只记录文件的最后有效16个字符;
3、 输入的文件可能带路径,记录文件名称不能带路径。
输入描述:
一行或多行字符串。每行包括带路径文件名称,行号,以空格隔开。
输出描述:
将所有的记录统计并将结果输出,格式:文件名 代码行数 数目,一个空格隔开,如:
示例1
输入
E:\V1R2\product\fpgadrive.c 1325
输出
fpgadrive.c 1325 1
第二种类型:全面型考题,涉及数学运算,字符转换,进制转换,逻辑判断及相关网络知识
题目: 识别有效的IP地址和掩码并进行分类统计
描述:
请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。
所有的IP地址划分为 A,B,C,D,E五类
A类地址1.0.0.0~126.255.255.255;
B类地址128.0.0.0~191.255.255.255;
C类地址192.0.0.0~223.255.255.255;
D类地址224.0.0.0~239.255.255.255;
E类地址240.0.0.0~255.255.255.255
私网IP范围是:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
子网掩码为二进制下前面是连续的1,然后全是0。(例如:255.255.255.32就是一个非法的掩码)
注意二进制下全是1或者全是0均为非法
注意:
1. 类似于【0.*.*.*】的IP地址不属于上述输入的任意一类,也不属于不合法ip地址,计数时可以忽略
2. 私有IP地址和A,B,C,D,E类地址是不冲突的
输入描述:
多行字符串。每行一个IP地址和掩码,用~隔开。
输出描述:
统计A、B、C、D、E、错误IP地址或错误掩码、私有IP的个数,之间以空格隔开。
示例1 :
输入
10.70.44.68~255.254.255.0
1.0.0.1~255.0.0.0
192.168.0.2~255.255.255.0
19..0.~255.255.255.0
输出
1 0 1 0 0 2 1
第三种类型:涉及数据结构,链表、数组处理
题目:从单向链表中删除指定值的节点
描述:
输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。
链表结点定义如下:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
详细描述:
本题为考察链表的插入和删除知识。
链表的值不能重复
构造过程,例如
1 - 2
3 - 2
5 - 1
4 - 5
7 - 2
最后的链表的顺序为 2 7 3 1 5 4
删除 结点 2
则结果为 7 3 1 5 4
输入描述:
1 输入链表结点个数
2 输入头结点的值
3 按照格式插入各个结点
4 输入要删除的结点的值
输出描述:
输出删除结点后的序列,每个数后都要加空格
示例1
输入
5
2
3 2
4 3
5 2
1 4
3
输出
2 5 4 1
第四种类型:数独问题,涉及算法及二维数组
题目: Sudoku-Java
问题描述:数独(Sudoku)是一款大众喜爱的数字逻辑游戏。玩家需要根据9X9盘面上的已知数字,推算出所有剩余空格的数字,并且满足每一行、每一列、每一个粗线宫内的数字均含1-9,并且不重复。
输入描述:
包含已知数字的9X9盘面数组[空缺位以数字0表示]
输出描述:
完整的9X9盘面数组
示例1
输入
0 9 2 4 8 1 7 6 3
4 1 3 7 6 2 9 8 5
8 6 7 3 5 9 4 1 2
6 2 4 1 9 5 3 7 8
7 5 9 8 4 3 1 2 6
1 3 8 6 2 7 5 9 4
2 7 1 5 3 8 6 4 9
3 8 6 9 1 4 2 5 7
0 4 5 2 7 6 8 3 1
输出
5 9 2 4 8 1 7 6 3
4 1 3 7 6 2 9 8 5
8 6 7 3 5 9 4 1 2
6 2 4 1 9 5 3 7 8
7 5 9 8 4 3 1 2 6
1 3 8 6 2 7 5 9 4
2 7 1 5 3 8 6 4 9
3 8 6 9 1 4 2 5 7
9 4 5 2 7 6 8 3 1
第五种类型:典型的动态规划问题,面试华为15级以上一般会考一道动态规划题
题目: 火车进站
描述:
给定一个正整数N代表火车数量,0N10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号。要求以字典序排序输出火车出站的序列号。
输入描述:
有多组测试用例,每一组第一行输入一个正整数N(0N10),第二行包括N个正整数,范围为1到9。
输出描述:
输出以字典序从小到大排序的火车出站序列号,每个编号以空格隔开,每个输出序列换行,具体见sample。
示例1
输入
3
1 2 3
输出
1 2 3
1 3 2
2 1 3
2 3 1
3 2 1
以上内容希望对大家
尽量使用完整的英文描述符,采用适用于相关领域的术语,采用大小写混合使名字可读。
JAVA代码规范:
(1)类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:
ThisIsAClassName
thisIsMethodOrFieldName
若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。对于域名扩展名称,如com,org,net或者edu等,全部都应小写(这也是Java1.1和Java1.2的区别之一)。
(2)为了常规用途而创建一个类时,请采取"经典形式",并包含对下述元素的定义:equals()
hashCode()
toString()
clone()(implement Cloneable)
implement Serializable
(3)对于自己创建的每一个类,都考虑置入一个main(),其中包含了用于测试那个类的代码。为使用一个项目中的类,我们没必要删除测试代码。若进行了任何形式的改动,可方便地返回测试。这些代码也可作为如何使用类的一个示例使用。
(4)应将方法设计成简要的、功能性单元,用它描述和实现一个不连续的类接口部分。理想情况下,方法应简明扼要。若长度很大,可考虑通过某种方式将其分割成较短的几个方法。这样做也便于类内代码的重复使用(有些时候,方法必须非常大,但它们仍应只做同样的一件事情)。
(5)设计一个类时,请设身处地为客户程序员考虑一下(类的使用方法应该是非常明确的)。然后,再设身处地为管理代码的人考虑一下(预计有可能进行哪些形式的修改,想想用什么方法可把它们变得更简单)。
(6)使类尽可能短小精悍,而且只解决一个特定的问题。下面是对类设计的一些建议:
一个复杂的开关语句:考虑采用"多形"机制
数量众多的方法涉及到类型差别极大的操作:考虑用几个类来分别实现
许多成员变量在特征上有很大的差别:考虑使用几个类
(7)让一切东西都尽可能地"私有"-private。可使库的某一部分"公共化"(一个方法、类或者一个字段等等),就永远不能把它拿出。若强行拿出,就可能破坏其他人现有的代码,使他们不得不重新编写和设计。若只公布自己必须公布的,就可放心大胆地改变其他任何东西。在多线程环境中,隐私是特别重要的一个因素-只有private字段才能在非同步使用的情况下受到保护。
(8)谨惕"巨大对象综合症。对一些习惯于顺序编程思维、且初涉OOP领域的新手,往往喜欢先写一个顺序执行的程序,再把它嵌入一个或两个巨大的对象里。根据编程原理,对象表达的应该是应用程序的概念。
面试那个部门的哪个职位。。
默认使用C/C++, 看部门。 如果考java 会单独说明。
技术类的考试基本没有刁钻的题目,考基本功为主。