Java|金三银四,作为Java程序员的你为什么面试总拿不到高薪?

Java|金三银四,作为Java程序员的你为什么面试总拿不到高薪?

文章图片

Java|金三银四,作为Java程序员的你为什么面试总拿不到高薪?

文章图片

Java|金三银四,作为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互联网方面必配 。