华为(通用软件)面经

一面 9.9 50min

  • 自我介绍
  • 项目中解决过最棘手的问题
  • c++多态是怎么实现的
  • 子类析构的顺序
  • new/delete/malloc/free
  • 机考复盘:连通区域的个数
  • 手撕代码:后缀表达式转换为中缀,输出结果
    用一个栈,数字直接压栈,如果是+-/,则将最上面的两个数字弹出,进行计算,再将结果压入,最后输出结果。
    /

    后缀表达式计算
    中缀表达式 4 + 13 / 5
    后缀表达式 4 13 5 / +
    后缀表达式的用途:计算机在计算中缀表达式时候通常都把它转化成后缀表达式来计算
    根据逆波兰表示法,求表达式的值。
    有效的运算符包括 +, -, , / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
    说明:
    整数除法只保留整数部分。
    给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。
    示例 1:
    输入: ["2", "1", "+", "3", "
    "]
    输出: 9
    解释: ((2 + 1) * 3) = 9
    示例 2:
    输入: ["4", "13", "5", "/", "+"]
    输出: 6
    解释: (4 + (13 / 5)) = 6
  • /
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
       stack<int> s;
       string c;
       int res;
       while (cin>>c && c!="end")
       {
           if (c == "+")
           {
               int a = s.top();
               s.pop();
               int b = s.top();
               s.pop();
               res = a + b;
               s.push(res);
           }
           else if (c == "-")
           {
               int a = s.top();
               s.pop();
               int b = s.top();
               s.pop();
               res = b - a;
               s.push(res);
           }
           else if (c == "*")
           {
               int a = s.top();
               s.pop();
               int b = s.top();
               s.pop();
               res = a * b;
               s.push(res);
           }
           else if (c == "/")
           {
               int a = s.top();
               s.pop();
               int b = s.top();
               s.pop();
               res = (int)(b / a);
               s.push(res);
           }
           else
           {
               int x= atoi(c.c_str());
               s.push(x);
           }
       }
       if (!s.empty()) cout << s.top();
       system("pause");
       return 0;
    }

二面 9.9 28min

  • 项目中关于软件开发的技术

  • 光学工程专业。。。MFC是自学吗?

  • 聊天服务器是自己写着玩的?

  • 非阻塞IO和IO复用都用到了吗?IO复用怎么理解的?复用的是谁?谁被复用了?

  • 服务端/客户端的线程有几个,分别是什么?

  • 手撕代码:配对的括号

    int longest(string s)
    {
      stack<char> st;
      int count = 0;
      int maxx=0;
      for (int i = 0; i < s.size(); ++i)
      {
    
              if (s[i] == '(')
                  st.push(s[i]);
              else if (s[i] == ')')
              {
                  if (!st.empty() && st.top() == '(')
                  {
                      count += 2;
                      st.pop();
                  }
                  if(st.empty())
                  {
                      maxx=maxx<count?count:maxx;
                      count=0;
                      continue;
                  }
              }
      }
      //if (st.empty()) return 0; 
      return maxx;
    }
    int main()
    {
      string s;
      cin >> s;
      cout << longest(s);
      system("pause");
      return 0;
    }

主管面 9.9 25min

  • 自我介绍
  • 研究方向偏软还是硬?
  • 考研还是保研?当时的选项有几个?为什么选天大?
  • 介绍项目中主要负责的事情
    接下来聊项目相关
  • 软硬都有,硬件部分怎么完成的?
    (突然发现,面试官的总结能力特别强......)
  • 项目背景是什么?为什么要设计这样的仪器?
  • 非科班加入软件行业,怎么储备知识的?
  • 工作地点选择
  • 专利是第几发明人?
  • 关于本科去武汉实习,有什么收获?
    (emmm...旅游玩耍很开心)
  • 父母是做什么的?是独生女吗?对你工作地点有要求吗?
    (好像人口调查...)
  • 对华为有了解吗?了解到什么程度?
  • 对加班的看法
    其实我真心觉得华为给应届生提供了足够广阔的平台,足够你成长。
  • 之后转java可以吗
  • 除了华为,还考虑过别的公司吗?
  • 薪酬方面
    (够花就行 哈哈)
  • 有什么想问的

下午三点开始,到晚上七点多,三面一口气结束,整个人像掏空了一样,还是很累的。
越努力越幸运。

#面经##校招##华为##C++工程师#
全部评论
错了错了,是天大师姐😂更稀有了,师姐更冲冲冲!
点赞 回复 分享
发布于 2020-09-22 00:18
哇天大师兄😃😃第一次在牛客注意到我天的师兄,还是非科班的,我是机械院的,也在看c++,师兄加油,你是我的榜样😄顺便别忘了继续分享面经呀
点赞 回复 分享
发布于 2020-09-22 00:16
诶,本科生和研究生问的内容是不是差别很大啊,你的面经我看了好慌
点赞 回复 分享
发布于 2020-09-21 19:55
IO复用怎么理解的?复用的是谁?谁被复用了?是讲select,poll,epoll?老哥怎么讲的呀教教我
点赞 回复 分享
发布于 2020-09-20 21:58
老铁,是投哪个部门的 ?
点赞 回复 分享
发布于 2020-09-20 16:42

相关推荐

想干测开的tomca...:让我来压力你!!!: 这份简历看着“技术词堆得满”,实则是“虚胖没干货”,槽点一抓一大把: 1. **项目描述是“技术名词报菜名”,没半分自己的实际价值** 不管是IntelliDoc还是人人探店,全是堆Redis、Elasticsearch、RAG这些时髦词,但你到底干了啥?“基于Redis Bitmap管理分片”是你写了核心逻辑还是只调用了API?“QPS提升至1500”是你独立压测优化的,还是团队成果你蹭着写?全程没“我负责XX模块”“解决了XX具体问题”,纯把技术文档里的术语扒下来凑字数,看着像“知道名词但没实际动手”的实习生抄的。 2. **短项目塞满超纲技术点,可信度直接***** IntelliDoc就干了5个月,又是RAG又是大模型流式响应又是RBAC权限,这堆活儿正经团队分工干都得小半年,你一个后端开发5个月能吃透这么多?明显是把能想到的技术全往里面塞,生怕别人知道你实际只做了个文件上传——这种“技术堆砌式造假”,面试官一眼就能看出水分。 3. **技能栏是“模糊词混子集合”,没半点硬核度** “熟悉HashMap底层”“了解JVM内存模型”——“熟悉”是能手写扩容逻辑?“了解”是能排查GC问题?全是模棱两可的词,既没对应项目里的实践,也没体现深度,等于白写;项目里用了Elasticsearch的KNN检索,技能栏里提都没提具体掌握程度,明显是“用过但不懂”的硬凑。 4. **教育背景和自我评价全是“无效信息垃圾”** GPA前10%这么好的牌,只列“Java程序设计”这种基础课,分布式、微服务这些后端核心课提都不提,白瞎了专业优势;自我评价那堆“积极认真、细心负责”,是从招聘网站抄的模板吧?没有任何和项目挂钩的具体事例,比如“解决过XX bug”“优化过XX性能”,纯废话,看完等于没看。 总结:这简历是“技术名词缝合怪+自我感动式凑数”,看着像“背了后端技术栈名词的应届生”,实则没干货、没重点、没可信度——面试官扫30秒就会丢一边,因为连“你能干嘛”都没说清楚。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
38
分享

创作者周榜

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