首页 > 九月一号华为java一面总结
头像
找室友专用
编辑于 2020-09-01 11:07
+ 关注

九月一号华为java一面总结

第一次常规一面,刚结束,感觉要凉,好在也算是有了经验,往后的应对应当更从容些.
  1. 流程
  2. 个人总结

流程介绍

自我介绍,项目介绍,笔试复盘,手撕代码

个人总结

自我介绍有点紧张说话也是有点磕绊,项目中没有突出重点,参与与负责的故事没有讲好;
他很注重笔试的复盘,第三题的那种难题他好像很期待你能在事后写出来,说的就像你高考考研结束后还会再看原题似的... 失分点
现场编程题,是个字符串处理的,不太难,同时也意味着坑好多,边界条件没有考虑充足,剑指offer第一章讲的还是很有道理的。20分钟的最后,被str.split(".")给坑了一个bug。=》 "\\."
没能及时在我的思路内跑出结果。
你们想看的下面咯,我写的结果那个样子也不想改了,随风去吧。gg

package interview;

import com.sun.org.apache.xpath.internal.operations.Bool;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;


public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String input;
        while ((input = reader.readLine()) != null) {
            List<String> res = new ArrayList();
            String str[] = input.split("\\s+");
            for (int i = 0; i < str.length; i++) {
                if (isIPV4(str[i])) {
                    res.add(str[i]);
                }
            }
            res.sort(new Comparator<String>() { @Override public int compare(String o1, String o2) {
                    String str_1[] = o1.split("\\.");
                    String str_2[] = o2.split("\\.");
                    if (Integer.valueOf(str_1[0]) > Integer.valueOf(str_2[0])) {
                        return 1;
                    } else if (Integer.valueOf(str_1[0]) < Integer.valueOf(str_2[0])) {
                        return -1;
                    } else {
                        if (Integer.valueOf(str_1[1]) > Integer.valueOf(str_2[1])) {
                            return 1;
                        } else if (Integer.valueOf(str_1[1]) < Integer.valueOf(str_2[1])) {
                            return -1;
                        } else {
                            if (Integer.valueOf(str_1[2]) > Integer.valueOf(str_2[2])) {
                                return 1;
                            } else if (Integer.valueOf(str_1[2]) < Integer.valueOf(str_2[2])) {
                                return -1;
                            } else {
                                if (Integer.valueOf(str_1[3]) > Integer.valueOf(str_2[3])) {
                                    return 1;
                                } else {
                                    return -1;
                                }
                            }
                        }
                    }
                }
            });
            for (String item:
                 res) {
                System.out.println(item);
            }
        }
    }

    public static Boolean isIPV4(String ip) {
        try {
            String str[] = ip.split("\\.");
            int part_1 = Integer.valueOf(str[0]);
            int part_2 = Integer.valueOf(str[1]);
            int part_3 = Integer.valueOf(str[2]);
            int part_4 = Integer.valueOf(str[3]);
            if (part_1 == 0 || (part_1 == 255 && part_2 == 255 && part_3 == 255 && part_4 == 255)) {
                return false;
            } else {
                return true;
            }
        } catch (Exception e) {
            return false;
        }
    }
}



更多模拟面试

全部评论

(4) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐