从八月初开始找工作,一直找到八月底,快二十多天,中间去一家公司上了两天班,最终还是因为工作环境和工作所处行业而放弃,在放弃后的第二天,再次找到了一份比之前近一点,工资高一点,工作环境好一点,工作行业偏互联网的工作。而这个时候时间点已经来到了八月二十五。这也是我最长的一次找工作的经历了。
第一次换工作用了一周,第二份就用了两个小时,而这份用了快二十多天
具体原因有很多,大致如下:
一是因为好久没有找工作:我记得,上次出门找工作还是在三年前,因为进58只是电话里聊了一个多小时就搞定了,所以这个不算
二是因为找工作的时间点不对:一般都是在年初才找工作,而我是在在坑爹的七八月份,不仅工作机会不是很多,而且比较热,每天面试两家公司,短短十天就晒黑了好多。
三是准备不足:之前是打算在年后再找工作的,而结果就是孤狼项目还未结束(就剩最后的联调和上线)就来了广州,导致面试经验不足,记得第一家公司问的一些基础都回答不上来
四是大公司病:在58大部分用到的技术都是公司架构部的,而世面上的通用技术反而很少涉及,这样导致了在面试的时候问到相关框架和技术时回答不上来
五:个人原因:上面提到的四点,归根到底还是个人原因,只要自己准备充分,不管多久没有招工作,不管什么时候找工作,不管问到什么,不管在哪个公司,都能找到自己满意的工作,所以,第五点才是最重要的点。如果平常多学习,多总结,也不会在面试的时候什么都回答不上来,如果平常多学习,多总结,公司的那些内部框架,也能研究个七七八八,而且
在58两年,学到的不仅仅是技术,还有团队之内和团队之间的相处和交流和配合,项目管理经验,工作处理流程等等
总共面试了二十家左右的公司,有大有小,面试、笔试什么的都有。面试问到的东西也都是各种各样,大致总结一下
Java基础
语法:比如异常、equals、try catch等
集合:比如HashMap,ConcurrentHashMap、ArrayList等,问得比较浅的是一些面试题上常有的,问得比较深的就是一些底层实现方式
线程和并发:这个基本上每个公司都问到了
缓存
主要是Memcached和Redis
高并发
问到了一些分布式服务,比如dubbo,spring-cloud
mysql
连接查询、索引(复合索引)、优化、垂直划分,水平划分、锁
JVM
gc算法,内存模型、内存分配、参数调优等
分布式
一般是分布式缓存、分布式事务、分布式服务、分表分库、mq消息
MyBatis
插件机制等,动态sql,$和#的区别以及底层实现方式
Spring
mvc处理流程,实例化流程,生命周期、AOP等
算法
Top N问题,堆排序等
设计模式
单例、工厂方法、抽象工厂、模板、策略、责任链、装饰器等
工作经验
工作中发生的问题、用到的技术,以及解决方案
针对以上的情况,以后要做到如下
java基础
包括集合框架整体架构,常用数据结构内部实现、静态类和静态方法、内部类、匿名类等
线程和并发:参考《java并发编程》
mysql:这个要整体看一遍,参考《mysql技术内幕》,重点关注索引、查询优化、慢查询
缓存:Redis
JVM:参考Pocket上搜集的文章、《深入理解Java虚拟机》
分布式:分布式缓存Redis,分布式事务:自己整理资料,分布式服务:微服务,spring-cloud。
mq:Rabbit实战
MyBatis:参考源码
Spring:参考《Spring实战和源码》
以后,工作中遇到的问题,好好总结