五年时间,对于程序员来说,真的非常非常宝贵,掉的头发都够塞满键盘的缝隙了。就说新一代偶像 TFboys 吧,你应该知道这个组合吧,黄金合作期也就三五年的时间,现在基本上就处于各自单飞(solo)的状态了。
我是一名大专生,因此,大学上了两年,大三出去培训了两个月,然后就参加工作了。
大学的两年时光,对我来说是漫长的,换个难听的词叫做 “煎熬” 。真的是没有任何进步,说原地踏步都算是褒奖了,严格意义上说,是在走下坡路。为什么这么说呢?因为我英语连 4 级也没有过,考了两次啊,想想都难过,做个学渣我容易吗我?想想当年高考的英语成绩可是考了 136 分啊,不算好,也算正常水平了吧。
对于程序员来说,英语是相当重要的,不可否认吧?但我竟然连 4 级都没有过——惭愧惭愧,快来羞辱我吧。那为什么两年时间,我没有进步呢?我来当个标本从里到外剖析一下。
第一,我失去了目标。上小学、上初中、上高中,目标很明确,考大学走出农村嘛。考了两年,竟然只能上个大专,无所谓了,瞎胡混呗。
第二,学校氛围不行。我的自控力很一般,是个随波逐流的家伙。大专院校嘛,自然学生的整体学习能力和本科相比,还是有差距的。没办法,只能自甘堕落。
第三,我打游戏,不学习。上课还带着笔记本打单机游戏呢,那时候最爱的就是极品飞车,现在提起来,还能想起当年的那股兴奋劲。
谁要是也有这种症状,赶紧治疗,还来得及。
知耻而后勇,学会笨鸟先飞
阿里一面:(spring+HashMap+微服务)
看过Spring的源码吗,开局 暴击。
Class.forName0和ClassLoaderloaderClass0有什么区别,开局暴击*2..
ConcurrentHashMap的原理,为什么是线程安全的,让你设计怎么实现读写安全
Mysq|中有哪些索引,你能想到哪些作为索引的数据结构, HashMap , B+树,前缀树,面试官提示跳表
Spring事务传播机制的应用
线程安全的单例模式,写完DCL写静态内部类的时候写错了,汗
正向代理和反向代理
http是有状态的吗, tcp呢,为什么http是无状态的
RPC和微服务框架了解吗
阿里二面(项目,项目,项目)
先聊了聊项目
JVM
OOM问题和StackOverflow有什么区别
好像问了些网络方面的知识
思考题,64匹马,8个赛道,最少比多少场可以找出最快的4匹马?首先说15,后来想到了13,最后在网上搜的答案是11,挺有意思的一道题
总结:二面面试官项目方面聊的多一些,然后就是思考题和算法题,也差不多一个小时吧,当时从6点直接面到8点多,饭都没吃,突出一个惨
阿里三面:(项目+高并发+设计模式)
聊聊sychronized关键字,用法,底层实现,偏向锁,轻量级锁,自旋锁
聊聊偏向锁,轻量级锁的原理和过程
除了sychronized ,还有啥,聊聊ReentrantLock ,底层一个继承了AQS的实现类
聊聊AQS , volatile修饰的state ,加锁过程,公平锁和非公平锁的实现
TCP和UDP的区别
三次握手和四次挥手的过程,为什么这样
聊聊ThreadLocal ,为什么要用threadLocal , ThreadLocalMap中, key和value分别哪个是强引用,哪个是弱引用,我迷之坚持value是强引用。。。
线程的状态以及状态变化过程
CMS和G1的区别
聊聊Spring中的动态代理,实现了接口的用JDK动态代理,未实现接口的通过CGlib动态代理,动态代理和静态代理的区别
常用设计模式,策略模式的原理和应用
面试官介绍部门和业务的时候很热情也很详细,然后说等HR通知~
找到适合自己的时间管理术,这样学习起来就会事半功倍
关于时间的管理,首先:
要有一个大一点的计划,比如年计划,月计划,周计划。
这一年大体上要打到什么目标,这个月要学习哪些知识。
然后是精确到小时的日计划。
每一天,哪个时间段做什么都详细的列出来。
\
其次,不要太盲目自信。 很多人其实从来没有完成过自己的计划。如果你真的能够完成你制定的每一个计划,那现在的你一定已经很了不起了。如果你几乎没有完成过自己的计划,那么你一开始制定日计划的时候,不要给自己太多的任务。因为如果你一旦完不成,就会影响自己的信心。最好的方式是,一开始制定一些简单的计划,然后每天很容易就能做到,然后慢慢的去增加自己每天的任务量。 最后找到一个最适合自己的节奏。这个过程可能需要很长的时间,因为你要不断的去尝试,去改进。找到最适合自己的作息时间去休息,找到自己工作状态最好的时间去工作等等。
我的学习资料分享
文章中提到的spring全家桶学习资料,还有互联网架构师1000+面试题,都是可以免费分享给大家的
有需要的小伙伴可添加小助理:ikt4435 免费货区
第一份,spring全家桶全部带走,带你玩转Spring全家桶、
保证你能收获到以下
掌握Spring全家桶主要部分的开发、实现
可以使用Spring MVC、Spring Boot、Spring Cloud及Spring Data进行大部分的Spring开发
初步了解使用微服务、了解使用Spring进行微服务的设计实现
奠定扎实的Spring技术,具备了一定的独立开发的能力
01,Spring入门到精通
第一部分 Spring架构分析
第二部分 Spring应用开发
01,Spring入门到精通
02,Spring Boot技术内幕
第一部分 基础应用开发
第二部分 分布式应用开发
第三部分 核心技术源代码分析
02,Spring Boot技术内幕
03,springMVC学习指南
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。
文章中提到的spring全家桶学习资料,还有互联网架构师1000+面试题,都是可以免费分享给大家
添加小助理免费货区:ikt4435