转载

java面试总结

好久没有更新文章了,不是因为偷懒,是因为忙着准备面试了,现在总结下最近的面试心得,希望对大家有帮助

时刻准备着

每次入职一个公司,我们都是想着一直干下去的,但是这只不过是我们的一厢情愿罢了,工作中有太多的不可控,导致我们决定离开。

等你想要离开的时候,再去看一些招聘需求,再去准备面试是非常费时间的,而且效果也不是很理想,你只能了解到皮毛,在面试过程中,一旦问到实际使用场景中的问题,你就答不上来了。

软件开发也是分行业的,你在这家公司从事的软件开发经验,也许在另一家是用不上的。除非你一直在一个行业内从事软件开发,但是这就会导致你的就业机会变少,也许在本地这个行业的公司比较少,你换工作的机会就会变少,每次想要跳槽时的风险也就比较高。

在平时工作中,一定不要满足于本公司的技术栈,要多看看其他大的公司的招聘需求,看看其他公司都在用什么技术。抽闲时间多去了解,多去写些demo,掌握这门技术的使用,以后你跳槽面试的时候就会用的到。

所以说做开发还是挺累的,不仅上班干活,下班还要充电。累啊,但是没有办法,生活就是这样,如果你想躺着,那你可能就真的躺着了。

高薪的工作很多,但是要求都比较高,不仅需要掌握基础,而且还要技术面广和深,希望你能主导公司的技术选型以及解决线上生产环境中的问题,提高生产力。只有你提前准备好,面试才能轻松应对。

准备简历

想要获得面试机会,就得投简历,但是很多人可能会遇到你投了很多简历没人约你面试,这时候自己就很很沮丧。

首先一定要保证自己的简历没问题,对于没有工作经验的人来说,面试机会真的是挺少的,站在求职者的角度来说,我提倡简历的包装。站在企业角度来说,肯定痛恨这种不诚信的行为。

简历包装讲究方法,不要把别人的直接copy过来,否则面试的时候你就挂了。现在好多在线教育平台,慕课网,51cto都有实战视频,找一个跟着全程敲一遍,理解透,写到你的简历上。准备两个就好了,然后就是把面试宝典上的题看一下。

对于有工作经验的人来说,简历在描述项目的时候,不要像写作文一样去描述,描述你上一家公司的业务没什么用的,下一家公司很少会关注你的业务能力,那你要让人家看到你会什么。hr搜索简历的时候是根据技术点来搜的,比如:Jquery,Vue,React,Spring,Redis,MQ.

所以对于项目描述,简单描述一下就好,剩下就用1.2.3来列出你用到的技术,让hr一眼就看到你会的东西,这样才能提高简历的筛选率,得到更多的面试机会。

投简历

简历平台有很多,我就挑我使用过的说:

  • 智联招聘

这个上面培训机构比较多,但是也不用担心,这些机构一般只会搜寻一年工作经验的人。只要把他们公司在网上一百度,就会知道是不是培训机构。

这上面的公司比较杂,大的小的都有,处理简历速度还是可以的。名气比较大,最早期的招聘平台,你如果着急找工作的话,可以一键海投,每天去面试提高面试经验,总有一家要你的。

  • 猎聘

这上面的公司比较大,基本上都委托猎头帮他们招聘,这上面的猎头都挺专业的,比一般hr素养要高。他们筛选简历的标准也高,一般得3年工作经验起步,前后端得得会,对主流的开发技术都有了解,对分布式,集群,微服务使用过。

这个只要你简历写得好,不用投,就会有猎头来联系你,推荐你去一些公司面试。不过面试要求都比较高,就看你自己的能力了。

还有就是上面的海外工作机会超多,每天都有好多人问你愿不愿意去海外工作,可靠性与安全性就不得而知了,自己小心点。

  • boss

这上面主要推boss面对面聊,就是可以直接像微信一样聊天。回复速度最快,上面的hr也多,可以直接了解到对方的招聘需求,但是小公司居多,可能薪资给不到你。

但是骗子公司也多,之前这个就出过问题,说是公司资质审查不严格,好像现在正规了。自己注意点,如果面试地点比较偏,就不要去了。

  • 拉钩

这个可能是薪资给的最高的了,上面的都是全行业招聘,而拉钩主打互联网招聘,上面的都是上市公司,以及正在融资的公司。给的福利待遇都非常好,就是要求普遍高,一般人基本都打不到要求,自己可以平时多去看看那上面的招聘需求,然后提前学习那些技术,提前准备。

这上面只有一线大城市的招聘,其他地方的招聘几乎没有,除非你是上海,北京,深圳等这些大城市的。

总之多个招聘平台都投,增加自己的面试机会,多多益善。

java面试总结

因为我是java开发,所以面试的都是后端开发,只能总结一些这方面的题。

4年开发经验

  • java基础

这个基本没问,但是每个人都必须掌握,我基础也不怎么好。主要是基础内的一些原理

  1. 会问多线程编程模式以及你怎么用的
  2. 集合的底层原理及实现 hashmap hashset
  3. JVM构成
  4. GC原理
  5. 各种IO的区别及运用
  6. 各种线程锁的区别
  7. 设计模式,自己实现生产者消费者模式
  8. 单例模式实现,且需线程安全
  9. 各种常见算法。冒泡算是简单入门级,需要知道各种算法复杂度以及使用条件
  • 框架部分
  1. Spring Ioc 原理
  2. Spring aop原理,动态代理
  3. SpringBoot 自动配置实现
  4. SpringCloud 服务发现注册实现
  5. 微服务理解
  6. 分布式系统事务
  7. MQ使用,如何保障消息一致性和可靠性
  • 数据库方面
  1. 数据库调优
  2. sql调优
  3. 数据库横向纵向拆分实现
  4. 数据库主从复制,读写分离实现
  5. 存储过程
  6. 复杂sql书写
  7. redis雪崩,击穿,穿透如何避免
  8. redis可靠性实现
  9. mongodb可靠性实现
  10. 数据一致性实现
  • 前端部分

    这个一般都会问,但是我不是很擅长,我只停留在前端框架的使用,之前三星数据找全栈,我去试了下。。。。。。。

  1. 闭包的理解
  2. es6中有哪些新特性,你怎么用的
  3. vue的双向数据绑定实现原理
  4. react和vue的区别
  5. node相关内容
  6. typescript的相关内容
  7. jquery的相关内容
  8. 前端工程构建过程

总结

当你的工作年限不断上涨的时候,你换一份工作,公司对你的要求也越来越高,如果你还停留在写业务代码的水平,是很难找到一份好的工作的。

要对各个框架的底层原理了解,要花时间阅读源码,提高自己的程序设计思想。在微服务分布式方面要多下工夫,前端也必须会主流的开发框架,即使你前端基础不够深入。

面试很大一部分靠运气,可能面试你的那些东西都用不到,但是你必须要会。有时你准备了好多,但是人家没问你,问的都是你没准备的。同一家公司,不同的面试者,可能没有你准备充分的人面试通过了,你没有。但是不管什么时候你的基础一定要扎实,很多工作年限高的人可能都挂在基础上,因为只玩框架,早就把基础忘了。但是一些大公司对基础这方面的考察时非常重要的。

因为我也没有面试太多的公司,在小城市,没有太多的大公司,所以总结的只有这些,希望想要换工作的人,提前准备。等到面试的时候再准备,打击还是挺大的,尤其当你面试的时候发现你好多东西都不知道。

最后祝大家都能找到好工作。

java面试总结

原文  https://segmentfault.com/a/1190000019424433
正文到此结束
Loading...