这几天看 Java 招聘需求的一些疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rd554259440
V2EX    Java

这几天看 Java 招聘需求的一些疑问

  •  
  •   rd554259440 2021-02-03 23:14:50 +08:00 6810 次点击
    这是一个创建于 1712 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近被公司安排到只开发报表的咸鱼,完全不用写代码了,怕越待越废,而且公司管理有点问题,想着看看换个环境,看了一圈好像要求会分布式事务,分库分表经验的少了,还看到有些要求多线程编程,熟悉 JVM 调优的。我只在小公司和外包待过,做了有差不多 3 年了,工作中这些都没接触过,也感到很疑惑,多线程和 JVM 调优这些是具体应用在哪些场景下的,因为我觉得这些应该框架中就已经做了很大部分工作了,希望经验丰富的大佬们指教,谢谢。(不知道发的版对不对,第一次发,错了的话,麻烦说一下,谢谢)

    第 1 条附言    2021-02-04 09:35:08 +08:00
    嗯嗯,感谢各位大佬们的指点,这边咸鱼技术渣做的都是一些公司内部的项目,没啥高并发,没有做过互联网的项目,遇到的比较少吧,多线程的话基本像定时任务那些也是用的 spring 框架的,发发邮件定时处理些数据啥的,JVM 的话就没缘碰到过了,感谢大佬们的解答,那我到时再好好背背这些,再出去试试。
    23 条回复    2021-02-05 12:06:29 +08:00
    thetbw
        1
    thetbw  
       2021-02-03 23:40:01 +08:00 via Android
    进去还是拧螺丝
    young1lin
        2
    young1lin  
       2021-02-04 01:24:50 +08:00   16
    其实他们的要求就是:

    看过《深入理解 Java 虚拟机》《 Java 并发编程的艺术》,并且能够讲出原理,背出来。

    实际工作中,最多让你去生产环境看看是哪些代码造成的系统 Hang 住或者响应时间低。

    如何优化,JAVA_OPTS 这个环境变量,比如根据实际机器内存大小调 Xms Xmx 一样大了,避免内存碎片,低版本的 JDK 调大永久代防止永久代 OOM 了。关闭偏向锁,开启逃逸分析了。

    使用 JDK 自带的工具诊断线上环境。

    其实不会让你真正干这些的,除非是小公司,这些运维帮你搞定了,但是你要了解原理。多线程那个就更悬了,平时可能根本用不到,最多用用线程池方面的,所以这个你讲清楚各个参数,流程,优化,以及拒绝策略这些基本 ok 了。还有 synchronized ( MarkWord,锁的升级与降级),volatile ( MESI 协议,Happesn-before ),JMM 这些八股文一般就行了。
    trevis761923
        3
    trevis761923  
       2021-02-04 08:12:15 +08:00
    多线程主要还是处理异步请求比较多吧.
    xiaTianChiXiGua
        4
    xiaTianChiXiGua  
       2021-02-04 08:44:33 +08:00
    进去会发现 狗屁多线程都没用上
    zm8m93Q1e5otOC69
        5
    zm8m93Q1e5otOC69  
       2021-02-04 08:47:49 +08:00
    没啥用,多线程一般都 MQ 了
    idoggy
        6
    idoggy  
       2021-02-04 09:04:06 +08:00 via Android   2
    多线程的知识面很多的,工作中也要用的。
    你做的项目可能真的是太小了,框架里的线程池 new 一个出来啥都不改直接用是会 oom 的。redis 刷缓存不上锁遇上高并发是会击穿数据库的。
    像 volatile 这种你基本不会用但是也要知道,防止有新人写代码给你埋雷。
    定时任务无论是 quartz 或是 spring 自带的你总得知道线程池的运行机制,不然任务某天不执行了都意识不到是队列阻塞了还在那儿瞎折腾。
    mikael
        7
    mikael  
       2021-02-04 09:25:25 +08:00   1
    其实这些都是 hr 发布的,hr 们都是从其他招聘信息里直接复制来的,具体的还得看用人部门的要求,而 hr 简历的筛选就是根据你简历中是不是有这些八股文的内容,拿到面试资格后,就是跟技术部门直接聊了,而聊的内容都是你简历上写的,所以,你简历上的写的内容先得过了 hr,然后你还得知道(万一问了你不知道,就尴尬了),所以这些八股文就背背好了。
    lewis89
        8
    lewis89  
       2021-02-04 09:36:55 +08:00
    @young1lin #2 差不多就这样了,所谓的 JVM 调优 也是很菜的,一般不去改算法,很难做到 低延时 高吞吐量..
    passerbytiny
        9
    passerbytiny  
       2021-02-04 09:55:17 +08:00 via Android
    国内招聘要求“都”是随便写的,别太在意。(你写得太精确,那是直接告诉竞争对手自己准备干啥)

    即使是用人部门发得要求,也是随便写的(毕竟最后还是靠面试),因为用人部门跟 HR 之间也是不能脱光见面的。
    fisher335
        10
    fisher335  
       2021-02-04 11:24:15 +08:00
    我看好多招聘都需要 jvm 性能调优,但是实际应聘来的连 jvm 是什么都不知道
    hgjian
        11
    hgjian  
       2021-02-04 12:29:07 +08:00 via Android
    @passerbytiny 最后一句话啥意思啊?
    hxndg
        12
    hxndg  
       2021-02-04 12:57:53 +08:00   1
    我个人觉得。。。。很多的线程同步的东西实际上底层都给你做了。。。。

    类似什么 MCS,CLH,钟表锁之类的别说你不知道,面试官可能也不知道,但是知道了又能怎么样呢? TAS 和 TTAS 的性能为什么不同,底层 MESI 造成的后果这些都不会有人了解,除非你去做内核。

    也就我们拿 C,有时候需要自己设计多线程操作的才会实现自旋锁之类的多线程,
    有的时候我们抄 linux 内核的东西也得理解一些锁的操作等等。


    所以你就多刷刷算法,和基础调优之类就够了

    大厂内卷现在和高考差不多,都是不看工程能力,一套题目一把梭。
    zzzain46
        13
    zzzain46  
       2021-02-04 13:27:41 +08:00
    @hgjian 我猜 HR 容易带着东西跑路
    Userh
        14
    Userh  
       2021-02-04 14:00:35 +08:00
    @young1lin 学习了
    FantaMole
        15
    FantaMole  
       2021-02-04 15:26:03 +08:00   2
    对部分公司来说,多线程和 JVM 就是用在面试场景下的。反正这种东西也没什么好说的,会背就是了。

    假设我是面试官,我想招人,想问多线程相关,就像楼上说的 volatile 。我就先问 volatile 有什么用?你回答个七七八八,那就算合格。

    那我再问个,两个线程循环执行 x = x + 1, 变量 x 使用了 volatile 修饰,会不会出问题,为什么会出问题?你又回答上来了,我就比较满意了,知道你碰到这个不会踩坑。

    最后我问,volatile 具有可见性为什么不能保证原子性?可能我作为面试官自己都拎不清。你要能详细答出来,只刷新缓存不刷新寄存器这一套机制。搞不好你的水平能当我的上司。

    这就是部分公司的情况。实际上我很赞同楼上的说法,大部分公司招人,其实更应该看的是业务理解和工程能力,不是背八股的能力。
    a719031256
        16
    a719031256  
       2021-02-04 16:08:18 +08:00
    @idoggy 目前在做一个全国 500 强的企业系统,被公司外派到母公司这边进场,三面,每次 4 个面试官,那阵仗被吓惨了,分布式多线程变着花样的问,然而现在在撸纯业务代码,毫无技术的项目。。。。
    hgjian
        17
    hgjian  
       2021-02-04 17:44:20 +08:00 via Android   3
    @a719031256 会修航母吗?会。好,你被录用了;去拿个拖把,把甲板拖一下。
    dengtongcai
        18
    dengtongcai  
       2021-02-04 17:51:32 +08:00
    哈哈哈 面试是面试 工作是工作
    SuXinXing
        19
    SuXinXing  
       2021-02-04 18:01:24 +08:00
    我理解这些东西没必要全会,但是会的越多,你将来的薪酬还是有质的提升,比如现场出问题了,你可以利用这些技术去处理个问题,然后领导看到了,对于你以后的发展和工资还是有提高的。
    a719031256
        20
    a719031256  
       2021-02-05 08:43:50 +08:00
    @hgjian 。。。。。。。一个小东西,都要拆分成 n 个模块,要开会三小时才能决定个大概
    superBearL
        21
    superBearL  
       2021-02-05 11:45:06 +08:00
    同小公司大部分是做内部项目,接触不到高并发,目前狂补这部分知识,感谢楼各位上大佬的指点
    superBearL
        22
    superBearL  
       2021-02-05 11:50:38 +08:00
    同时想问下有没有熟悉 Java 面试的小伙伴,最近面试的侧重方向大致是啥?知识点太多了看不过来。
    比如说:JVM 、多线程、SQL 、NoSQL 等方面?
    分布式方面的 zookeeper 、kafka 、k8s 等问得多不多?
    Takamine
        23
    Takamine  
       2021-02-05 12:06:29 +08:00 via Android
    JVM 调优问题是面试专属我信。多线程也只是当八股文去背,确定不是在给人埋坑吗。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     931 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:49 PVG 06:49 LAX 15:49 JFK 18:49
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86