华为初面 + 综合面试(Java 技术面)附上面试题,share 给大家~
华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共 3 道题目,前 2 题很容易就 AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了 75%的样例,一直没有发现剩下的 25%可能存在什么坑。
笔试部分太久远,我就不怎么回忆了。直接将面试。
面试
如果说腾讯的面试是挥金如土(毕竟每个面试官都配了一件单独的房间),那华为就是戒奢宁俭。两个大会议厅坐满了面试官,其中一个是初面面试区,另一边是综合面试区。初面区的面试官会来等待区一个一个叫我们过去面试。
面试桌采取一对一的形式,技术岗的面试通知短信虽然没有通知说要带简历,但是仍然带了一份以免中途需要。(事实证明这是一个明智的选择)
初面
初面面试官点到我的名字之后,我跟着面试官去他的那个位置。
面试流程和大多数互联网公司流程差不多,首先让自己介绍一个比较满意的项目。(可能想通过这个项目了解我们的技能程度)在我面试准备时,其实我就纠结过这个问题。因为在我的项目中,有两个项目是我比较满意的,第一个主要做后台,第二个主要做虚拟环境和数据交互。
“我有两个项目是比较满意的”,我先抛出这句话,希望面试官能够给机会让我将两个项目都讲一下,“我先讲一下第一个我们当时做的换课平台,当时本来是一个课程项目,但是我们在这个课程项目之上,结合当时校内急需换课这个需求,做出了这么一个换课平台”,(首先提出项目目的),“然后这个项目大概实现了一个怎样怎样的功能”(抛出产品功能),“我在项目中主要负责后台开发和数据库交互功能”(说下在项目中的角色),“整个项目的架构大致如下。。。。”(项目如何实现),我拿着纸笔在草稿上给面试官画着后台所有的系统架构和数据流动方式,同时将涉及到的重要点和技术点都说了下。
按照之前整理过的描述流程,我将整个换课平台项目描述了一遍,中途偶尔面试官会问一下技术细节,不过都不是很难,可能因为我没有使用“SSH”三大框架,而是使用纯 JSP 进行的底层开发,所以面试官也不是太好提问。
不过有意思的是,在我介绍到项目中实现了实时聊天的时候,面试官提了两个小问题,是我之前项目中没碰到,而实际生产产品中可能遇到的问题:第一,我们的实时聊天是直接 P2P,这样需要双方在同一子网下,那如果现在双方不在同一子网下,外网某个移动端客户 A 可以访问后台服务器 B,这时候某个 web 端 C 同时也可以访问服务器,这个时候 A 和 C 是互相不同的,现在如果我们仍然想让他们通信怎么办;第二,考虑大量用户同时访问后台服务器的时候,该如何处理。
第一个我首先考虑到用服务器作为中介,但是当时老是想着可能打两个聊天信息会对服务器造成压力,所以一直很犹豫要不要用后台服务器作为中转,以及,作为中转该如何操作。不过面试官稍微提醒我可以用服务器作为中转,这时候我突然意识到只要服务器收到之后,立刻将消息转发出去就可以了,不用走数据库。这时候我也才一直到为什么我以前分析微信的聊天服务时,会将所有的文本消息和图片消息发送到微信的后台服务器,而且简单的直接 P2P 对话,主要还是为了克服网络问题
第二个不难,考虑云计算中的负载均衡,我大致说了下思路,选取一台主机作为负载均衡调度机,其他的作为工作机即可。
第一个项目大概讲了十分钟,不知道是因为刚开始面试还是我项目确实对面试官的胃口。
第一个项目完了以后,面试官翻了下我的简历,“你要不说下你另一个项目?”我有 blabla 说了一通。
“有什么难点?”“项目中遇到过哪些问题?”
说完之后,初面基本也就结束了,整个过程十分和谐(可能我遇到的面试官比较 nice)。最后让我提一个问题,我大概问了下投递的这个岗位今后具体会是什么工作,面试官大致给我讲了下。(我投递的云计算开发岗,PaaS 方向)
综合面试
初面完之后,面试官指引我去综合面试区等待综合面试。
综合面试整体感觉和初面差不多,不过在综合面试阶段面试官首先问了我的籍贯,工作意向和理想的工作地点。
这里我表示并不挑,因为作为一个外省人,自从一个人出省读书以后,就已经对在哪生活在哪上班没有太多顾虑。
接着面试官问了我一些成绩怎样,家庭情况之类问题之后,开始问我的项目经验。(虽然我不太明白,为什么综合面试还会问初面中问过的关于项目经验的问题)这里我就不在重复了,何处是一样,我大致和面试官交流了一下我们的项目内容。
这一块内容完成之后,感觉综合面试整个流程已经基本结束了,面试官开始跟我介绍他们项目组的工作地点(深圳),工作内容,以及平常的一些工作,同时还给我介绍了一些将来工作中需要了解的基本知识——比如 docker 容器,k8s,部分国内国外的公有云的运行原理,让我回去之后提前自学一下。(到这里我开始感觉有戏了)
其实,综面和初面差别其实没有太大,不过感觉这还是和面试官有关系,因为在我同行的队友中,他们有的就被问到了一些比较底层的知识点比如 Java 有什么特点之类,也有被问及面向对象的优点等等(这些我都没被问到)。
综述
总的来说,其实华为的面试并没有我想象中的困难(因为听说华为今年缩招,我还以为面试会故意很难)。简历准备很重要, 尤其是项目经历,个人 blog,github 这类容易加分的内容,最好能够写出来。两场面试相比较同伴更加顺利,有一定程度上就是简历给我加了分。
因为我面试的是云计算开发岗,所以我在项目中重新添加了很多 Java 相关的项目经历,虽然不是很重要,但是至少能让面试官从中了解我在 Java 方面有不少经验。
面试时候不用太紧张,在之前腾讯面试中我就明显很紧张,脑子一片发蒙,而这次华为面试就感觉稍微舒服很多,不知道是因为已经经历过几次面试,还是因为面试官带动的比较好。
最后还挺重要的要能够及时清楚地描述自己想说的内容。毕竟将来工作岗位中,少不了和同事的交流。另外清晰的描诉对面试官了解你,了解你的项目会很有帮助。因此,不论是在给面试官讲述自己项目的时候,还是在回答面试官问题,亦或是想表达自己观点的时候,都需要清晰的表达。如果一时语塞,可以尝试停顿一下,整理下思路然后重新描述,只要面试官能够理解你的话,一般有些停顿是不会有什么大碍。
最后的最后,希望能够收到华为的 offer 吧_(:зゝ∠)_目前正在“排队待录取”中。
更新:
10 月 10 号面试
10 月 17 日收到进入资源池通知
10 月 24 日收到 offer 短信,通知 27 日签约(估计是两方协议)。
27 日签约,同时决定结束持续了 6 个月的备考生活,准备工作。
为大家准备了必备的一些面试资料
Java 多线程
说一说自己对于 synchronized 关键字的了解
说说自己是怎么使用 synchronized 关键字,在项目中用到了吗
讲一下 synchronized 关键字的底层原理
说说 JDK1.6 之后的 synchronized 关键字底层做了哪些优化,可以详细介绍一下这些优化吗
谈谈 synchronized 和 ReenTrantLock 的区别
说说 synchronized 关键字和 volatile 关键字的区别
为什么要用线程池?
实现 Runnable 接口和 Callable 接口的区别执行 execute()方法和 submit()方法的区别是什么呢?如何创建线程池介绍一下 Atomic 原子类 JUC 包中的原子类是哪 4 类?
讲讲 AtomicInteger 的使用能不能给我简单介绍一下 AtomicInteger 类的原理
多线程面试专题与答案
JVM 的设计目标是提供一个基于抽象规格描述的计算机模型,为解释程序开发人员提供很好的灵活性,同时也确保 Java 代码可在符合该规范的任何系统上运行。JVM 对其实现的某些方面给出了具体的定义,特别是对 Java 可执行代码,即字节码(Bytecode)的格式给出了明确的规格。这一规格包括操作码和操作数的语法和数值、标识符的数值表示方式、以及 Java 类文件中的 Java 对象、常量缓冲池在 JVM 的存储映象。这些定义为 JVM 解释器开发人员提供了所需的信息和开发环境。Java 的设计者希望给开发人员以随心所欲使用 Java 的自由。
JVM 内存模型以及分区,需要详细到每个区放什么。
GC 收集器有哪些?
CMS 收集器与 G1 收集器的特点。Minor GC 与 Full GC 分别在什么时候发生?
堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
简述 java 垃圾回收机制?java 中垃圾收集的方法有哪些?
类加载器双亲委派模型机制?
什么是类加载器,类加载器有哪些?
简述 java 内存分配与回收策率以及 Minor GC 和 Major GC
Redis
为什么要用 redis /为什么要用缓存?
为什么要用 redis 而不用 map/guava 做缓存?redis 和 memcached 的区别?
上述 Redis 分布式锁的缺点?
redis 常见数据结构以及使用场景分析 redis 内存淘汰机制(MySQL 里有 2000w 数据,Redis 中只存 20w 的数据,如何保证 Redis 中的数据都是热点数据?)redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)?
缓存雪崩和缓存穿透问题解决方案?
如何解决 Redis 的并发竞争 Key 问题?
如何保证缓存与数据库双写时的数据一致性?
Redis 面试专题与答案
Spring 一般是不可避免的,如果你的简历上注明了你会 Spring Boot 或者 Spring Cloud 的话,那么面试官也可能会同时问你这两个技术,比如他可能会问你 springboot 和 spring 的区别。 所以,一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。另外,AOP 实现原理、动态代理和静态代理、Spring IOC 的初始化过程、IOC 原理、自己怎么实现一个 IOC 容器? 这些东西都是经常会被问到的。
Spring
Spring Bean 的作用域?
如何用基于 Java 配置的方式配置 Spring?
请说下 Spring Bean 的生命周期?
Spring Bean 的作用域之间有什么区别?
请举例说明如何在 Spring 中注入一个 Java Collection?
Spring 框架中有哪些不同类型的事件?
Spring 框架中都用到了哪些设计模式?
开发中主要使用 Spring 的什么技术 ?
“RabbitMQ?”“Kafka?”“RocketMQ?”...在日常学习与开发过程中,我们常常听到消息队列这个关键词。这也是面试经常被问到的。
以上提及到的所有的笔记内容、面试题、简历等资料,感兴趣的朋友可以私信【学习】获取
华为初面 + 综合面试(Java 技术面)附上面试题,share 给大家~相关推荐
- 华为初面+综合面试(技术面)
华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果.笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多.最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已 ...
- 华为初面 + 综合面试,附上面试题,share 给大家~
华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果.笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多.最后的代码题,相比下来就简单很多,一共 3 道题目,前 2 题很容易就 A ...
- 想去Google做AI?先看完这套面试指南(附面试题)
作者 | 阿司匹林 出品 | 人工智能头条(公众号ID:AI_Thinker) 凭借强大的技术实力和良好的工作氛围,Google 对求职者一直有着强大吸引力. 虽然 Google 在几年前就已经 ...
- android定位!如何化身BAT面试收割机?附面试题答案
起因 事情是这样的. 4年前毕业那会,呆在公司的短视频项目,做 视频.那会做得比抖音还早,但是由于短视频太烧钱了,项目被公司关掉了.当时需要开发横竖屏直播/异步视频的场景,就研究下了市场上的 app, ...
- 多线程和高并发搞不懂?还谈什么面试?(附面试题解析)
前言: 作为一个 Java开发人员,多线程是一个逃不掉的话题,不管是工作还是面试,但理解起来比较模糊难懂,因为多线程程序在跑起来的时候比较难于观察和跟踪.搞懂多线程并发知识,可以在面试的时候和周围人拉 ...
- 华为社招嵌入式软件面试_华为嵌入式软件开发面试经验
面试过程: 本人是国内211,985高校的CS专业小硕,成绩还算凑合.去年十月份就感到临近毕业的焦虑,心里着急投了一堆简历,结果大部分都石沉大海.有几家公司给了反应,面试时才发现自己知识的薄弱.然后我 ...
- 200个最常见的JAVA面试问题(附答案)
本文内容: 20个最常见的JAVA面试问题(附答案) 13个单例模式JAVA面试问题(附答案) 说说JVM和垃圾收集是如何工作的(附答案) 说说如何避免JAVA线程死锁(附答案) Java中HashS ...
- 记华为综合面试(IT集成类)
9月的某天收到华为的HR面试通知,说准备一下电话面试,一个周六的下午接到了技术面试的电话,大概聊了半个多小时,主要聊聊我的工作内容,面对客户的需求怎么处理,存储的架构原理,会那些技术,总体感觉不错,聊 ...
- 2022年字节跳动JAVA面试,JVM调优和调优,附面试题答案
面试必问:JVM原理和调优(附面试题) 一.详解JVM内存模型 二.JVM中一次完整的GC流程是怎样的 三.GC垃圾回收的算法有哪些 四.简单说说你了解的类加载器 五.双亲委派机制是什么,有什么好处, ...
最新文章
- 关于DWG文件转换成PDF
- 中国力量占领KDD:包揽“大数据领域世界杯”全部冠亚军,北航拿下最佳学生论文奖...
- ES6标准学习: 4、数组的扩展
- python编程入门指南pdf-python编程初学者指南
- tomcat通过apr配置https
- IPSec的安全性如何?—微云MPLS
- MapReduce示例——WordCount(统计单词)
- 视觉检测无脊椎机器人或vipir_机器人视觉引导系统原理及解决方案
- ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第七天(非原创)
- plsql(轻量版)_流程控制
- 自定义验证规则ValidationAttribute的使用
- 腾讯面试Android必问11题,我说的,不信就来看看
- PHP开发套件采用wamp时配置PHPStorm
- android的辅助代码,跟App相关的Android辅助类
- 总结——达内视频(一)
- 【Python实现】运输问题的表上作业法(一):利用伏格尔 (Vogel) 法寻找初始基可行解
- SwiftyJSON解析本地JSON文件
- Openxml 笔记
- OpenCV视频处理操作
- 网易博客中的心情随笔