码迷,mamicode.com
首页 > 其他好文 > 详细

华为OD两轮技术面试

时间:2020-02-06 12:47:52      阅读:1755      评论:0      收藏:0      [点我收藏+]

标签:scanner   equals   share   chm   http   java   oid   文本   valueof   

华为OD面试
1性格测试
选积极向上的选项,注意,性格测试也会挂人,我一个朋友性格测试就没过。
2机试 一道变成题目 1h 用例60%通过即可
任给一个数组,元素有20M,1T,300G之类的,其中1T=1000G,1G=1000M
按从小到大输出结果
例如:输入:3
20M
1T
300G
输出:
20M
300G
1T
我给出的代码如下(已通过100%用例):

[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package Huawei;
 
import java.util.Scanner;
 
/**
 * Created by xuzhenyu on 2020/1/5.
 */
public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        String[] strings = new String[n];
        for (int i = 0; i < n; i++) {
            strings[i] = scanner.next();
        }
        String[] ruslutStrs = sort(strings);
        for (int i = 0; i <ruslutStrs.length ; i++) {
            System.out.println(ruslutStrs[i]);
        }
    }
    private static String[] sort(String[] strs) {
        for (int i = 0; i < strs.length - 1; i++) {
            for (int j = 0; j < strs.length - i - 1; j++) {
                // M G T
 
                if (compare(strs[j], strs[j + 1])) {
                    String tem = strs[j];
                    strs[j] = strs[j+1];
                    strs[j+1] = tem;
                }
            }
        }
        return strs;
    }
    private static boolean compare(String str1, String str2){
        int str1M = turnString(str1);
        int str2M = turnString(str2);
        return str1M>str2M;
    }
    private static int turnString(String str){
        if("M".equals(String.valueOf(str.charAt(str.length()-1)))){
            return Integer.parseInt(str.substring(0,str.length()-1));
        }
        else if ("G".equals(String.valueOf(str.charAt(str.length()-1)))){
            return Integer.parseInt(str.substring(0,str.length()-1))*1000;
        }
        else if ("T".equals(String.valueOf(str.charAt(str.length()-1)))){
            return Integer.parseInt(str.substring(0,str.length()-1))*1000000;
        }
        return 0;
    };
 
}


3面试
3.1.两道编程题
(1) 任给一个数组,其中只有一个元素是单独出现,其他是成对出现,输出单独的元素。
例如: 输入: {2,2,1,1,4,4,7}
输出:7
(2)
技术图片
3.2.面试问题
(1) 说一下常见的工厂模式
(2)出现full gc定位问题的步骤
(3)mysql数据库优化
(4)zookeeper的选举机制

更多技术资讯可关注:itheimaGZ获取

华为OD两轮技术面试

标签:scanner   equals   share   chm   http   java   oid   文本   valueof   

原文地址:https://www.cnblogs.com/zhuxiaopijingjing/p/12267988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!