华为OD两轮技术面试
华为OD面试
1性格测试
选积极向上的选项,注意,性格测试也会挂人,我一个朋友性格测试就没过。
2机试 一道变成题目 1h 用例60%通过即可
任给一个数组,元素有20M,1T,300G之类的,其中1T=1000G,1G=1000M
按从小到大输出结果
例如:输入:3
20M
1T
300G
输出:
20M
300G
1T
我给出的代码如下(已通过100%用例):
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; }; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 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
3面试
3.1.两道编程题
(1) 任给一个数组,其中只有一个元素是单独出现,其他是成对出现,输出单独的元素。
例如: 输入: {2,2,1,1,4,4,7}
输出:7
(2)
3.2.面试问题
(1) 说一下常见的工厂模式
(2)出现full gc定位问题的步骤
(3)mysql数据库优化
(4)zookeeper的选举机制
赞 (0)