华为Java工程师社招开发岗技术四面
一面(上午,除了技术方面,闲聊差不多一个小时多一点)比较基础,JDK相关方面以及开发中的基本API:
- 简单说说面向对象的特征以及六大原则
- 谈谈final、finally、finalize的区别
- Java中==、equals与hashCode的区别和联系
- 谈谈Java容器ArrayList、LinkedList、HashMap、HashSet的理解,以及应用场景
- 谈谈线程的基本状态,其中的wait() sleep() yield()方法的区别。
二面(下午)相对来说比较深一点:
- JVM性能调优的监控工具了解那些?
- 简单谈谈JVM内存模型,以及volatile关键字
- 垃圾收集器与内存分配策略
- 垃圾收集算法
- MySQL几种常用的存储引擎区别
- 数据库的隔离级别
最后一个算法方面的:
5亿整数的大文件,怎么排?
以上是前几天的。
前几天发了个一二面经,看评论里有些人口气挺大的哟。
光是JVM基础有几个能剖析清楚的?
别照本宣科看了一些博文资料,拿几个jvm内存栈、堆、方法区……能说几个专业名词术语就自以为简单了。
有些人就是“背课文”式的面试,背下来了就觉得自己“大牛”了。
面试官问:如何理解Java内存模型。
伪大牛答:Java内存模型有方法区、堆、栈组成。
……
是不是面试官来听你“背诵”专业术语名词的????
国庆后继续的上下午三面、四面
- Java内存模型
- full gc怎么触发
- gc算法
- JVM回收策略
- ClassLoader原理和应用
- 高吞吐量的话用哪种gc算法
- ConcurrentHashMap和HashMap
- volatile的底层如何实现,怎么就能保住可见性了?
- 有参与过开源的项目吗?
- 线程池原理,拒绝策略,核心线程数
- 1亿个手机号码,判断重复
- 线程之间的交互方式有哪些?有没有线程交互的封装类 (join)
下午四面
- 项目介绍
- 两次点击,怎么防止重复下订单
- 数据库表设计,索引
- Redis的缓存淘汰策略、更新策略
- dubbo、netty、RPC介绍原理
- 限流算法
- zk挂了怎么办
- 分布式锁的实现方式,zk实现和Redis实现的比较
- 秒杀场景设计,应付突然的爆发流量
- 分布式数据一致性
- 一致性哈希
- 消息队列原理介绍
- 注解的原理
- 数据库原理,数据库中间件,索引优化
- ioc原理、aop原理和应用
- 大数据相关,MapReduce
- Docker的原理