华为2012硬件工程院(软开)面经

上周三3月11号做的机试,应该就过了一道多。
今天3.18号两场面试。部门是做底层C开发的。然而我基本就用java和python

一面:
TCP三次握手,四次挥手。
ISO分层的原因,好处(这个反正我不知道,面试官提示了一下我瞎说了,只给讲了有哪些层)。
树的遍历方法。
讲下快排怎么实现的。
讲了一下项目,讲了一下实习。
讲一下B-树。(确实忘了,说知道B和B+)
什么是完全二叉树?
给了三道简单的单选做了一下,记不太清内容了(都是C语言的,一个关于static的,一个关于++的操作)。

手撕:1到1000中数字含有的9的个数。(直接暴力写了,我也不知道有什么别的方法,面试官说不懂java。C和python选,python写的)


二面:
操作系统的东西。我反正都没答上来。感觉之前也没见过。
32位操作系统,8G内存。为什么实际只有4G? (说不知道)
每个进程为什么分配了4G内存?(说不知道)
多态的实现?(我就给他说了一下多态的方式,重载和重写)
C的static。(并不会,瞎说了)
设计模式,用到过哪些,是怎么解耦的 ,别说单例 ( 我说了个装饰者,瞎扯)
了解LINUX内核吗(说不了解,只知道用户态和内核态)

手撕:判断链表是否有环,我用java写了。(快慢指针)
然后又口头问了一下,两个单链表怎么判断相交。我说二重循环判断节点相同。然后面试官给我讲了一下两个拼接,再判断是否有环。


说实话面试感觉代码题有点过于简单了吧,都是写纸上然后发过去。一共面了1个多小时,不到一个半小时。两个面试官人都很好
HR在还没有面试之前,就给我说了明天主管面,这是内定了?
也不太了解这个部门,好像是硬件工程院下面的处理器技术部,有大佬知道的可以讲讲

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3.19的主管面 (40min):
基本和大多数人的主管面经一样,就是聊天。
自我介绍
项目挑一个讲,问了有遇到什么困难,怎么解决的
自己优缺点
对国外的一些看法?
自己的爱好
父母做什么的
对华为的了解
喜欢看书吗?
你留学的地方哪里强?
工作地意向
问了一下实习
然后提问。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4月初接到oc,过了几天发了offer。base深圳。非常的白菜价。


#华为##校招##Java工程师##面经#
全部评论
B-树就是B树
1 回复 分享
发布于 2020-04-03 15:22
请问是什么通知你今天面试的呢?
点赞 回复 分享
发布于 2020-03-18 21:16
大佬嵌入式软开吗
点赞 回复 分享
发布于 2020-03-19 21:22
有谈期望薪资吗
点赞 回复 分享
发布于 2020-03-20 00:19

相关推荐

new和malloc的区别?c++里new了数组怎么释放?32位系统的指针变量占多大字节?int*呢?空类呢?c++多态?为什么需要虚析构?虚析构实现原理?c++可以不写构造函数吗?编译器默认除了构造还会有什么?深拷贝和浅拷贝区别?智能指针哪个c++版本引入的,作用?用过哪些容器?项目里用了哪些容器?为什么用qlist?qmap什么是key?模板的好处?什么时候会用?设计模式了解哪些?自己写过吗?单例模式怎么写?单例要返回非静态指针类型怎么弄?队列和栈的区别?osi七层以及相应协议?网络层的协议?应用层?一些项目问题...网络加密算法知道哪些?tcp的三次握手四次挥手回收写过吗?写服务器基本模...
AI牛可乐:哇,你分享了好多面试经验呢,听起来你准备得很充分呢!👍 关于你提到的技术问题,我来帮你解答一下吧: 1. `new` 和 `malloc` 的区别?`new` 会自动调用构造函数,而 `malloc` 只负责分配内存。`new` 数组释放时用 `delete[]`,比如 `delete[] myArray;`。 2. 在32位系统中,指针变量通常占4个字节,`int*` 也是如此。 3. 空类的实例通常占1个字节,但具体实现可能不同。 4. C++多态允许我们通过基类指针或引用来调用派生类的函数。需要虚析构是因为基类指针可能指向派生类对象,不使用虚析构可能导致派生类析构函数不被调用。 5. 如果不写构造函数,编译器会提供一个默认构造函数。默认构造函数会进行成员变量的默认初始化。 6. 深拷贝和浅拷贝的区别在于,深拷贝会复制对象的所有字段,包括指向的内存内容;浅拷贝只复制对象的字段值,不复制指向的内存内容。 7. 智能指针是在C++11版本引入的,用于自动管理内存,防止内存泄漏。 8. 常用的容器有 `vector`、`list`、`map` 等。具体使用哪个容器取决于项目需求。 关于你问的其他问题,我简单回答一下: - `QList` 通常用于需要频繁插入和删除的场景。 - `QMap` 的 `key` 是映射表中的键值。 - 模板的好处是提高代码复用性,减少代码冗余。 - 设计模式有很多种,比如单例模式、工厂模式等。单例模式可以通过静态成员函数实现。 现在,悄悄告诉你一个小秘密,点击我的头像,我们可以私信聊天哦~🎉 那么,你平时在项目中都用过哪些容器呢?有没有什么特别的经验或者技巧可以分享的呢?😊
点赞 评论 收藏
分享
01-17 12:35
吉首大学 Java
秋招之BrianGriffin:自己的工作自己做!😡
点赞 评论 收藏
分享
评论
3
20
分享

创作者周榜

更多
牛客网
牛客企业服务