华为初⾯+综合⾯试(Java技术⾯)附上⾯试题
比特币stacking华为⾯试整体流程⼤致分为笔试,性格测试,⾯试,综合⾯试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和⽹易腾讯差不多。最后的代码题,相⽐下来就简单很多,⼀共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 类的原理
java8环境配置win10多线程⾯试专题与答案
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 框架中有哪些不同类型的事件?
mysql面试题常问Spring 框架中都⽤到了哪些设计模式?
开发中主要使⽤ Spring 的什么技术 ?
Spring⾯试专题与答案
git下载文件命令“RabbitMQ?”“Kafka?”“RocketMQ?”...在⽇常学习与开发过程中,我们常常听到消息队列这个关键词。这也是⾯试经常被问到的
由于篇幅限制⼩编,以上⾯试专题答案全部整理在⼀个pdf⽂档⾥了,⽂档⾥的详解资料太全⾯,所以只把部分知识点截图出来粗略的介绍,每个⼩节点⾥⾯都有更细化的内容!有需要的程序猿(媛)可以帮忙转发+关注私信(⾯试)获取哦
BATJ真实⾯试题
美团点评篇章
>an event什么意思

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。