华为od 机试 + 面试面经
机试 400分
三道题目:100分完美走位;100分新学校位置;200分硬件产品销售方案。
考前花了很多时间找一些原题刷了,考试三道都是满分过。
技术面试(3轮)
本人由于一面和二面定级不一致,加面一轮。大部分问题都是比较基础的八股文问题,还有一些项目问题。挺多问题都记不太清了,3轮面试问题总结如下:
网络:
五层网络协议;
三次握手;
四次挥手;
http 和 https的区别;
http 的方法;
数据库:
索引;
导致查询较慢的原因;
java(java基础、jvm、java框架等):
java集合(HashMap、HashSet、LinkedList、ArrayList等);
接口和抽象类;
String、StringBuilder、StringBuffer;
创建线程的方式;
java内存模型;
GC垃圾回收;
类加载;
双亲委派模型;
怎么解决项目中的死锁问题;
单例模式和工厂模式;
怎么保证单例模式的线程安全(double-check);
springboot配置、注解等;
手撕代码:
力扣中等难度题
三道题:
①力扣179 最大数;
②给出一个字符串数组,输出这些字符串的最长公共子串。例:[abc, abcde, zzabco],输出:abc;
③给出一个字符串 s ,拆分该字符串,并返回拆分后唯一子字符串的最大数目。字符串 s 拆分后可以得到若干非空子字符串 ,这些子字符串连接后应当能够还原为原字符串。但是拆分出来的每个子字符串都必须是唯一的 。
示例 1:
输入:s = "ababccc"
输出:5
解释:一种最大拆分方法为 ['a', 'b', 'ab', 'c', 'cc'] 。像 ['a', 'b', 'a', 'b', 'c', 'cc'] 这样拆分不满足题目要求,因为其中的 'a' 和 'b' 都出现了不止一次。
主管面、资面:
如实回答自己的情况。
定级 d2,已拿 offer。