好久没有更新文章了,不是因为偷懒,是因为忙着准备面试了,现在总结下最近的面试心得,希望对大家有帮助
时刻准备着
每次入职一个公司,我们都是想着一直干下去的,但是这只不过是我们的一厢情愿罢了,工作中有太多的不可控,导致我们决定离开。
等你想要离开的时候,再去看一些招聘需求,再去准备面试是非常费时间的,而且效果也不是很理想,你只能了解到皮毛,在面试过程中,一旦问到实际使用场景中的问题,你就答不上来了。
软件开发也是分行业的,你在这家公司从事的软件开发经验,也许在另一家是用不上的。除非你一直在一个行业内从事软件开发,但是这就会导致你的就业机会变少,也许在本地这个行业的公司比较少,你换工作的机会就会变少,每次想要跳槽时的风险也就比较高。
在平时工作中,一定不要满足于本公司的技术栈,要多看看其他大的公司的招聘需求,看看其他公司都在用什么技术。抽闲时间多去了解,多去写些demo,掌握这门技术的使用,以后你跳槽面试的时候就会用的到。
所以说做开发还是挺累的,不仅上班干活,下班还要充电。累啊,但是没有办法,生活就是这样,如果你想躺着,那你可能就真的躺着了。
高薪的工作很多,但是要求都比较高,不仅需要掌握基础,而且还要技术面广和深,希望你能主导公司的技术选型以及解决线上生产环境中的问题,提高生产力。只有你提前准备好,面试才能轻松应对。
准备简历
想要获得面试机会,就得投简历,但是很多人可能会遇到你投了很多简历没人约你面试,这时候自己就很很沮丧。
首先一定要保证自己的简历没问题,对于没有工作经验的人来说,面试机会真的是挺少的,站在求职者的角度来说,我提倡简历的包装。站在企业角度来说,肯定痛恨这种不诚信的行为。
简历包装讲究方法,不要把别人的直接copy过来,否则面试的时候你就挂了。现在好多在线教育平台,慕课网,51cto都有实战视频,找一个跟着全程敲一遍,理解透,写到你的简历上。准备两个就好了,然后就是把面试宝典上的题看一下。
对于有工作经验的人来说,简历在描述项目的时候,不要像写作文一样去描述,描述你上一家公司的业务没什么用的,下一家公司很少会关注你的业务能力,那你要让人家看到你会什么。hr搜索简历的时候是根据技术点来搜的,比如:Jquery,Vue,React,Spring,Redis,MQ.
所以对于项目描述,简单描述一下就好,剩下就用1.2.3来列出你用到的技术,让hr一眼就看到你会的东西,这样才能提高简历的筛选率,得到更多的面试机会。
投简历
简历平台有很多,我就挑我使用过的说:
- 智联招聘
这个上面培训机构比较多,但是也不用担心,这些机构一般只会搜寻一年工作经验的人。只要把他们公司在网上一百度,就会知道是不是培训机构。
这上面的公司比较杂,大的小的都有,处理简历速度还是可以的。名气比较大,最早期的招聘平台,你如果着急找工作的话,可以一键海投,每天去面试提高面试经验,总有一家要你的。
- 猎聘
这上面的公司比较大,基本上都委托猎头帮他们招聘,这上面的猎头都挺专业的,比一般hr素养要高。他们筛选简历的标准也高,一般得3年工作经验起步,前后端得得会,对主流的开发技术都有了解,对分布式,集群,微服务使用过。
这个只要你简历写得好,不用投,就会有猎头来联系你,推荐你去一些公司面试。不过面试要求都比较高,就看你自己的能力了。
还有就是上面的海外工作机会超多,每天都有好多人问你愿不愿意去海外工作,可靠性与安全性就不得而知了,自己小心点。
- boss
这上面主要推boss面对面聊,就是可以直接像微信一样聊天。回复速度最快,上面的hr也多,可以直接了解到对方的招聘需求,但是小公司居多,可能薪资给不到你。
但是骗子公司也多,之前这个就出过问题,说是公司资质审查不严格,好像现在正规了。自己注意点,如果面试地点比较偏,就不要去了。
- 拉钩
这个可能是薪资给的最高的了,上面的都是全行业招聘,而拉钩主打互联网招聘,上面的都是上市公司,以及正在融资的公司。给的福利待遇都非常好,就是要求普遍高,一般人基本都打不到要求,自己可以平时多去看看那上面的招聘需求,然后提前学习那些技术,提前准备。
这上面只有一线大城市的招聘,其他地方的招聘几乎没有,除非你是上海,北京,深圳等这些大城市的。
总之多个招聘平台都投,增加自己的面试机会,多多益善。
java面试总结
因为我是java开发,所以面试的都是后端开发,只能总结一些这方面的题。
4年开发经验
- java基础
这个基本没问,但是每个人都必须掌握,我基础也不怎么好。主要是基础内的一些原理
- 会问多线程编程模式以及你怎么用的
- 集合的底层原理及实现 hashmap hashset
- JVM构成
- GC原理
- 各种IO的区别及运用
- 各种线程锁的区别
- 设计模式,自己实现生产者消费者模式
- 单例模式实现,且需线程安全
- 各种常见算法。冒泡算是简单入门级,需要知道各种算法复杂度以及使用条件
- 框架部分
- Spring Ioc 原理
- Spring aop原理,动态代理
- SpringBoot 自动配置实现
- SpringCloud 服务发现注册实现
- 微服务理解
- 分布式系统事务
- MQ使用,如何保障消息一致性和可靠性
- 数据库方面
- 数据库调优
- sql调优
- 数据库横向纵向拆分实现
- 数据库主从复制,读写分离实现
- 存储过程
- 复杂sql书写
- redis雪崩,击穿,穿透如何避免
- redis可靠性实现
- mongodb可靠性实现
- 数据一致性实现
- 前端部分
这个一般都会问,但是我不是很擅长,我只停留在前端框架的使用,之前三星数据找全栈,我去试了下。。。。。。。
- 闭包的理解
- es6中有哪些新特性,你怎么用的
- vue的双向数据绑定实现原理
- react和vue的区别
- node相关内容
- typescript的相关内容
- jquery的相关内容
- 前端工程构建过程
总结
当你的工作年限不断上涨的时候,你换一份工作,公司对你的要求也越来越高,如果你还停留在写业务代码的水平,是很难找到一份好的工作的。
要对各个框架的底层原理了解,要花时间阅读源码,提高自己的程序设计思想。在微服务分布式方面要多下工夫,前端也必须会主流的开发框架,即使你前端基础不够深入。
面试很大一部分靠运气,可能面试你的那些东西都用不到,但是你必须要会。有时你准备了好多,但是人家没问你,问的都是你没准备的。同一家公司,不同的面试者,可能没有你准备充分的人面试通过了,你没有。但是不管什么时候你的基础一定要扎实,很多工作年限高的人可能都挂在基础上,因为只玩框架,早就把基础忘了。但是一些大公司对基础这方面的考察时非常重要的。
因为我也没有面试太多的公司,在小城市,没有太多的大公司,所以总结的只有这些,希望想要换工作的人,提前准备。等到面试的时候再准备,打击还是挺大的,尤其当你面试的时候发现你好多东西都不知道。
最后祝大家都能找到好工作。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。