华为暑期实习一面凉经

今天挂了一个投递实习的新同学,把他的面经粘过来,嘻嘻

我投的是数据存储与机器视觉产品线
面试我的面试官人很nice,有问题一步一步的引导我,但我还是挂了。具体经验如下:
1.开始让我做了个3分钟的自我介绍,我建议大家这个好好准备,多说点,因为所有面试基本是必问。我介绍的过于仓促,表现的很不自信,开局气势就弱了。后面也畏首畏尾的,一点也不大方。很不好。建议大家好好准备,开个好头后面可以自信一点。
2。然后面试官投屏打开了我笔试的时候做的题,第一道是并查集,100分,第二道是实现一个任务队列以及应用,第三道题忘了。第一道题没做对,面试官看了一下发现我使用暴力破解的,挺失望的。第二道是任务队列,面试官看了一下,问了一下我的思路。我说:是靠着思维逻辑解决的,不知道考察了什么算法。
3.然后面试官开始提问,让我介绍一下自己的项目,balabala的一大堆。项目的框架方面面试官也没有多问,因为他说他是做c/c++文件系统方面的,主要都是在linux上开发。不过他对数据库比较了解,于是就问了我的数据库设计方面的一些问题。我回答的中规中矩,也没什么亮点。
4.然后面试官看了看我的简历,发现我说使用过git,就让我介绍一下git,于是我balabala一大堆,然后面试官具体问我,我第一次commit了一次,但是只是修改了几行注释,问我第二次提交的时候不想算第一次提交的怎么办,我想了想,不会,于是瞎蒙说:版本回退一次,他点了点头说:具体怎么做。 这个指令我不会,于是说不知道。给了面试官很不好的印象,好像什么都有涉猎,但都只是懂个皮毛。建议大家学习的时候一定要深入学习。千万不要只停留于皮毛,不然很容易被当成是培训机构俗称的。
5.然后面试官看了看我的简历,发现我会一些linux,就问我linux的内容,问我,你不是会Java吗?如果我现在要查看java的日志,要让日志里面出现abc的行全部不显示怎么办?我想了想,不会。硬着头皮说先cat然后用管道grep 行不行,面试官说,具体一点,指令是什么,我说 cat 日志名|grep 想查找的行,面试官笑了笑,说我问的是没有abc的行,有没有办法?你再想想。我想了想,说:不会。
又问,linux软链接用过吗?底层原理是什么,具体指令怎么使用。我依稀记得是ln,面试官说,具体怎么写,我说,不太会。面试官说,怎么实现的?我说,不太明白。面试官气结,说,你学过操作系统吗?我说学过,面试官说:“那软硬链接你不知道吗”,我说:不知道。
6.面试官又问:你会什么?我说,我对Java语言比较熟悉。面试官问我final,finally,finalize()什么关系,我终于会了,于是balabala了一大堆。
7.面试官又问,构造方法私有化又什么用?我又会了,于是balabala一大堆(提到了单例模式),然后面试官说,那你实现一个单例模式吧。然后投屏,打了个单例模式,最后居然忘记加static了,呜呜呜。被面试官笑着提醒我才发现。欸,我实在太菜了。
8.然后面试官又问:那你实现一个判断两条线是否相交的程序吧。我实现了一下。
9.然后面试官又说:按照惯例,我们需要再考察你一道算法题,然后除了一个让我实现一个栈,并且实现查找最小值函数,要求时间复杂度再O(1),我跌跌撞撞的实现了,面试官不是很满意。说:这个题的代码其实挺少的,你下来自己看看吧。
谢谢你参加这次面试。
我心里凉凉。
最后果然挂了。诶。还是要多多准备算法题,还有就是学习不能只停留于简单的表面。希望大家吸取我的教训。

### 华为暑期实习机试题库及相关资料 华为暑期实习生招聘通常会涉及在线笔试环节,其考察范围广泛,涵盖了基础编程能力、算法设计以及实际业务场景的应用。以下是关于华为暑期实习机试的相关信息: #### 一、机试题型概述 华为OD机试试题主要分为两类:一类是基于具体应用场景的综合题目;另一类则是经典的算法与数据结构问题。例如,在2024年的OD机试中出现了诸如消消乐游戏逻辑实现[^1]和栈的数据合并操作等问题[^2]。 这些题目不仅考验考生的基础编码技能,还注重对复杂业务需求的理解能力和解决实际工程问题的能力。因此,准备此类考试时应重点复习以下几个方面: - **经典算法**:如排序(快速排序)、查找(二分法)等。 - **数据结构应用**:包括但不限于链表、堆栈、队列的操作及其变种形式。 - **组合优化问题**:像资源分配或者路径规划这类需要权衡多个因素的任务。 #### 二、推荐学习方向与工具书 为了更好地应对即将到来的华为暑期实习机试,建议采取如下措施来提升自己的竞争力: 1. **熟悉主流编程语言特性** 掌握至少一种常用开发环境下的高级程序设计方法论非常重要。对于Java而言,除了了解面向对象的基本概念外,还需要深入理解多线程处理机制、异常管理框架等内容。 2. **强化实战演练经验积累** 可以参考历年公开发布的真题集锦来进行针对性训练。比如,“九宫格全排列”、“扑克牌消除逻辑”都是很好的练习素材[^3]。另外还可以尝试模拟真实项目中的小型功能模块开发工作流,从而锻炼整体架构思维模式。 3. **利用网络平台获取最新动态资讯** 加入一些专门讨论技术话题的兴趣小组微信群/QQ群组,定期关注官方博客公告栏更新情况,及时掌握最新的考核趋势变化特点。 #### 三、样例代码展示 下面给出一段简单的Java示例代码用于演示如何完成一个基本的功能单元——判断给定字符串是否为回文串: ```java public class PalindromeChecker { public static boolean isPalindrome(String s){ int left=0; int right=s.length()-1; while(left<right){ char cLeft = s.charAt(left); char cRight = s.charAt(right); if(!Character.isLetterOrDigit(cLeft)){ left++; continue; } if(!Character.isLetterOrDigit(cRight)){ right--; continue; } if(Character.toLowerCase(cLeft)!= Character.toLowerCase(cRight)) return false; left++; right--; } return true; } } ``` 此函数实现了忽略大小写及非字母数字字符干扰条件下检测输入序列正反读取一致性的核心逻辑。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值