File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- * Work like a Trojan, Let's build rockets! *
1+ * Work like a Trojan, from zero to hero. *
22
33| Ⅰ | Ⅱ | Ⅲ | Ⅳ | Ⅴ | Ⅵ | Ⅶ |
44| :--------------------------: | :-------------------: | :----------------------: | :---------------------: | :--------------: | :---------------: | :----------------------: |
Original file line number Diff line number Diff line change 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!
Original file line number Diff line number Diff line change 1+ ## README
2+
3+ 这里将每天更新一篇面经,希望对后续的面试有所帮助!也能全面的梳理基础知识
4+
Original file line number Diff line number Diff line change 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| 斗鱼 | | | 武汉 | | |
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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等集合类的时候需要特别注意。当这些类被定义成静态的时候,由于他们的生命周期跟应用程序一样长,这时候就有可能发生内存泄漏。
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff line change 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的区别
Original file line number Diff line number Diff 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## 三、动态规划
You can’t perform that action at this time.
0 commit comments