有点迷茫,应届毕业怎么提升? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
backfrw
V2EX    问与答

有点迷茫,应届毕业怎么提升?

  •  
  •   backfrw 2018-08-06 12:02:24 +08:00 3240 次点击
    这是一个创建于 2624 天前的主题,其中的信息可能已经有所发展或是发生改变。
    应届毕业,大学期间家里发生了很多事,延期了一年,比同届同学不足,比同级同学又有余,现在刚工作,做后台,用 Java,在成都,试用期加上餐补什么的能有 5k 多点,因为不到一个月,不知道会不会扣什么,到手就不好说了

    进公司入职培训还没完,第二天就直接跟项目,一个税务改造,据说很急,跟组连续加班半个月,没有周末,基本每晚都是赶末班地铁,偶尔几天三四点下班,我觉得还好,但一起入职的另一个应届直接辞职了,之后项目也正常上线,但是感觉这样的加班强度也没有学到什么东西

    一直听说应届生出来要做两个项目才能成长,这也算小半个了,没吃出一点味,所以问题出在什么地方了?麻烦大佬们指点一下,谢谢啦
    第 1 条附言    2018-08-06 16:12:09 +08:00
    得嘞…还以为上周交付之后召回公司还专门给了一天休息时间美滋滋的,今天下午突然就给我调运维了…一点通知都没有,连个跟我商量的人都没有,部门老大没说,项目经理没说,人资都没说一句,突然运维来跟我说他们搬办公室,部门老大让我一起过去…然后运维这边就给安排座位了…一脸懵逼,难道不是录用什么职位就做什么吗?想问下这种情况怎么办啊?
    第 2 条附言    2018-08-06 20:43:28 +08:00
    二更~~~补充一点,因为税务系统,所以跟项目以后都在税局开发,然后我们的服务器在这边,也是因为项目性质,只能内网访问,所以运维也是在税局这边

    这边税局办公室弄得差不多了以后,我问这边负责的那个运维,什么情况,他说不知道,只知道安排我过来了

    直接找人资,人资一脸懵逼,没有接到人员调动,然后过了一会给我回话说是之后这边有新需求,过来贴近需求,内网也方便开发,录用是什么岗位就是什么岗位,是开发方向没有错

    然后部门二把手又来了个电话,说税局人事调动,重新分配办公室,我就先划到这边占座,多申请几个工位,等项目完了再做安排,还让不要给运维说,过来的开发不是转岗。留我一脸弟弟,像个二五仔

    但是进组这么半个月,也认识了一些同事,也知道这个公司确实有无协商就通知转岗的事情,所以更加懵逼

    唉~问了身边的同学朋友,没有遇到过这个状况的,难道毕业第一份工作就这么狗血了吗?
    15 条回复    2018-08-07 10:57:47 +08:00
    ppyybb
        1
    ppyybb  
       2018-08-06 14:00:10 +08:00 via iPhone   1
    不是大佬
    我认为问题在于两点:
    1 是否有时间来反思写过的代码?一般来说 code review 对自己提升还比较大的,无论是别人还是自己 review

    2 是否对用到的技术进行加深了解?比如用到 mysql,是否对 mysql 事物级别,mvcc,各种锁的机制了解?是否了解索引对应在磁盘上的数据结构?
    用到 java,是否对 jdk 集合的原理有所了解?对多线程的各种坑,线程池,future 等原理有所了解?

    如果只是简单的外包+加班,能够直接获益的可能不多,考虑下班有时间自己学习,争取去一些有较大数据量和一定并发量的公司写业务。
    backfrw
        2
    backfrw  
    OP
       2018-08-06 16:14:43 +08:00 via Android
    @ppyybb 感谢前辈,知道应该再学习什么了,之前一直觉得应该往框架上努力,但是有新情况了…
    coderluan
        3
    coderluan  
       2018-08-06 17:04:33 +08:00   1
    所以问题出在什么地方了?
    文章信息太少,所以看不出来哪出了问题,但是信息太少本身就是问题,说明你不知道自己对项目的整体把握不够,不知道自己在项目中起到什么作用,所以只能说自己加了多少班。做两个项目能成长起来这个说法没问题,但是项目来说没有 0.5 约等于 1,或者 0.5 加 0.5 等于 1 的说法,0.5 基本是 0,只有 1 才是 1,所以只有你对项目整体足够了解,也就是只要时间够,自己就能独立完成的情况下,这种才算一个项目。

    难道不是录用什么职位就做什么吗?
    双方协商一致才能转,但是你没过试用期,所以没啥协商的资本......

    想问下这种情况怎么办啊?
    一般来说应该走人了,开发给你转运维,明显是不承认你的能力,做运维更不会让你得到提升......
    ppyybb
        4
    ppyybb  
       2018-08-06 18:15:26 +08:00 via iPhone
    @backfrw 往框架上努力没有问题,但是这个时候最重要的其实是形成一套自己的知识体系,这是你在某个领域的核心竞争力。要达到这个目的第一基础必须很扎实,第二必须在一个有一定难度的项目里面长时间的参与开发,同时尽可能扩展业务边界线,涉及核心的技术。

    你要做到 2 就必须做到 1,否则面试就过不了,更不要说去个不错项目了。而做到 2 最忌讳的就是一个项目做三个月然后就又换一个,这样你的知识体系会很零碎,没什么机会把理论和实践结合起来,总是在和一些琐碎的表层知识和新的业务做斗争,很难成长。

    你目前公司太水了,让你搞东搞西的,你又根本没有话语权,你只能利用业余时间加班学习,争取做到扎实基础,业务用到的框架熟悉基本原理(至少看看网上的文章解析这种),然后造几个小轮子什么的。然后跑路。
    CoderHugo
        5
    CoderHugo  
       2018-08-06 18:27:59 +08:00 via Android   1
    我也刚毕业,现在做 Java card 平台的测试开发,平时就是调整脚本,或者参考旧脚本写个新脚本。其实我更想去做 Java 后端开发,所以我的规划是在这边读 jvm 原理,读 spring 代码,尝试着重构他们,做一些自己理解的优化,然后跳槽:D
    tianxingzhishang
        6
    tianxingzhishang  
       2018-08-06 18:38:01 +08:00
    同样成都刚毕业,不过我是 5 月份辞了快半年的实习( C#方向,公司也不是很好),现在准备回深圳广州找,就是基础太不扎实了,难受
    backfrw
        7
    backfrw  
    OP
       2018-08-06 20:59:28 +08:00
    @CoderHugo 大佬见谅,信息太少有两个原因,首先是并没有技术求助的意思,其次是因为我握不住,坦白说,这个项目就是很多公司正在使用的税务系统一部分,我看不到全貌,也没胆量透露,只是改造的这部分备份出来就近 200Mb,我确实没这个实力半个月时间掌握它
    而且大佬说的对,我其实不明白,应届进公司第二天就做这么紧急的项目,我能起到什么作用,但是项目经理分给我的那一部分弄完了,测试过了,转正式环境上线之后一点小问题也更正了,所以我觉得还是起了一点作用
    开发转运维这部分,又更新了,不知道什么表情比较形象┑( ̄Д  ̄)┍
    backfrw
        8
    backfrw  
    OP
       2018-08-06 21:03:06 +08:00
    @ppyybb @CoderHugo 还好先来吐槽了,不然行差踏错,想起一起入职那个应届生,差点想明天就去提离职的事
    感谢大佬们提醒我
    backfrw
        9
    backfrw  
    OP
       2018-08-06 21:10:55 +08:00
    @ppyybb 不好意思,不是很明白,怎么才算一套知识体系呢,可以理解为运用某一套技术栈的能力,比如 ssm 加 maven 加 easyIU 加 MySQL 这样,或者是解决某一种应用场景的能力,比如一个高并发的电商网站?

    扩展业务边界线又该怎么理解啊,可以理解为横向扩展吗,比如关系型数据库能解决的需求,考虑到更高的访问和安全需要,而引入 Nosql 并进一步读写分离这样吗?

    可能我会的比较少,前辈多担待
    backfrw
        10
    backfrw  
    OP
       2018-08-06 21:19:23 +08:00
    @tianxingzhishang 这段时间应该还是应届生黄金期,加油
    ppyybb
        11
    ppyybb  
       2018-08-06 22:07:58 +08:00 via iPhone   4
    @backfrw 我也不是啥前辈,工作也才 1 年多,也是准备从成都往北京跳的。

    我回答你的问题:
    1 我定的知识体系,就是你从事的这个领域,你能从头到尾的理解整个流程。能把各个层的东西融汇贯通并加以扩展。举个例子:做 web 后端开发(这里含领域知识,比如支付,直播,搜索),以浏览器为分界线,
    http 层面要懂(各种 header,code 的意义和使用,以及遇到问题能否判定是这个层出了问题)
    接着 tcp 要懂(遇到网络异常能否判定是不是传输层面出问题了,比如服务器 timewait 状态很多导致链接失败是怎么回事?),可以写个 io 多路复用的程序可以吗(比如用 netty 写个多线程异步调用的 client 去做某些业务能做到吗?)

    负载均衡怎么做的?(了解 nginx 原理吗,具体怎么配置?需要自己写第三方的负载均衡模块吗?)

    然后框架原理,比如你用某个框架,从它 parse 出 http 包开始,到你的 controller 层是怎么个情况,出 bug 了能定位问题吗?能直接看源码找到问题吗?

    然后到框架的 orm 大概是什么原理,怎么映射到后端的数据库,如果需要支持某个 database 但是你这个框架又没有合适的开源组件,能自己搞定吗?数据库客户端的链接池特点是什么,对开发的影响。各种 filter/hook 是怎么实现的,怎么应用?出问题能定位吗?

    然后到数据层面,先是缓存,redis 的基本原理要懂,如果有周期性的卡顿能通过日志分析出原因吗(这里还考验逻辑推理能力),主从有什么坑,集群原理,有什么坑。最关键的,怎么针对业务涉及一套合适的 cache 体系(这个挺难,没实战积累感觉和经验很难做到),还需要对各种命令的复杂度有所了解(这也附带要求理解内部数据结构)

    然后到 db,这种一般源码太复杂了(比如 mysql innodb ),所以看看文章了解基本原理,比如 insert 并发怎么导致了一个死锁?(要求对 mysql 加锁机制非常熟悉,这个还需要去查资料) update 语句会锁哪些地方(反过来思考索引)查询怎么走索引( selectivity 怎么样?),排序 /分组怎么走索引(能利用索引的两种优化机制吗?)自带分区表能不能业务中用上,有哪些坑?应该怎么分表(冷热数据对缓存友好,但是有可能业务中不方便带分区参数) column 类型的选择,text/blob 的存储模型(影响取数据),int,mediumint,smallint,bigint 可以选哪个?各种参数(如果走阿里云一般默认的就很好了)主从,集群有什么坑?(这个我目前也不懂)出问题了怎么迅速恢复数据(至少恢复大致数据然后靠应用层逻辑校对)
    你搞统计还得设计一手好 sql,数据量大了就要上各种大数据工具。

    再有 cdn,具体的 api 熟悉吗,上传不同类型数据有什么坑(比如有些上传了不是马上见效),怎么加速?

    还有应用内,项目用的什么 rpc,原理了解吗(网络,线程模型,编解码,重试,负载均衡),有哪些功能,需要自己 hack 能做到稳定可用吗?各种中间件( mq,log,proxy 了解吗?我也不了解哈哈)

    语言,best practice 了解吗?(知道这样做的原因吗?,知道这样做的场景吗?)各种内置的数据结构原理了解吗?并发呢?(各种并发模型,这个我也不太懂)各种坑就不说了。调优也是有可能的。

    然后就是算法和数据结构,这个往往涉及到一些比较复杂的业务(硬骨头)时候可能用到,比如让你做成给产品可配置化的界面,让它们设定任意树状结构的统计分类,你怎么弄?现在需求改了,你需要合并两颗树(相同路径合并,同时有复杂的业务条件限制),怎么弄?
    数据量太大,能不能搞个 bitmap 代替 set ?放 redis 还是直接放内存里面( db 做持久化?)
    有时候可能需要来个桶排序你能想到吗?如果需要在内存里面做可持久化的数据结构怎么弄?比如 bk 树,avl 树 /rb 树 /skiplist (现在有 redis 可以替代了),怎么序列化?(自带的序列化机制原理?慢吗?可以优化吗?开源的原理?性能够用吗?)
    万一需要动态规划 /搜索算法来算个最优解(这个往往出现在游戏里面,或者一些调度问题)能想到吗?字符串匹配怎么做?能针对业务优化吗?(往往内存放不下)

    最后也是很重要的领域知识,这个只有去对应的项目才能积累了(直播,支付,ai 底层平台开发,中间件开发等等)

    还有系统架构能力,这个挺吃天赋和经验的,我也不懂,只能多反思自己的代码,多看看别人的设计,多想想能不能迁移 /抄袭这些设计。

    逻辑思维能力,这个感觉比较难提升,但是通过熟悉业务和领域知识应该可以一定程度弥补

    以上就是近几年(初级到中级)自己进步的思路,但是具体来做,肯定还是业务优先,先把业务搞熟悉,做到按时按质量交付,然后考虑怎么写更好,然后就有机会做更核心的,理论实践结合,下班可以花时间自己造轮子玩玩。
    backfrw
        12
    backfrw  
    OP
       2018-08-07 01:54:00 +08:00
    @ppyybb 又是临时改东西,才下班,一看回复,比我先工作的都是前辈,没毛病,实在太困了,只看了前面几条,本科学的网络工程,面试的时候也看了一些框架原理方面的博客,mysql 看过底层数据结构,也看过几篇悲观锁,乐观锁的文章,但是没想过各种锁和索引关系,负载均衡会一点点,Io 多路复用就大眼瞪小眼了,白天我再仔细看看(这下得学几个月了吧),跪谢前辈
    aLazarus
        13
    aLazarus  
       2018-08-07 08:44:02 +08:00 via Android   1
    同是应届毕业生,现在成都工作,我的水平就是那种楼上说的大部分都接触过或者用过,但仅仅只是在表面了解,完全不懂这些框架的优势和理论,感觉要学的太多太多了
    backfrw
        14
    backfrw  
    OP
       2018-08-07 10:21:20 +08:00
    @aLazarus 路漫漫啊~同在成都,一起闭关吧,我们江湖再见
    aLazarus
        15
    aLazarus  
       2018-08-07 10:57:47 +08:00 via Android
    @backfrw 加油( _)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2700 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 12:07 PVG 20:07 LAX 05:07 JFK 08:07
    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