华为OD——java开发⼯程师⾯试(附回忆版题⽬)
1⽉份同学给我推荐了这个岗位,因为没有⼯作经历,所以还是⽐较有压⼒的,只能尽⼒准备了。
⼀、机试
在正式机试之前,我在⽜客⽹在线编程练了⼏⼗道题,原本的计划是题⽬练完的,但是看错了机试时间,最后匆忙机试。
1、机试题⽬
【正则表达式匹配】请实现⼀个函数⽤来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表⽰任意⼀个字符,⽽’'表⽰它前⾯的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab ac a"匹配,但是与"aa.a"和"ab*a"均不匹配
【解析】这个知识点在⽜客⽹专题靠后位置,我没练习到,⽽且,没有复习java对正则表达式的⽀持,所以做的时候⽤了最⿇烦的⽅法。【代码】
public static boolean match(char[] str,char[] pattern){
String regex ="", string ="";
for(int i =0; i < pattern.length; i++){
regex += pattern[i];
}
for(int i =0; i < str.length; i++){
string += str[i];
}
Pattern pattern1 =Patternpile(regex);
Matcher matcher=pattern1.matcher(string);
return matcher.matches();
}
⼆、技术⼀⾯
因为最近新型肺炎疫情严重,我有幸全程视频⾯试,我感觉挺⽅便,就像两个⼈视频聊天,没有现实中两个陌⽣⼈两天的距离感。
这次⾯试,我个⼈觉得我还是太⽔了!!
我⾯试的是java,在⽜客⽹⾯经中提到的知识点主要有:
【java】java基础、java⾼级(线程与线程池、反射、异常、内存管理等)
【javaWeb框架】Spring boot、SpringMVC、Mybatis、Hibernate、Struts
设计模式
算法与数据结构
计算机⽹络
操作系统
XML
JDBC
这些东西框架和XML⼤学我没学习过,java⾼级⾃⼰了解过⼀点,其他东西除了java基础和算法,其他东西都没复习。
(⼀)⾯试题⽬
1、新建线程的⽅法,对线程的了解
(答得不全,因为⾃⼰没写过这个代码,印象不深刻)
三种
1)继承Thread类
2)实现Runnable接⼝
3)实现Callable接⼝
其中第三种⽅法需要⽤到线程池
2、什么是java不可变类型?
(这个问题真的是难倒我了,因为⾯试官提到String是可变类型)
【答案:java中的引⽤类型,值可变引⽤不变,⽐如String,其实你改变值就是新new了⼀个String】
3、并发怎么理解?
4、SpringMVC的⾯向切⾯怎么理解
(框架没有复习)
5、Mybatis了解过吗?
(没有。。然⽽还是问框架)
6、排序算法了解吗?说说
7、选择排序的效率怎么样?
(记得堆排序,但是不知道怎么实现了,压根不觉得直接选择是⼀种排序)
(⼆)⼿撕代码
【题⽬】
括号匹配“{}()[]”
因为视频⾯试,⼿撕不太⽅便,所以最后是我⽤我的记事本来写
【思路】
存左括号,遇到右括号匹配,直到字符串匹配结束
右括号匹配失败,false
如果栈不为空,false
时间正则表达式java栈为空,true
【问题】
我犯了⼀个很低级的问题,我忘记了怎么取栈顶元素(不删除)
三、技术⼆⾯
和⼀⾯连续的
(⼀)⼿撕代码
⾯试官说⼿撕不⽅便,所以改成陈述⼀⾯的⼿撕代码思路。那我肯定没问题。
(⼆)⾯试题⽬
1、java中堆和栈的区别,不是数据结构⾥的那种
(不会,没了解过底层机制)
2、内存回收机制
(没了解)
3、进程和线程,区别
(会)
4、JVM为什么实现了跨平台运⾏?
(java先编译然后解释执⾏,编译得到class字节⽂件,不同平台可以运⾏)⾯试官⼤概给我讲了这个过程
5、抽象类与接⼝对⽐
(会)
6、java获取⼀个类的⽅法
(会,但是不全,⽤到反射)
7、⽤反射不知道类路径,能获得类吗?如果给⼀个错误路径,能获取到类吗?会出现什么异常?
(会,不能、不能、运⾏时异常)⾯试官循循善诱。。。
8、设计模式了解过吗?
(忘了,学过,我讲我不太清楚它的作⽤)⾯试官讲了开发中设计模式的使⽤,确实很厉害。简单讲,设计模式就是开发中经常⽤到的模板,开发时,遇到不匹配的代码,可以套⽤设计模式进⾏修改,实现代码复⽤,增加代码可维护性。
9、其他
⾯试两个⼩时,肯定不会只有这⼏个问题。其他时间⾯试官和我聊了我的⼤学经历,因为我参加了两
次数学建模,⽽且获得了奖项,所以和⾯试官聊了这些。
是16年全国⼤学⽣数学建模竞赛的题⽬,关于⼩区开放对交通的影响。数学建模的题⽬我没复习,只记得⼤概思路,就和⾯试官聊了聊,⾥⾯涉及到构建加权图,搜索问题等
四、综测,个⼈调查
就是做了个电⼦测试,然后填写了⼀份个⼈登记表
五、HR⾯试
主要是聊天,个⼈经历,没涉及到技术
六、综合测试
还是聊天,详细经历都问到了。⾥⾯聊了数学建模,主要说了17年美国⼤学⽣数学建模竞赛题⽬,参赛细节等。
七、最后
现在是2020.02.21 19:17.收到HR邮件,说⾯试通过,等HR联系Offer的细节。⾄此,这次⾯试就结束
了。感觉好累啊,从年前到现在,持续了快⼀个⽉,亚历⼭⼤。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论