华为社招凉经

16年本科毕业,非科班出身
机试两题,通过
1.将输入字符串大写转小写,空格用0,再反序输出
2.编解码,字符后跟着数字,数字代表输出的次数,然后要按照输出次数和字符asiii码进行输出
性格测试通过
一面,视频远程面试,问的主要是工作上的,基础知识问的了一些,但是都没有深入下去,后面写完代码就没后续,估计一轮游了。
C++相关:析构函数什么时候该用虚函数、C++11用过哪些、项目中stl用哪些容器
开发工具:问用什么来写代码,用Visual studio;问了gdb的基本指令,断点和进入函数的,我自己补充了跳出函数和跳出循环的就没怎么问了
操作系统:问了会不会linux基本操作,没问具体的;问了怎么造成死锁,没有答好。
数据结构:问了常用的,知不知道二叉树红黑树就没了
设计模式:就答了单例、观察者、简单工厂、工厂
网络相关:网络协议有几层,四层只答了应用层、传输层、链路层,忘了网络层;问了个知不知道xxx(没听清)协议,好像真没听过的,就说了不知道;问熟悉和工作中用了什么协议,主要是http,顺便说了点关于protobuf的东西,然后问给一个通过protobuf进行程间通信的,能不能完成,答肯定可以完成,不过要花点时间。
项目相关:说说自己做的最拿手的一个项目。没说好
开发流程:问了拿到需求后怎么开发,答了以前老东家的开发流程;问了现在公司有没有用敏捷开发,答用了cicd
手撕代码:输入一串字符串,如果前后两个字串一样,就拆成两个,然后对剩余的子串做这样的操作,如此类推,计算出一共有多少个字串,要求说出思路,然后写出伪代码,主要是边界条件。思路倒是说出来了,伪代码用的递归,基本写了,事后想了想漏了当字串是零时不应该继续下去的这个边界条件,卒。

侥幸有二面的机会,重点和一面一样,主要问工作上的,基础知识稍微问了一些比较浅层的。
一开始问了一下各份工作上做了些什么项目,然后问了在工作上,拿到需求之后做了什么步骤,同时介绍了他们部门的整体流程。
重点来了,叫我介绍一个自己做过的项目(游戏服务器)中,负责的系统,是怎么和别人做的系统进行交互的,然后我就基于实现说了一遍,不满意,让我把设计抽象出来再说一次,然而还是没能答出满意的答案,在这里扯了好久,可能面试官觉得也问不出什么来,才开始问其他的一些比较零碎的东西。
定位问题:问工作中遇到的最难的问题,并且是怎么定位的。
跨平台:介绍项目的时候,说了下当时的项目是跨平台的(window/linux),问怎么实现。
设计模式:基于上面说的,又问了一遍工作/项目上用过的设计模式,答:只看到了用单例模式,知道简单工厂、工厂、观察者。
网络:网络四层,tcp三次握手,用过socket没有(答工作上轮不到我用,自己写过代码测试),用socket开启一个服务的流程。
数据库:问项目中是怎么用的,随便介绍了下就没问下去了。
指针:工作中指针用得多不多,答用智能指针,就没了。
测试代码:问写完代码后,怎么测试对不对,答写单元测试和端到端测试。
编译工具:问用过gcc和cmake这些编译相关的没(简历上写了),答工作中的项目用cmake生成的makefile进行编译,个人也学习了一下cmake的用法。
数据结构和算法:问有没有学过数据结构(提问时提到了列表和树),工作中用了哪些数据结构,顺便引申后面的手撕算法。
手撕代码:在一个只有0和1的矩阵(二维数据)里,找到最大的都是1的正方形,并且输出面积。问题本身简单,因为要求是正方形,那样就更简单了,不需要编译通过,在记事本上写代码,写完后介绍自己的思路,问我还能不能提高效率,想了想发现有更好的实现,就说了一遍思路。最后面试官好像也没发现什么问题,估计问题是临时出的,考察重点是思路和代码风格,因为事后发现我又漏了一种的情况,而且讲思路的时候把面试官也绕进去了,所以他也没发现我漏了一种情况。
最后问我有什么要问的,就问了一下职位主要是开发什么的,整个二面花了快一个半小时,完全没问c++相关的,讲设计的花了最长的时间,后面估计花了十几二十分钟问了点其他的知识,手撕代码环节(包括问答)大概花了半个小时。讲设计这块确实讲得不满意,现场的话可以画画图,应该能更好的表达,所以这次怕是真的卒了。
#华为社招##社招##面经##华为#
全部评论
感谢分享! 欢迎大佬参加我们的社招面经征集活动呀!有京东卡可以拿~社招面经征集|参加过社招的牛友,来发面经吧,拿京东卡~:https://www.nowcoder.com/discuss/374207 #社招面经#
点赞 回复
分享
发布于 2020-03-25 15:44

相关推荐

2 24 评论
分享
牛客网
牛客企业服务