华为Java面经10.26
线上面试
一面 (大概一个小时)
自我介绍
先拷打校内专业课知识(计网的基础知识、数据结构的数据类型举例还有原理、排序算法举了6-7种还有实现原理、查找算法等)
然后大概问了Java八股的一些问题,包括JVM的内存划分及作用、堆内存的结构以及几种垃圾回收算法等,类的加载过程,Spring框架的原理,IOC、AOP、面向对象的理解和特征,问的都挺简单的)
紧接着就是这个笔试题回顾环节,答了图论➕DFS的一个解法,求单源最短路径,中间用一个flag处理特殊条件,跟自己当时写的代码思路复合就行
编程环节,做了一道类似于滑动窗口的题,给定字符串s和p,最少删除s中的几个字符才能使得p是s的子串。给你10-15分钟大概并讲解思路
二面(40分钟)
自我介绍
拷打简历的项目经历,介绍整个项目细节,
从项目引出其他知识点,问了Linux会不会用,问了一些命令包括使用的一些经历啥的。还有MySQL和Redis,询问两者之间的不同。平常咋用的。
全程项目问的比较多,然后引出其他的。
说我动手能力很强。
然后就是编程题,写了一题面试官子串的。
输入一个任意字符串,写一个校验该字符串是否符合ipv4的规则。10-15分钟
三面主管面(30分钟)
自我介绍
介绍了在校经历,实习经历等
主要询问实习经历过程中的事情。
问有没有遇到什么难点,这个我选择方案的时候
被主管批评了,说目前业内对于该问题有了更好的解决方案(我是真没查到过,可能比较菜)
然后介绍一下对于华为的文化包括加班的这个理解
结合自身经历做了回答,还行。
15:49收到了面试完成的短信
当晚23:45准时收到了华为的面试反馈邮件
隔天下午显示面试已通过,开始泡
求求给个机会泡出来,爱信等华