Skip to content

Commit 80dcaca

Browse files
committed
no message
1 parent 23ef436 commit 80dcaca

11 files changed

Lines changed: 183 additions & 121 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*Work like a Trojan, Let's build rockets!*
1+
*Work like a Trojan, from zero to hero.*
22

33
||||||||
44
| :--------------------------: | :-------------------: | :----------------------: | :---------------------: | :--------------: | :---------------: | :----------------------: |
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
阿里Java研发工程师实习面经,附面试技巧
2+
https://zhuanlan.zhihu.com/p/35486363
3+
4+
5+
6+
十分幸运 拿到阿里云的offer,感谢周围无数人对我的支持和鼓励,所以写篇面经希望可以帮助大家。
7+
8+
面试中,运气占很大一部分的,所以你们若是没有通过,一定不要气馁,继续加油。
9+
10+
每个努力的人 都值得钦佩,无论结果如何。
11+
12+
**我说点面试中的小技巧,可以帮助你更好发挥:**
13+
14+
注意,这个方法比较适合我,不一定适合你哇!
15+
16+
> 完全可以将学到的知识讲给自己(或者讲给别人),若是自己(别人)听你的讲述 能够听懂(使用自己的话去讲,而不要有专业术语),那么说明 你已经学好了。其原理就是 费曼学习法。感兴趣的人可以去了解下。
17+
> 我个人习惯于 将一个知识点 分解为 xxx是什么,xxx有什么用,如何实现这个功能的(核心的工作流程),缺点是什么(以及为什么有这个缺点,缺点如何补救)。
18+
> 举个例子, CMS垃圾回收器回收时为什么有内存碎片 , 首先分解为CMS是什么,内存碎片是什么?CMS垃圾回收器有什么用和Serial ParNew Parallel 等比较,优势,CMS是如何工作的,来实现尽可能降低响应时间的,为什么CMS有这个缺点,它是如何取舍的,如何补救这个缺点。
19+
20+
这些子问题都回答好,那么基本上这个问题就学的可以了。
21+
22+
这样可以检测你是否学好,而且,若是你都没法条理清晰地讲给自己,那怎么条理清晰地讲给面试官呢?
23+
24+
**接下来就写下三次面试题目:**
25+
26+
27+
28+
**阿里一面:**
29+
30+
1.个人介绍
31+
32+
2.项目介绍,项目介绍首先讲最好的项目,因为后面的项目可能都没时间去讲。
33+
34+
3.数据库 联合索引 用法
35+
36+
4.Spring IOC初始化过程
37+
38+
5.ConcurrentHashMap实现原理
39+
40+
6.CAS操作
41+
42+
7.ReentrantLock和Synchronized区别
43+
44+
8.CMS垃圾回收过程
45+
46+
9.Full GC次数太多了,如何优化。
47+
48+
10.直接内存 如何 管理的
49+
50+
11.线程池 参数。
51+
52+
线程创建的过程。有几种方法。
53+
54+
线程资源如何回收的。
55+
56+
一个题目:如何将一个二叉树,转为有序的双向链表。
57+
58+
59+
60+
**阿里二面**
61+
62+
1.自我介绍
63+
64+
2.项目介绍
65+
66+
3.堆和栈介绍
67+
68+
4.线程安全
69+
70+
5.乐观锁悲观锁
71+
72+
6.TCP三次握手
73+
74+
7.socket通信有关,select epoll
75+
76+
8.项目中的难点有哪些
77+
78+
我答得是:使用一个组合的设计模式 去解决文章多级分类的问题。
79+
80+
81+
82+
**交叉面**
83+
84+
1.自我介绍
85+
86+
2.项目介绍
87+
88+
3.做这个项目的动机
89+
90+
4.TCP UDP IP ICMP
91+
92+
5.知不知道一个应用层协议,运输层既没有使用TCP,也没有使用UDP
93+
94+
6.二叉树中求最长路径。
95+
96+
递归的方式去实现。
97+
98+
先求左子树深度,后求右子树深度。相加减一,那么就是以当前结点为转折点的解。
99+
100+
然后递归求左子树的解,和右子树的解。返回当前解,左子树解,右子树解中最大的解。时间复杂度为O(n*logn)
101+
102+
其实可以优化到O(n) ,其实不必求两个子树的解,只需要求较深子树的解即可。
103+
104+
7.有什么想问我的吗?
105+
106+
//您觉得成为一个顶尖高手,最重要的是什么呢?
107+
108+
兴趣。做自己感兴趣的事,就不会很疲惫,也会很开心。 //这一点我深有同感。
109+
110+
抓住你的兴趣,做你想做的事,自己驱动自己进步。
111+
112+
//很感谢您的建议。
113+
114+
115+
116+
**HR面试**
117+
118+
1.自我介绍。
119+
120+
2.项目介绍。项目中难点。得过啥奖没。
121+
122+
3.项目有什么不足?
123+
124+
4.前面的面试 发挥怎么样?
125+
126+
5.前面的面试难度怎样?
127+
128+
愿大家都能拿到自己理想的offer!
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
## README
2+
3+
这里将每天更新一篇面经,希望对后续的面试有所帮助!也能全面的梳理基础知识
4+

interview/大厂之路.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
| WPS | | | 北京 | [服务端开发工程师](http://join.wps.cn/#/job/7f1c61bb-b8ad-447e-b14d-2354d35c486f?_k=ttbd4w) | |
6060
| 豆瓣 | | | 北京 | [产品开发工程师](https://jobs.douban.com/jobs/campus/#position-cam_cpkf) | |
6161
| 珍爱网 | | | 深圳 | [Java开发工程师](http://zhenai.zhiye.com/zpdetail/190143546) | |
62-
| 360 | | | 北京 | [岗位列表](http://campus.chinahr.com/2019/qihu360/job_intern.html) | |
62+
| 360 | 12日内推截止 | | 北京 | [岗位列表](http://campus.chinahr.com/2019/qihu360/job_intern.html) | |
6363
| 唯品会 | | | 上海/广州 | [JAVA开发工程师](http://campus.vip.com/rec_1.html) | |
6464
| 蜻蜓FM | | | 上海 | [软件开发工程师](http://sss.qingting.fm/campus/campus.html?v=4) | |
6565
| 斗鱼 | | | 武汉 | | |

interview/面经资源.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,11 @@ http://youzhixueyuan.com/ali-interview-one-side-two-sides-three-sides-hr-four-si
4444

4545

4646
如何准备校招技术面试
47-
http://brianway.github.io/2017/09/29/how-to-prepare-a-technical-interview/
47+
http://brianway.github.io/2017/09/29/how-to-prepare-a-technical-interview/
48+
49+
50+
51+
52+
53+
互联网公司校招Java面试题总结及答案——网易 - CSDN博客
54+
https://blog.csdn.net/d12345678a/article/details/54376929

notes/JavaArchitecture/03 Java 并发编程.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ ReentrantLock 多了一些高级功能。
686686

687687

688688

689-
#### synchronized与lock的区别,使用场景。看过synchronized的源码没?【阿里面经Onenote】
689+
#### synchronized与lock的区别,使用场景。看过synchronized的源码没?
690690

691691
- synchronized与lock的区别
692692

@@ -1080,8 +1080,6 @@ synchronized不仅保证可见性,而且还保证原子性,因为,只有
10801080
- ThreadLocal是JDK引入的一种机制,它用于解决线程间共享变量,使用ThreadLocal声明的变量,即使在线程中属于全局变量,针对每个线程来讲,这个变量也是独立的。
10811081
- volatile变量每次被线程访问时,都强迫线程从主内存中重读该变量的最新值,而当该变量发生修改变化时,也会强迫线程将最新的值刷新回主内存中。这样一来,不同的线程都能及时的看到该变量的最新值。
10821082

1083-
1084-
10851083
### 14. Java是否有内存泄露和内存溢出【阿里面经Onenote】
10861084

10871085
- 静态集合类,使用Set、Vector、HashMap等集合类的时候需要特别注意。当这些类被定义成静态的时候,由于他们的生命周期跟应用程序一样长,这时候就有可能发生内存泄漏。

notes/JavaArchitecture/07 Java Web.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,11 +225,13 @@ https://www.cnblogs.com/iOS-mt/p/5619440.html
225225

226226

227227

228-
## 8. JavaEE中的三层结构和MVC
228+
## 8. Cookie&Session的格式、传输的内容
229+
229230

230-
http://www.blogjava.net/crazycy/archive/2006/07/03/56387.html
231231

232+
## 9. JavaEE中的三层结构和MVC
232233

234+
http://www.blogjava.net/crazycy/archive/2006/07/03/56387.html
233235

234236

235237

@@ -893,11 +895,17 @@ Spring MVC的工作原理如下图所示: 
893895

894896

895897

898+
# 四、MyBatis
899+
900+
## 1. Mybatis原理
896901

902+
## 2. Hibernate了解吗,Mybatis和Hibernate的区别
897903

898904

899905

906+
# 五、Tomcat
900907

908+
## 1. tomcat加载基本流程,涉及到的参数
901909

902910

903911

notes/JavaWeb/Mybatis.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,7 @@
88

99
- [springmvc-mybatis-learning](https://github.com/brianway/springmvc-mybatis-learning)
1010

11+
1. Spring、SpringMVC原理、流程
1112

12-
13+
1. Mybatis原理
14+
2. Hibernate了解吗,Mybatis和Hibernate的区别

notes/数据结构与算法.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,30 @@ bool operator<(const Student& otherStudent){
733733

734734
## 二、递归和回溯法
735735

736+
### 1. 例题
737+
738+
739+
740+
### 2. 排列问题
741+
742+
743+
744+
### 3. 组合问题
745+
746+
747+
748+
### 4. 回溯法的剪枝
749+
750+
751+
752+
### 5. 二维平面回溯法
753+
754+
755+
756+
### 6. floodfill算法
757+
758+
759+
736760

737761

738762
## 三、动态规划

notes/机器学习.md

Whitespace-only changes.

0 commit comments

Comments
 (0)