【197期】华为OD两轮技术面试记录,给后来人一个参考!

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 【197期】华为OD两轮技术面试记录,给后来人一个参考!

点击上方“Java面试题精选”,关注公众号

面试刷图,查缺补漏

号外:往期面试题,10篇为一个单位归置到本公众号菜单栏-面试题,有需要的欢迎翻阅

阶段汇总集合:

1性格测试

选积极向上的选项,注意,性格测试也会挂人,我一个朋友性格测试就没过。

2机试

一道编程题目 1h 用例60%通过即可

任给一个数组,元素有20M,1T,300G之类的,其中1T=1000G,1G=1000M 按从小到大输出结果

例如:输入:


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 str1Mstr2M;
    }
    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的选举机制

以上,就是整个面试环节问题。

END

来源:blog.csdn.net/candgbb/article/details/103877203

十期推荐

与其在网上拼命找题?** 不如马上关注我们~**

【197期】华为OD两轮技术面试记录,给后来人一个参考!

原文始发于微信公众号(Java面试题精选):

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 【197期】华为OD两轮技术面试记录,给后来人一个参考!


 上一篇
【196期】夯实基础,Java8新特性Stream详细教程 【196期】夯实基础,Java8新特性Stream详细教程
点击上方“Java面试题精选”,关注公众号 面试刷图,查缺补漏 号外:往期面试题,10篇为一个单位归置到本公众号菜单栏-面试题,有需要的欢迎翻阅 阶段汇总集合: 1 基本特性Java8的API中添加了一个新的特性: 流,即stream。st
2021-04-05
下一篇 
【198期】面试官——你能说出 方法重载和方法重写 的原理吗? 【198期】面试官——你能说出 方法重载和方法重写 的原理吗?
点击上方“Java面试题精选”,关注公众号 面试刷图,查缺补漏 号外:往期面试题,10篇为一个单位归置到本公众号菜单栏-面试题,有需要的欢迎翻阅 阶段汇总集合: 前言JVM执行字节码指令是基于栈的架构,就是说所有的操作数都必须先入栈,然后再
2021-04-05