华为od开发岗一面、挂
九月1.5h
这是人生第一次面试,分享惨痛经验,希望梳理后有所成长。。。
我报的是java开发下的数据分析线,复习偏向了机器学习、计算机网络。但是很多基础知识,都没能简短准确地描述出来,。其次就是面试官偏向java开发的考查,这也是复习时漏掉的大部分。
1.简短自我介绍:身份、优势、期待
2.项目面:
第一个介绍的项目,没正式梳理过,所以介绍的时候完全脱稿结结巴巴的,也没讲清楚。面试官稍有愠色,看出我是面试小白并引导我,随后我讲的清晰了点,问的不是很深。这里应该扣了很多分。
第二个数据库项目我梳理的比较充分,讲解背景目的、各个流程。随后面试官深挖,问某个事件发生对数据库产生增查删改的全过程、各个表的作用以及键类型、某些重要表的加密。从加密拓展到信息安全,问知道哪些加密算法,我完全忘了。
3.基础知识
问了redis、spring、jvm用过吗,后端的基本都没接触过。。。
面向类开发的特点,答了两个。
常用的数据结构,我说ArrayList并说了特点是动态增减。面试官补问和linkedlist的区别,没答上来。
栈和队列的特点,这个答的清楚。
编程的习惯,这个问题也是脱稿。。。
数据的测试了解吗,答了个应该错了。
4.手撕代码
题目:{8,14,1403,22}怎么组合得到一个最大的数字822141403
我的思路:遍历arraylist里的数字,找到首位最大的数(第一次是8),打印并在list里删除。重复上述步骤直到list空了。
上述代码我15mins就打完了,但是面试官反问我14、1403首位一样该怎么选?把我卡住了10mims,然后面试官提示:对比141403和140314就好。
然后我string的函数卡了很久,最后暴力写出来,一共花了50mins。
5.结束面试
当天就知道一面没过了,毕竟手撕时间太久+基础不牢固+项目没准备好
接下来继续努力吧!路还长着。
1先把项目流畅讲出来、多挖细节。
2牛客好好补补操作系统、java、数据结构之类的简单选择题,知识面求广不求精。
3某乎搜机器学习、数据挖掘、大数据面试面经,搜出来的一般整理比较全面。
4口述复习过的计网协议、算法特点,加深印象。
5完善,对自身的介绍、对职业的期望、对公司的了解。