九月一号华为java一面总结
第一次常规一面,刚结束,感觉要凉,好在也算是有了经验,往后的应对应当更从容些.
- 流程
- 个人总结
流程介绍
自我介绍,项目介绍,笔试复盘,手撕代码
个人总结
自我介绍有点紧张说话也是有点磕绊,项目中没有突出重点,参与与负责的故事没有讲好;
他很注重笔试的复盘,第三题的那种难题他好像很期待你能在事后写出来,说的就像你高考考研结束后还会再看原题似的... 失分点
现场编程题,是个字符串处理的,不太难,同时也意味着坑好多,边界条件没有考虑充足,剑指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; } } }