金三银四,作为Java程序员的你为什么面试总拿不到高薪?
Posted java小霜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了金三银四,作为Java程序员的你为什么面试总拿不到高薪?相关的知识,希望对你有一定的参考价值。
金三银四指的是每年的三四月份都是人才招聘的高峰期,因为跟春节和春运紧接,到人才市场,人都是满的,所以称为金三,伴随的四月则称为银四,每一年职场迎来“金三银四”。
总结做完了,得失看清了,奖金拿到了,“算账”过后的职场人可谓一身轻松。有什么计划,可以放心做起来,一场接一场的招聘会更是把职场人的心撩拨得蠢蠢欲动。迂回作战、直奔目标、潇洒“裸辞”。
如果有了换工作的想法,建议采用国外的做法,提前三个月到半年,每月拿出四分之一的薪水作为“跳槽资金”,以应对风险。
今年的金三银四即将过去,如果你面试时总被砍价,总是拿不到期望的高薪,我给你总结了以下两个点:
1、知其然不知其所以然
做了多年技术,开发了很多业务应用,但似乎并未思考过种种 技术选择背后的逻辑。所以,我并不放心把具有一定深度的任务交给他。更重要的是,我并不确定他未来技术能力的成长潜力有多大。
2、知识积累不成系统
在面试中,面试者似乎无法完整、清晰地描述自己所开发的系统,或者使用的相关技术。所以,我会怀疑他是否具备高效解决复杂问题、设计复杂系统的能力。
现在可以不夸张的说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司都能有立足之地,也是从程序员飞跃架构师的启动器。
总结了从初级到中级到高级到架构需要掌握的技能树
主要包含几个方面:
第一个是基础:
比如对集合类,并发包,IO/NIO,内存模型,泛型,异常,反射等有深入了解,最好是看过源码了解底层的设计。比如一般面试都会问ConcurrentHashMap,CopyOnWrite,线程池,CAS,AQS,虚拟机优化等知识点,因为这些对互联网的企业是绝对重要的。有些人这关都过不了,还发闹骚说这些没什么用,为什么要面试,这就不对了。
举一例子,在使用线程池时候,因为使用了无界队列,在远程服务异常情况下导致内存飙升,怎么去解决?你要是连线程池都不清楚,你怎么去玩?
再举一例,由于对ThreadLocal理解出错,使用它做线程安全的控制,导致没能实现真的线程安全。所以作为一个拿三万的JAVA程序员这点基础是要有的。
第二你需要有全面的互联网技术相关知识:
从底层说起,你起码得深入了解mysql,redis,mongodb,nginx,tomcat,rpc,jms等方面的知识。比如MySQL,你要知道常见的参数设置,存储引擎怎么去选择,还需要了解常见的索引引擎,知道怎么去选择。知道怎么去设计表,怎么优化sql,怎么根据执行计划去调优。高级的你需要去做分库分表的设计和优化,一般互联网企业的数据库都是读写分离,还会垂直与水平拆分,所以这个也有经验的成分在里面。
Redis,Mongodb都是需要了解原理,需要会调整参数的,而nginx和tomcat几乎都是JAVA互联网方面必配。
RPC相关的也很多,必须各种网络协议,序列化技术,SOA等等,你要有一个深入的理解。现在应用比较广的rpc框架,在国内就是dubbo了,可以自行搜索。
至于jms相关的起码得了解原理吧,一般情况下不是专门开发中间件系统和支撑系统的不需要了解太多细节,国内企业常用的主要是activeMQ和kafka。
第三就是编程能力,编程思想,算法能力,架构能力:
首先30K程序员对算法的要求并不太高,但是排序和查询的基本算法得会。编程思想是必须的,问你个AOP和IOC你起码的清清楚楚,设计模式不说每种都用过,但也能了解个几种吧。
最后就是架构能力,这种不是说要你设计个多牛逼多高并发的系统,起码让你做一个秒杀系统,防重请求的设计能快速搞定而没有坑吧。
今年虽然说相对可能是比较“冷”,但是我相信这一段时间离职或者求职的人应该也是大有人在。
读者分享
Java面试资料
需要的小伙伴后台私信【面试】免费领取
2022年迎接“金三银四”,为什么面试你总拿不到高薪?你所不知道的面试技巧
简历的写法
简历怎么写,相信大家都已经非常清楚,不过我还是要重申一遍。那就是,整体看起来要简洁大方,重点突出,不要弄些花哨的东西,身高、体重、血型、党员这些基本可以忽略不写的,除非一些比较奇葩的公司。对了,我指的是进那些一般意义上的社会企业,国企和事业单位另说。
一般一两页 A4 纸就足够了。简历内容从前至后包括:姓名,联系方式,教育经历,个人能力,工作/项目经验。这些妥妥的足够了,顶多再加个获奖经历,为公司奋斗这种口号就不要喊了。总之要尽量突出你的个人能力和项目经验。
面试技巧
自信
在面试的过程中,自信是最好的武器。同样的一件事情,由自信的人口中说出来就比不自信的人口中说出来更具说服力。别人不是你,不可能完全了解你的内心,你表现出来的东西,就是别人对你的了解。所以,即使你平时再内向,再不自信,一定要在面试的时候,鼓足勇气,勇敢表现一次。但是,自信要适度,否则自信过头就是自负了。有些年轻人年轻气盛,觉得老子天下第一,会让人觉得不成熟,不踏实,甚至反感。
淡定
淡定能让你更加自信。千万不要紧张,你紧张了面试官可能比你还紧张。
坦诚
实话实说,不要弄虚作假,也不要夸大其词。不会的东西就直接说不会好了,否则顾左右而言他,你觉得是自作聪明,面试官其实能看出来你是在回避的。还有,你不确定的东西就不要说,就像你从来没用过 C++ 标准模板库, 但是你非要扯一下 STL,面试官再一深问,你就懵了。这就是自掘坟墓,自己挖坑自己跳的典型。
抢占谈话先机
有些面试官,在面试的时候,并没有想清楚要怎么面试,面试什么内容。所以,在面试的时候,你可以主动抢占先机,把所有的话题都不知不觉牵引到你自己擅长的东西上面来。这样,整个过程,你大可以侃侃而言了。避免了冷场,你又可以尽情展现自己的优势和特长。注意,一定要聊你最拿手的,否则也是作死。
提升自身的技能
面试考察的知识点多而杂,要完全掌握需要花费大量的时间和精力。但是面试中经常被问到的知识点却没有多少。我们只需要把自身的技能提高,当面试官问到这类知识点的时候,我们就可以侃侃而谈,更加大方自信。
我作为从事Android开发者数年的人,大大小小的面试也经历过不少,根据自己的经验还有身边一些朋友的经验,总结了一些面试经常考察的问题。希望帮助到准备跳槽或者正在跳槽的朋友们。
一、设计思想解读开源框架
这份总结的学习手册将Android热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava响应式编程框架、IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架整合成了一套系统知识笔记PDF,长达1042页!相信看完这份文档,你将会对这些Android第三方框架有着更深入、更系统的理解。
本篇包含知识点:
1、热修复设计
2、插件化
3、组件化框架设计
4、图片加载框架
5、网络请求框架
6、RXJava 响应式编程框架设计
7、IOC 架构设计
8、Android架构组件Jetpack
二、Android高级UI开源框架进阶解密
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。
不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!
三、Android Framework开发揭秘
众所周知,Android是一个基于Linux实现的操作系统。但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别。
所以Android也需要运行环境,需要Linux内核在启动完成后加载Android Framework运行所需要的资源。当Framework完成初始化后才能继续启动相应的APK应用程序。
主要内容包含:
第一章 系统启动流程分析
第二章 Binder解析
第三章 Handler解析
第四章 AMS 解析
第五章 WMS解析
第六章PKMS Android10.0 源码解读
四、Android性能优化实战解析
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
五、Android百大框架源码解析
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。这份学习手册包含Android主流库比如OkHttp、Retrofit、EventBus、ARouter源码等等,都有详细的源码解析。
六、NDK模块开发
NDK是原生开发工具包,这套工具允许Android使用C/C++代码,并提供了众多的平台库。
主要内容包含:
NDK 模块开发
JNI 模块
Native 开发工具
Linux 编程
底层图片处理
音视频开发
机器学习
七、Flutter学习进阶
近两年Flutter的热度不断提升,无论在阿里还是外部公司,参与Flutter生态建设的人越来越多。Flutter作为跨端的UI框架,未来也有很大的可能像Rax一样作为集团内营销活动页面搭建的DSL。所以目前学习Flutter,参与Flutter生态建设是一件时髦且有价值的事情。
本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter开发环境搭建和调试
5、Dart语法篇之基础语法(一)
6、Dart语法篇之集合的使用与源码解析(二)
…
12、Flutter中的widget
面试建议
1.心态要放好,不能着急
不要看到被人拿到offer,自己没有就抱有心里压力,其实工作谁都可以找到,就看满意不满意,所以着急也是没有用。
2.身体很重要
不要熬通宵复习、学习,把身体搞垮了得不偿失。保持良好的睡眠。
3.善于总结面试中的问题
每一次笔试、面试完后,需要进行总结,将自己不会的知识点一定要搞清楚,如果不搞清楚,下次还有可能会问的。其实找工作的过程就是积累知识的过 程,所以善于总结很重要。
4.不要盲目投递简历。
不要看见大公司就投递,也不要投递自己不想去的城市,那样就是在瞎折腾,公司就算要你了,你也不去,还不如把时间放在自己想去的地方呢。
5.复习需要持续。
由于记忆过后会遗忘,所以复习过程中,需要反复进行,一边理解一边记忆,达到闭上眼就能看见知识的体系结构。
资料分享
由于篇幅有限,资料内容过多,需要全套Android学习资料的朋友可以扫描下方【CSDN官方认证二维码】免费领取
以上是关于金三银四,作为Java程序员的你为什么面试总拿不到高薪?的主要内容,如果未能解决你的问题,请参考以下文章
金三银四季,阿里工作10多年Java大牛的“心得”,献给迷茫中的你