forked from itwanger/toBeBetterJavaer
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
554 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
--- | ||
title: Java 基础背诵版八股文必看🍉 | ||
shortTitle: Java 基础背诵版八股文必看🍉 | ||
shortTitle: Java基础背诵版八股文🍉 | ||
category: | ||
- 求职面试 | ||
tag: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
--- | ||
title: Java 虚拟机背诵版八股文必看🍉 | ||
shortTitle: Java 虚拟机背诵版八股文必看🍉 | ||
shortTitle: JVM背诵版八股文🍉 | ||
category: | ||
- 求职面试 | ||
tag: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
--- | ||
title: Java 并发编程背诵版八股文必看🍉 | ||
shortTitle: Java 并发编程背诵版八股文必看🍉 | ||
shortTitle: 并发编程背诵版八股文🍉 | ||
category: | ||
- 求职面试 | ||
tag: | ||
|
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,218 @@ | ||
--- | ||
title: 16天5面,我终于拿到了鹅厂Offer | ||
shortTitle: 16天5面,我终于拿到了鹅厂Offer | ||
author: 瘦风 | ||
category: | ||
- 博客园 | ||
--- | ||
|
||
> 上一篇 [我在华为OD的275天](https://www.cnblogs.com/shoufeng/p/14322931.html) 最后说,要讲讲自己为什么会坚持在年底离职,以及离开后去了哪儿。趁周末,鸽王本鸽来交下作业😂 | ||
## 1 - 为什么要在年底离职 | ||
|
||
### 1.1 好像都没有什么成长 | ||
|
||
20年11月初的一天,在同事们讨论“某某被其他公司高薪挖去了,钱景无限”的消息。 | ||
|
||
我忽然惊觉,自己来到华为半年多,除了熟悉内部的系统和流程,好像没有什么成长和进步? | ||
|
||
不禁反思:只有厉害的人才会被挖,现在这个状态的我,在市场上值几个钱? | ||
|
||
### 1.2 投简历,找面试官求虐 | ||
|
||
刚好想起了之前的一个同事在离职聚会上分享的经验: | ||
|
||
> 技术人不能闭门造车,要多交流,多看看外面的动态。 | ||
> | ||
> 如果感觉自己太安逸了,那就把简历挂出去,去了解其他公司用的是什么技术,他们更关注哪些痛点?面几次你就有方向了。 | ||
这时候起了个念头:找面试官求虐,以此来鞭策自己,进而更好地制定学习方向。 | ||
|
||
于是我重新下载了某聘软件,在首页推荐里投了几家公司。 | ||
|
||
### 1.3 开始面试了…… | ||
|
||
11月10号投的简历,当天就有2家预约了11号下午的线上面试,其中就有鹅厂🐧 | ||
|
||
好巧不巧,10号晚上要双十一业务保障,一直到第二天凌晨2点半才下班。 | ||
|
||
熬夜太伤身,还好能申请调休一天,也省去了找借口请假🙊 | ||
|
||
这段时间集中面了3家: | ||
|
||
> 第1个是广州的公司,11号当晚就完成了2轮线上面试,开得有点低,就婉拒了; | ||
> | ||
> 第2个就是本文的重点——鹅厂; | ||
> | ||
> 第3个是做跨境电商的公司,一面就跪(恭喜它荣升为“在我有限的工作经历中,面试体验最差的2家公司之一”🙂️) | ||
### 1.4 鹅厂,去还是不去? | ||
|
||
一直有一个大厂梦,奈何菜鸟一枚,之前试过好几次,都跪在技术面了。 | ||
|
||
所以想了个曲线救国的方法:先在其他单位积累着,有机会了再争取大厂的机会💪 | ||
|
||
很幸运,也很猝不及防,这次竟然通过了鹅厂的所有面试。 | ||
|
||
虽然已到年底,但是要是错过这么难得的机会,下次就不知道什么时候才能再通关了。 | ||
|
||
所以,**年后拿到年终再跳槽 vs 已到手的鹅厂 Offer,我选择了后者😄** | ||
|
||
## 2 - 我的鹅厂面试 | ||
|
||
如本文标题所说,16天通关五轮面试,第17天,我终于收到了期盼已久的鹅厂 Offer。 | ||
|
||
做技术的同学,可能会对鹅厂的面试很好奇,他们都会问哪些问题呢? | ||
|
||
我应聘的是大数据开发(Java)岗位,接下来对我的面试做个梳理,也给想来鹅厂的同学们一个参考😊 | ||
|
||
> 几乎所有问题都能在网络上找到很详细的答案。 | ||
> | ||
> 篇幅有限,这里只写题目和一些引申的问题。 | ||
### 2.1 技术一面 | ||
|
||
#### Java 语言相关 | ||
|
||
1、对 Java 的类加载器有没有了解?如何自定义类加载器? | ||
|
||
> 引申:一个类能被加载多次吗?`java/javax` 包下的类会被加载多次吗? | ||
2、Java 中要怎么创建一个对象🐘? | ||
|
||
3、对多线程有了解吗?在什么场景下需要使用多线程? | ||
|
||
> 引申:对 **线程安全** 的认识;对线程池的了解,以及各个线程池的适用场景。 | ||
4、对垃圾回收的了解? | ||
|
||
5、对 JVM 分代的了解? | ||
|
||
6、NIO 的了解?用过 RandomAccessFile 吗? | ||
|
||
> 引申:对 **同步、异步,阻塞、非阻塞** 的理解? | ||
> | ||
> 多路复用 IO 的优势? | ||
7、ArrayList 和 LinkedList 的区别?各自的适用场景? | ||
|
||
8、实现一个 Hash 集合,需要考虑哪些因素? | ||
|
||
> 引申:JDK 对 HashMap 的设计关键点,比如初识容量,扩所容,链表转红黑树,以及 JDK 7 和 JDK 8 的区别等等。 | ||
#### 通用学科相关 | ||
|
||
1、TCP 的三次握手; | ||
|
||
2、Linux 的常用命令,比如: | ||
|
||
> ```shell | ||
> ps aux / ps -ef、top C | ||
> df -h、du -sh *、free -g | ||
> vmstat、mpstat、iostat、netstat | ||
> ``` | ||
> | ||
#### 项目框架相关 | ||
1、Kafka 和其他 MQ 的区别?它的吞吐量为什么高? | ||
> 消费者主动 pull 数据,目的是:控制消费节奏,还可以重复消费; | ||
> | ||
> 吞吐量高:各 partition 顺序写 IO,批量刷新到磁盘(OS 的 pageCache 负责刷盘,Kafka 不用管),比随机 IO 快;读取数据基于 sendfile 的 Zero Copy;批量数据压缩…… | ||
2、Hive 和 SparkSQL 的区别? | ||
3、Ranger 的权限模型、权限对象,鉴权过程,策略如何刷新…… | ||
#### 问题定位方法 | ||
1、ssh 连接失败,如何定位? | ||
> 是否能 ping 通(DNS是否正确)、对端端口是否开了防火墙、对端服务是否正常…… | ||
2、运行 Java 程序的服务器,CPU 使用率达到 100%,如何定位? | ||
> `ps aux | grep xxx` 或 `jps` 命令找到 Java 的进程号 `pid`, | ||
> | ||
> 然后用 `top -Hp pid` 命令查看其阻塞的线程序号,**将其转换为16进制**; | ||
> | ||
> 再通过 `jstack pid` 命令跟踪此 Java 进程的堆栈,搜索上述转换来的16进制线程号,即可找到对应的线程名及其堆栈信息…… | ||
3、Java 程序发生了内存溢出,如何定位? | ||
> `jmap` 工具查看堆栈信息,看 Eden、Old 区的变化…… | ||
### 2.2 技术二面 | ||
二面主要是过往项目相关的问题: | ||
1、Solr 和 Elasticsearch 的区别 / 优劣? | ||
2、对 Elasticsearch 的优化,它的索引过程,选主过程等问题…… | ||
3、项目中遇到的难题,如何解决的? | ||
blabla 有少量的基础问题和一面有重复,还有几个和大数据相关的问题,记不太清了😅 | ||
### 2.3 技术三面 | ||
这一面是总监面,更多是个人关于职业发展的一些想法,以及在之前公司的成长和收获、对下一份工作的期望等问题。 | ||
但也问了几个技术问题。印象比较深的是这个: | ||
> 1个1TB 的大文件,每行都只是1个数字,无重复,8GB 内存,要怎么对这个文件进行排序? | ||
首先想到的是 MapReduce 的思路,拆分小文件,分批排序,最后合并。 | ||
**此时连环追问来了:** | ||
> Q:如何尽可能多的利用内存呢? | ||
> | ||
> A:用位图法的思路,对数字按顺序映射。(对映射方法要有基本的了解) | ||
> | ||
> Q:如果在排好序之后,还需要快速查找呢? | ||
> | ||
> A:可以做索引,类似 Redis 的跳表,通过多级索引提高查找速度。 | ||
> | ||
> Q:索引查找的还是文件。要如何才能更多地利用内存呢? | ||
> | ||
> A:那就要添加缓存了,把读取过的数字缓存到内存中。 | ||
> | ||
> Q:缓存应该满足什么特点呢? | ||
> | ||
> A:应该使用 LRU 型的缓存。 | ||
*呼。。总算是追问完了这道题😂* | ||
* * * | ||
还有 GM 面和 HR 面,问题都和个人经历相关,这里就略去不表。 | ||
## 3 - 文末的絮叨 | ||
**入职鹅厂已经1月有余。不同的岗位,不同的工作内容,也是不同的挑战。** | ||
感受比较深的是,作为程序员,还是要自我驱动,努力提升个人技术能力,横向纵向都要扩充,这样才能走得长远。 | ||
最后再广告下,有想要加入鹅厂、或者有疑问的同学,可以留言,或关注公众号加我好友,我尽力给你解答😊 | ||
> ## 版权声明 | ||
> | ||
> 作者:[瘦风(https://healchow.com)](https://healchow.com) | ||
> | ||
> 出处:[博客园-瘦风的南墙(https://www.cnblogs.com/shoufeng)](https://www.cnblogs.com/shoufeng) | ||
> | ||
> **感谢阅读,公众号 [「瘦风的南墙」](https://mp.weixin.qq.com/s/EPUA_78SNmVqoCB4CcrJag) ,手机端阅读更佳,还有其他福利和心得输出,欢迎扫码关注🤝** | ||
> | ||
> [ | ||
> | ||
>  | ||
> | ||
> ](https://mp.weixin.qq.com/s/EPUA_78SNmVqoCB4CcrJag) | ||
> | ||
> 本文版权归博主所有,欢迎转载,但 **\[必须在页面明显位置标明原文链接\]**,否则博主保留追究相关人士法律责任的权利。 | ||
>参考链接:[https://www.cnblogs.com/shoufeng/p/14381680.html](https://www.cnblogs.com/shoufeng/p/14381680.html),整理:沉默王二 |
Oops, something went wrong.