Java面试笔试面经、Java技术每天学习一点
Java面试
关注不迷路
作者:leapMie
来源:https://www.cnblogs.com/leap/p/12906564.html
个人简介
1. 工作过程
目前坐标广州,从毕业至今五年一直在当前的公司工作着,从部门最开始的十几人团队发展到现在的将近两百号人。
几年了没换工作不是因为习惯舒适区,相反这一路过来都是不断的突破,因为团队在快速壮大,面临的问题也在不断升级,根本没有太多的时间可以休息整顿。
当然,上百人的增速那也是部门而已,我的团队人数增速并不大,只是从两三人到目前的二十人,不过项目金额却是从最开始的十万级到目前的千万级,项目难度升级倒是挺大的。
2. 自我评价
优点
能快速准确的理解需求
对技术方案有较好的判断及把控
性格不是主动外交型,面对外部沟通内心会有一定抵触,但还是能较好的完成大部分沟通协调工作
相对容易接受变化,不会太死板
缺点
技术还有很大进步空间。太多协调处理的事消耗精力,难以全身心投入到技术沉淀
还没换过公司,没有深度接触其他公司的文化及工作流程
其他
一直有做产品的心,奈何团队的几个产品都没能成功落地,工作的方向还是项目型
内心向往互联网方向,希望最后还是能进入互联网行业
以架构师、CTO的目标前进,一方面永不放弃技术,另一方面在面对管理协调等“杂事”时,也会尽量调整心态去接受。
3. 当前项目
一直都在想,如果以当前能力再去做小项目简直是游刃有余,能做得漂漂亮亮,但现实是一直以来都被推着往上走,根本不能回头,不过也正因如此才有不断的进步。
目前在做的是一个省级项目,虽然概括起来项目都是增删查改,但背后要处理的问题复杂度与普通项目对比绝对不是一个量级的。
个人感悟及道理总结
1. 工作的本质就是解决问题
工作的本质就是解决问题,而你的位置决定了你面临的问题复杂度。按照事情发展的规律,一件复杂的事情总会出现大大小小的状况外的问题,可以说没问题才是不正常。
当出现问题的时候应尽量保持淡定和积极的心态,不必过分焦虑和惊慌,因为你工作的意义就是来解决问题的。当你能坦然面对时,这个问题的难度已经减半。
2. 事情最难的是从混沌到有序
事情最难的是从混沌到有序的过程,你看到的成功产品看似简单,但每一个功能、每一个细节都是由一个个大大小小的决策构成,每个决策的背后都会对应大量的分析、讨论、协调与纠结的过程。每一个能带来价值的产品或项目都是伟大的,背后都是一帮人努力的结晶。
3. 要做成一件事不是那么简单
要做成一件事,就需要去主动促使这件事的往前推进,这个过程会有很多的阻力,需要协调各方各面。
有时候当事情完满结束时,回过头想好像也并不是那么难,但如果在过程中把每个细节都记下来,那肯定是每天都面对着各种奇奇怪怪的问题。
4. 有人的地方就有江湖
有人的地方就有江湖,有江湖的地方就有是非。曾经我们还是个小团队的时候,大家都很善良淳朴,但是当团队壮大后,一切就都不那么简单了。
一来是人际关系变得错综复杂,二来是做的事情大了,与外界的接触也越来越多,不能再待在象牙塔里,不得不面对社会的复杂性。
4.1 没有密不透风的墙
在办公室里,感受最深的就是没有密不透风的墙。工作中总会听到一些小道消息,有公司的经营状况,有高层的动向,有同事间的八卦,有某人对某人的吐槽,真真假假,难辨是非。
这也是告诫自己,不要过多的吐槽别人,因为你真的不知道这个吐槽是怎么去到你吐槽对象的耳边的。。。
同时当你听闻某人对自己的吐槽时,也没必要过于执着,一来不知真假,二来江湖难免冲突,对于吐槽的内容有则改之即可。
4.2 做事留痕
另外,在这个江湖中同样重要的是要学会保护自己。做的事情大了,就肯定要跟外部打交道,这个外部包括外部团队、外部企业等,你可以保持真诚合作,但也要注意做事过程中保留痕迹,因为你不能保证当发生利益冲突时,是否会导致合作关系破裂,当你没有证据时,很容易有理说不清。
我认为在团队内部应尽量保持真诚,不要过多计较。但是当与团队边界外的相关方合作时,要有一定的戒备,关系越远戒备等级也越高,关系由近致远为:跨团队 -> 跨部门 -> 跨企业。
5. 没有绝对的对错,只有不同的立场
是个简单的道理,不用细说了,遇事能保持客观就好。
6. 做过的事总会有意义的
多做点总是有好处的,现在认为没用的事情,但是这份经验总会在某一天派上用场的。但也要注意分清主次,不要在分支上越走越远了,有些事情点到为止拿到经验值即可。
7. 站在用户角度思考问题
一定要站在用户的角度思考问题,如果不考虑用户的实际使用场景,容易简单认为用户都是无理取闹,武断的否定需求,最终只从技术的简易性去设计方案。
有时候一个小细节的实现能对用户工作效率带来非常大的提升,一个技术方案的确认并不那么简单,要结合用户的使用场景、技术的简洁合理、投入成本等多因素综合决策。
8. 合理上升问题
从两方面说为什么要上升问题:
1. 信息断层很致命
项目经理最害怕的是任务下发后,成员埋头苦干,遇到问题不敢问,遇到风险不敢说,到了节点交付日期才说问题解决不了。
有些问题,只要及早的向上反馈,解决办法是有多种的:可能可以请教高人指点,可能可以跟客户提前交底降低心理预期,可能可以通过方案的变更降低难度。
但如果不把问题的风险尽早暴露,到了最后节点再爆发,可能问题就是一发不可收拾了。
2. 会哭的孩子有奶吃
领导每天要处理的事情都很多,你不出声代表你没问题,那领导也肯定不会主动去找麻烦。
所以当问题真的超出自己能力范围后,就应该考虑是否要烦扰领导,把问题上升了。而且有些问题在自己的层面是个大问题,但是在领导的眼里根本不是问题。
要学会在必要时候合理的主动上升问题,不要什么都自己藏着掖着。当然,也要注意把握这个度,不要事事都麻烦别人。
关于团队管理
1. 交付的信息越多越有利于做出正确判断
通常我们做技术的,很少会出于私心而对一些信息的交付有所保留,但很多时候是因为我们太忙,在分发任务时容易缺乏耐心。
但是对于复杂的任务,要保证成员交付的产物与你的期望一致,应该交付尽可能多的信息。
如需求的背景、你希望的实现效果及实现方式、包含的一些隐性需求(如性能、可扩展性)、潜在风险等,只有当团队成员掌握足够多的信息,在遇到问题的歧义时,他才能做出正确的判断,避免任务的返工。
2. 梯度的搭建很重要
你可以保持扁平化的氛围,但是工作任务还是要尽可能的搭建梯度,不然什么事情都会上升到你这里,你会被各种琐事打断你的思路,消耗你的精力。只有当你手上的事情能分发出去,你才能去做更重要的事情。
3. 团队情绪很重要
当开始带领团队后,你就不能再只关注自身,和你一起做事的兄弟,他们不是没有感情的劳动机器,当他们的状态不佳时,你应该更主动的去关心他们,可能是因为一些私事,可能是因为薪酬福利,可能是因为工作强度,这些可能性是需要了解的,而不是一味的吐槽。
只有保证团队的情绪是健康的,才能保持高昂的士气,确保团队有足够的战斗力。
4. 对团队成员要有要求
不能对团队成员过于仁慈,一定要对成员提出要求。千万不要因为成员的能力水平不足,或是担心任务超出他们的能力时会有抵触情绪,于是一直只安排简单的任务给到他们。
你的仁慈会阻碍成员的成长,只有安排超出他们一定能力范围的工作时,在一定的压力情况下才会有快速的成长和突破,这样你的成员能够更多的为你分担工作,达到双赢的局面。
5. 不患寡而患不均
公平是很难做到的,但也要尽量保证。在工作量分配上,要避免能力强的人承担过多,而能力差的人反而轻轻松松过日子。在奖金福利的分配上更是要小心,相当容易造成不满情绪,别把好事变成坏事。
6. 做好决策
团队管理者就是要做大量的决策,把握方向。做技术的都希望可以玩新技术的,团队成员由于不用担责通常都是激进派,但作为决策者必须衡量其利弊,不能过于保守,也不能过于激进。当然说起来简单,要做好是需要大量的经验积累及学习的。
总结
时间匆匆,一不小心就已经五年工作经验,这一路也是跌跌撞撞的过来,以上都是个人的感悟总结,当然以上也有很多是“道理都懂”,自己也没能做好的。
要说对这几年的工作生涯很满意那是不可能的,不过也不至于充满遗憾,毕竟成长嘛,还是有的。希望以后的道路更精彩,未来可期。