华为截止2024-04-26,还在泡池子😓前言在圈子里,都叫华为 为 华子。说在前面:华子流程长,而且不到Offer都不稳,不要有华子情节。 警告24届的学弟学妹千万不要相信华为华子的HR算是非常出名,非常多,甚至业务人员也要帮忙拉人,听说还有KPI。这也导致很多KPI的流程。。。流程完成后就失联了。华子一般有对接人和HR,对接人一般是对应部门的业务人员,主要负责联络感情;HR是实际推进流程的。关于笔试华子很早久让我投它们了,但是流程还是长的一批。一开始投递的是“星光工程部”,很久过后,别的同学都收到笔试消息了,我还没有收到,我就开始觉得奇怪了。有消息传出,就联系HR(发邮件)改投了“IT集团”。但第一次笔试挂了。之后投了“产品数字化与IT装备”,HR说可以补考,就又发邮件改投了过去。华子的笔试对不同学校,分数要求不一样,对于目标院校(985院校,以及其他一些优秀院校)及格分数为150,其他院校及格分数为300。笔试分数是及格才有面试,并且影响在池子中的排序。第一次笔试,第一题都才做了80%,其他的两题自然是没写。原因是它的输入对CPP不友好,我觉得是输入样例的人员没有设计好。比如说它要求多行的输入如下(这里使用*代替多余的空格):abc**1 2 3*****...它每行末尾的空格都不唯一,由于CPP输入不太熟悉就卡在这了。如果用Python的话,会好很多。第二次笔试,就没有这个问题了。A了100、0、95,一共385分。关于流程华子的面试一般是线下集中面试,粤港澳地区统一在11月线下面试,面试地点在广州、深圳,全部面试流程一般会在一天内结束。在此之后的面试一般采用线上的形式。关于面试,我的二面面试官不是投递部门的,而且好像不是做算法的。问了些Java八股(这是我面试唯二碰到的开发八股),我是一点都不会,会的也早忘了。虽然答得很烂但是还是给过了,这时我就有点觉得估计是KPI了。三面主管聊的还好,主管说“1~2周就能有消息了,现在的流程比之前(指秋招)快很多了”。结果到现在一点消息都没有。中途,大概是年前的时候问了一下对接人情况,被告知“等平台消息”。我就知道开不出来了,还在养鱼。投递时间2023-08-24星光工程部改:IT集团改:产品数字化与IT装备第一次笔试2023-10-18 19:00 - 21:00第一题80%挂了。原因:CPP不友好,输入后面带空格,输入整半天,早知道用Python写了QAQ。第二次笔试2024-01-10 19:00 - 21:00第一题100%大概意思是,给一个数组,有几个关键字,按关键字排序。sort一下就过了。第二题0%*********************没做出来,还打算写个简单的骗样例,也没过。第三题95%大概意思是,有一个10000x10000的二维坐标,有几个“基站”在坐标点上,这些“基站”能覆盖以自身为中心的3x3的区域,问这些“基站”的最大覆盖面积是多少,并且要求基站数量最少。返回最大的覆盖面积与最少基站数量。基站数量 <= 1e5当时的解法是,如果考虑所有的基站,那么覆盖面积一定是最大的,那么我们还需要去掉一些多余的基站。那哪些是多余的呢?一个简单的想法是,如果某些坐标点仅由一个基站覆盖的话,那么这个基站不能去掉。反过来说,如果某些坐标点不止由一个基站覆盖,那么这个点是可以去掉的。(这个说法不是充要条件,所以才通过了95%)枚举所有覆盖的坐标点,维护一个结构存储这些坐标被几个基站覆盖了。如果使用10000x10000的二维数组存储这些点,一定会超时。改使用哈希表存储这些被覆盖的点。这些点的数量 = 基站数量*9 = 9e5,还在复杂度要求内。去掉那些“多余”的基站。vector<int> solution(vector<vector<int>>& points){    unordered_map<int, unordered_map<int, int>> mmap; // 存储被覆盖的点, [x, y] -> cnt    // 遍历所有基站    for(auto& p:points){        int x = p[0];        int y = p[1];        // 9宫格        for(int i=x-1;i<=x+1;i++){            for(int j=y-1;j<=y+1;j++){                mmap[i][j]++;            }        }    }    int area = 0;    int cnt_points = 0;    // 遍历所有基站    for(auto& p:points){        int x = p[0];        int y = p[1];        // 9宫格        bool flag = true;   // 是否删除        for(int i=x-1;i<=x+1;i++){            for(int j=y-1;j<=y+1;j++){                if(mmap[i][j] == 1){                    flag = false;                }            }        }        if(flag){            // 删除该基站            for(int i=x-1;i<=x+1;i++){                for(int j=y-1;j<=y+1;j++){                    mmap[i][j]--;                }            }        }else{            cnt_points++;        }    }    for(auto& [x, val]:mmap){        area += val.size();    }    return {area, cnt_points};}后面分析,有些情况没考虑,导致 删少了。如下,有A,B,C三个基站,假设左右两边点都>1(不止被覆盖了一次)。>1  2  3  2 >1>1 A2 B3 C2 >1>1  2  3  2 >1那么,按照之前的算法删除A,或者C都是不合适的。此时,删除B才是最优解。一面2024-01-16大概70多分钟,没开摄像头。自我介绍一下吧。(刚进去第一句就是这个还没反应过来)看你项目主要都是科研,有实际应用落地的吗?(其他项目相关的问题,问得比较乱不太记得了)讲一下Transformer的结构。python中列表和元组的区别。如果让你来做一个AI的任务,你的流程是怎么样的?在你的项目中,有哪些数据预处理步骤?在你的项目中,使用到了哪些数据增强方法?介绍一下你的项目工作的目录是怎么样的?有哪些目录结构。面试官说,主要看一下项目的代码管理结构,因为多人合作的时候,好的代码结构很关键。做题。*******************这题多种解法。O(n^3) ~ O(n)都有。先是写了个O(n^2)的,没写出来。然后写了个O(n^3)的。(真的菜啊)二面2024-01-17大概60分钟。(没自我介绍)介绍项目。java八股。3.1. Hashmap是线程安全的吗。3.2. Mybatis如何防止sql注入。3.3. Spring的IOC的流程。可能是简历上有写java开发经历。(都是本科做的,忘了都)Java八股是一个没答上来。工作地点。做题。*************************简化版,仅有两种字符。一开始使用DP写,发现不对,然后用滑动窗口写。面试官提示用滑动窗口写。后面在leetcode提交了一下,过了。反问:主要做什么业务。(面试官说,“我不是你们部门的”。但主要还是NLP、语音等相关的业务。)三面2024-01-17大概60分钟。自我介绍。介绍一下你的项目的选题是如何选的,具体是如何开展科研的,导师在你的工作中充当什么样的角色。介绍一下生活中印象最深刻的一件事。介绍一下家庭介绍,如果方便的话。平常空余时间做点什么?在科研上遇到什么困难,如何解决的。有没有令你最难过的时刻。讲一下你对华为的看法、了解,为什么选华为,华为能给你带来什么。从总体上评价一下你自己,给自己一个画像。聊聊华为不能给你带来什么。反问:华为在对新人的培养是怎么样的。(大概有5个月的培养期,里面会学很多东西,每个新人会分配导师。新人的表现是导师的KPI。新人会有考核。考察主要看实际做的结果如何,如果只是学了很多东西,但不能实际运用是不合格的。华为还有自己的“华为大学”,里面有很多课程,很多人周末还会来学。)反问:多久有消息。(目前这段时间比较快了,大概1-2周。)
点赞 5
评论 2
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务