华为初面 + 综合面试(Java 技术面)附上面试题
其实,综面和初面差别其实没有太大,不过感觉这还是和面试官有关系,因为在我同行的队友中,他们有的就被问到了一些比较底层的知识点比如 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 或者 Sprin
g Cloud 的话,那么面试官也可能会同时问你这两个技术,比如他可能会问你 springboot 和 spring 的区别。 所以,一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。
另外,AOP 实现原理、动态代理和静态代理、Spring IOC 的初始化过程、IOC 原理、自己怎么实现一个 IOC 容器? 这些东西都是经常会被问到的。
Spring
==========
Spring Bean 的作用域?
如何用基于 Java 配置的方式配置 Spring?
请说下 Spring Bean 的生命周期?
Spring Bean 的作用域之间有什么区别?
请举例说明如何在 Spring 中注入一个 Java Collection?
Spring 框架中有哪些不同类型的事件?
Spring 框架中都用到了哪些设计模式?
开发中主要使用 Spring 的什么技术 ?
Spring 面试专题与答案
“RabbitMQ?”“Kafka?”“RocketMQ?”...在日常学习与开发过程中,我们常常听到消息队列这个关键词。这也是面试经常被问到的
由于篇幅限制小编,以上面试专题答案全部整理在一个 pdf 文档里了,文档里的详解资料太全面,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙转发+关注私信(面试)获取哦
BATJ 真实面试题
=============
美团点评篇章
美团点评篇章
评论