综合面试
初面完之后,面试官指引我去综合面试区等待综合面试。
综合面试整体感觉和初面差不多,不过在综合面试阶段面试官首先问了我的籍贯,工作意向和理想的工作地点。
这里我表示并不挑,因为作为一个外省人,自从一个人出省读书以后,就已经对在哪生活在哪上班没有太多顾虑。
接着面试官问了我一些成绩怎样,家庭情况之类问题之后,开始问我的项目经验。(虽然我不太明白,为什么综合面试还会问初面中问过的关于项目经验的问题)这里我就不在重复了,何处是一样,我大致和面试官交流了一下我们的项目内容。
这一块内容完成之后,感觉综合面试整个流程已经基本结束了,面试官开始跟我介绍他们项目组的工作地点(深圳),工作内容,以及平常的一些工作,同时还给我介绍了一些将来工作中需要了解的基本知识——比如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
==========