美国上市公司,专注Java培训22年

如何评估java程序员价值?什么样的java程序员更值钱?


企业负责人招到比自己水平低的人,那公司的未来就只能局限于领导的能力水平了,如何评估java程序员价值?什么样的java程序员更值钱?抛开工作经验,项目经验,学历背景,哪些方面可以判断一个Java程序员的技术扎实程度,怎样才能知道他值多少月薪呢?

如何评估java程序员价值

本着理论结合实践的方法,我一般都不问上面这种纯知识和理论性问题,而是让他写一段程序来证明HashMap是线程不安全的。然后,再让改一下这个程序,使之线程安全。

在面试等情况下,如果有条件,最好能给被考核人一台可以上Google的电脑,然后给其一段自己的空间和时间,比如一个人在小会议室里10-20分钟。然后,另接一台显示器,同步观察他在电脑上是怎么做的。由此可以看出他解决问题的方法、思路。当然,另接显示器这事儿,得提前知会对方。

或者,如果为了省时间,拿出写好的线程不安全的程序,让其说出为啥会有这样奇怪的现象。

以此类推,可以让写证明List里存储的是引用还是对象实体的程序,写证明弱引用强引用区别的程序,写证明某种设计模式效果的程序…………

这方法,不仅可以检查基础知识,还可以检查思维能力。如果对知识理解得不够透彻,这种证明程序其实是挺难写的……

这方法更有威力的地方在于,你可以不是很懂Java,仍然可以大致衡量出对方的水平。

比如,你看不懂对方的程序,你完全可以作为一个学生去请教。真正对概念理解透彻的人,是懂得如何用浅显易懂的方式把一个知识讲明白的,他能把飘在空中的概念一路清清楚楚地给你讲到落在你的脚边,让你觉得唾手可得。能把概念讲到这种程度的人,通常在相关领域不是一般的高手。

我面试的时候,有时候会装傻,故意看看对方能否讲明白。遇到一知半解的,会把他自己绕进去,很好玩;遇到高手,真的获益匪浅。当然,也有时候是真不懂,虚心学习,但一边学习一边提问,基本就可以知道对方的水平了。

从面试的角度讲,一个能找到比自己强的人才的方法才是最有前途的方法。否则,只能招到比自己水平低的人,那公司的未来就只能局限于领导的能力水平了……

如果是做业务为主的,那侧重点在于如何建立业务模型,如何应对业务变更的可能,如何处理版本分裂和制定迁移升级计划。

技术水平。

如果是做相对低层的技术优化的,那侧重点在于对性能、被Java封装的底层技术的细节、OS、Network等基础知识的掌握程度。掌握得越细致,越好。

操作系统层面:进程与线程,进程如何创建,线程如何创建。内存与换页的概念,进程通信,锁等等。

网络通信层面:7/5层模型,ip分片重组,ip路由,tcp握手,udp的重组,网络风暴的原因等等。

编程语言层面:面向对象,重载与重写,多态。对象创建模式,继承和组合, 语言的特点等等。

数据结构与算法:数组链表,Map应用场景。基本的排序算法,算法分析等等。

数据库层面:索引,SQL,事务隔离级别等等。

数据方面:二进制运算,各类型占用的字节数,各类型数字的最大值,最小值等等。

1,先说结论:基础不扎实的面试官问不出这种以小见大的问题。

2,可以列举几个:

与非门在电子电路级别是如何实现的?通过逻辑电路如何制造一个最简单的计算器?譬如三体中描述的秦始皇如何用人肉方阵做一个计算机来预测天体运行规律?

考察点:《计算机组成原理》,是本科大一课程。

System.out.println函数到底是如何在屏幕上显示出字符来的?涉及字符集,系统类,静态变量,ascii码,IO,buffer,OS,显卡驱动。

考察点:《计算机组成原理》,《操作系统》,JDK,字符集,乱码问题。

为什么java采用单根继承?好处和坏处是什么?如何补救其缺点?流行的框架和最佳设计实践是怎么做的?如果用C语言模拟一个单根类继承的编程模式可以怎么实现?

考察点:OOP,设计模式

集合类的类图和选型决策?可以挖出无数数据结构的问题。

考察点:《数据结构》

类加载和运行的原理、顺序,以及各变量在内存的分布?有哪些扩展和hack的点?

考察点:JVM

volatile关键字的用途和jvm编译优化?可以引出并发问题

考察点:并发,hotspot

异常是如何抛出的?如何做一个不会崩溃的java程序?

考察点:异常,守护线程

如何评估java程序员价值?什么样的java程序员更值钱?如果你掌握了上面所说的专业技能那么你面试会增加更多谈判的筹码。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • 中级Java发开工程师需要那些技术和工程师证
    中级Java发开工程师需要那些技术和工程师证
    中级Java发开工程师需要那些技术和工程师证?中级Java开发工程师通常需要具备以下技术和技能: 详情>>

    2024-04-02

  • Java高级工程师岗位要求
    Java高级工程师岗位要求
    Java高级工程师岗位要求,Java高级工程师是企业中非常关键的技术岗位,主要负责软件的设计、开发、测试和维护工作。具体岗位要求可能因企业的规模、行业、产品和技术栈的不同而有所差异,但通常包括以下几个方面: 详情>>

    2024-03-05

  • 面试Java开发工程师一般问什么问题?
    面试Java开发工程师一般问什么问题?
    面试Java开发工程师一般问什么问题?面试Java开发工程师时,面试官通常会从多个角度评估应聘者的技能和经验,包括基础知识、编程能力、项目经验、问题解决能力、沟通能力以及对Java技术的理解。以下是一些常见的面试问题: 详情>>

    2024-02-29

  • 如何用Java开发游戏?
    如何用Java开发游戏?
    如何用Java开发游戏?使用Java开发游戏可以分为几个步骤,下面是一些基础的指导: 详情>>

    2024-02-29

  • Java开班时间

    收起