华为OD社招 C++ 技术二面

5.29谈薪  6.4综面   口头offer 6.19正式邮件offer 三倍当前工资 从接到电话到拿offer 历时55天 至此全剧终
技术一面及上机考试内容 移步

我的心好冷........
手撕代码环节 ,考了leetcode 207 原题 拓扑排序+领接表+DFS/BFS 没做过这种题 一点思路都没有搞不出来,换了道简单题做出来了
如题:
你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。
在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程  bi 。
例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。
请你判断是否可能完成所有课程的学习?如果可以,返回 true ;否则,返回 false 。
贴代码学习
class Solution {
public:
    bool canFinish(int numCourses, vector<vector<int>>& prerequisites) {
        vector<int> degrees(numCourses);//记录所有顶点的入度,未初始化的为0
        vector<vector<int>> adjacents(numCourses); //邻接表
        queue<int> zero;//零入度的顶点
        int num = numCourses;
        for(int i=0;i<prerequisites.size();i++)
        {
            degrees[prerequisites[i][0]]++;//入顶点
            adjacents[prerequisites[i][1]].push_back(prerequisites[i][0]);//出顶点
        }
        for(int i=0;i<numCourses;i++)
            if(degrees[i]==0){
                zero.push(i); //入度为0的先入队列
                num--;
            }
                
        while(!zero.empty()){
            int temp = zero.front();
            zero.pop();
            for(int j=0;j<adjacents[temp].size();j++)
                if(--degrees[adjacents[temp][j]]==0){
                    zero.push(adjacents[temp][j]);
                    num--;
                }
                    
        }
        if(num==0)
            return true;
        return false;
    }
};
要求换题,题目是用队列实现栈 ,这个比较简单,怎么做都可以 算是给个台阶下

流程走到第四步了 两轮视频面试下来,总结一下:
1. 对于社招只问项目问题,语言的东西只字不提(语言是考没经验的应届生的),所以这方面几乎可以不用准备,(对了,要注意代码风格和命名规范,当然,面向对象的思想要有自己的理解);
2. 描述项目的时候,确保你讲的每个字都都能给出合理的解释,面试官的耳朵真的是厉害,专门听漏洞的,抓到一个概念你没圆上来就露馅了......我以后再也不像个Sb的去讲什么软硬件解耦,高内聚低耦合了,讲不清楚的时候在面试官面前就像没穿衣服一样,真的社死一般的遭遇;
3. 总的来说,要想通过华为的面试,要做五道编程题,耗时三个小时左右的面试和测试(时间总和),以及长达一个月甚至更长的流程;
4. 单单说一下五道编程题,对使用C++的你来说要掌握到什么程度才有可能全部通过,要熟练掌握STL标准库,能熟练的处理数组和字符串,数据结构要掌握到非线性结构---图这种程度,算法上熟练运用DFS/BFS,递归,贪心回溯等等,要能运用他们解决各种变种问题,以及有些实际生活问题是可以抽象成树或者是图的问题,而不只是会遍历树和图,当然解决这些问题的前提是会遍历。

tip: 有很多人说考试不会处理输入输出,这个确实,这个真的得练啊,还有就是刷题的时候是连接口都给你封装好了,有点傻瓜编程的意思,可能面试的时候让你自己封装一个类都不会,我当时就是自己封装的,这里也能考察你的封装思想,函数思想,接口思想,再有就是有的测试用例是要自己写的,你会不会写 ?

希望对各位有帮助 ,希望你们勇攀高峰!

#面经##社招##华为##C++工程师#
全部评论
BTW 程序员是真的卷啊 一个面试都要上深度优先搜索了,有点怀念在车间出卖力气的日子🤣
2 回复 分享
发布于 2021-05-26 13:45
楼主二面知道结果了吗?
1 回复 分享
发布于 2021-05-21 17:50
老哥,你项目做的啥呀?web服务器吗?
点赞 回复 分享
发布于 2021-09-16 15:03
楼主几年经验啊,三倍是多少应该有30K了
点赞 回复 分享
发布于 2021-07-02 13:39
三倍当前工资,哇🤩
点赞 回复 分享
发布于 2021-06-23 20:02
有个很重要的信息,楼主面的是哪个城市呀
点赞 回复 分享
发布于 2021-06-07 02:20
你综面就给了口头offer和定级吗,我综面就聊了10min,offer定级都没说,有种凉凉的感觉
点赞 回复 分享
发布于 2021-06-05 19:25
我是应聘网络测试,不知道是不是用的一个题库,不会也这么难吧
点赞 回复 分享
发布于 2021-05-26 21:32
楼主加油!我周一二面哈哈,我这边的情况是现在比较缺人,机试一面都不错的情况概率还是蛮大的😁
点赞 回复 分享
发布于 2021-05-21 10:36
点赞 回复 分享
发布于 2021-05-20 23:53

相关推荐

来,说点可能被同行“骂”的大实话。🙊当初接数字马力Offer时,朋友都说:“蚂蚁的“内包”公司?你想清楚啊!”但入职快一年后的今天,我反而对他有了不一样的看法!🔹&nbsp;是偏见?还是信息差!之前没入职之前外面都在说什么岗位低人一等这类。实际上:这种情况不可至否,不能保证每个团队都是其乐融融。但我在的部门以及我了解的周边同事都还是十分好相处的~和蚂蚁师兄师姐之间也经常开一些小玩笑。总之:身份是蚂蚁公司给的,地位是自己挣的(一个傲娇女孩的自述)。🔹&nbsp;待遇?玩的就是真实!试用期工资全额发!六点下班跑得快(早9晚6或者早10晚7,动态打卡),公积金顶格交。别听那些画饼的,到手的钱和下班的时间才是真的(都是牛马何必难为牛马)。🔹&nbsp;能不能学到技术?来了就“后悔”!我们拥有权限直通蚂蚁知识库,技术栈多到学不完。说“学不到东西”的人,来了可能后悔——后悔来晚了(哈哈哈哈,可以不学但是不能没有)!💥&nbsp;内推地址:https://app.mokahr.com/su/ueoyhg❗我的内推码:NTA6Nvs走我的内推,可以直达业务部门,面试流程更快速,进度可查!今天新放HC,之前挂过也能再战!秋招已经正式开始啦~机会就摆在这,敢不敢来试一试呢?(和我一样,做个勇敢的女孩)
下午吃泡馍:数字马力的薪资一般哇,5年经验的java/测试就给人一万出头,而且刚入职第三天就让人出差,而且是出半年
帮你内推|数字马力 校招
点赞 评论 收藏
分享
评论
8
30
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务