㈠ 程序员四十岁以后转行,做什么好
所谓隔行如隔山,从事新的行业领域,需要重新开始学习摸索,需耗费大量的精力与资源,风险高。四十岁之后又是上有老下有小,家里的开支会越来越多,没必要冒那么大的风险。除非你有想创业的想法,或者做个小生意,能维持生活开支。这个倒可以考虑。现在食品店生意还是比较火得,只要做的饭菜好吃,人流量过的去,基本上是盈利的;小孩培训班。现在都流行编程要从娃娃做起,开个编程培训班,又是自己擅长的领域,也很不错。
㈡ 本人以前是VB程序员。现在年龄偏大了,44岁了,想转运维的工作。不知道要学习些什么内容。盼指点。
运维工程师的工作强度是不是比开发工程师的工作强度低一些?工作强度低不低是看各个公司的,在A公司运维的强度非常高,基本都是晚上回去还要加班做一些事情,主要原因是人比较少;而B公司的运维强度和人均的负荷成正比,这个我虽然为B服务过(以前我在一家B的供应商呆过,去过B做过一段时间),但是现在B怎么样我不太清楚;2.运维工程师工作的技术含量会不会低一些?所以压力小一些?–运维的工作性质主要还是维持运行的平稳和高效,工作主要有安装调试软硬件,根据不同开发项目配置服务器软件,监控等事情;相对开发来说更加偏向操作系统或数据库(这是两个方向,一般是分开招人的);而开发的偏向于开发软件和一些中间件,数据库和系统一般就由运维的人把关;a.DBA偏向软件,而OS管理员和network(比如cisco)管理员偏向软硬件结合,还有一种人就是纯粹玩硬件的(安装服务器硬件、机柜什么的);b.至于说技术含量,我个人认为越集成的东西管理的人操心就越少,而每个不同岗位的技术没有什么可比性,关键看你个人的性格;c.相对开发,运维的经验学习成本是比较高的,就是说你不在一定的实用环境下是没法学会真本事的,而开发你坐在家里就可以摸索一个大概出来;而运维的知识更新的速度相对慢,10年前的DBA知识更新可能只有50%,而他本人会非常值钱,而2年前java的一些内容可能都没有发明出来;除非你在开发做到管理职位,否则纯技术开发学习更新的代价会非常高;反过来说:技术开发适合比较喜欢新鲜、喜欢创新的人,而运维适合循规蹈矩比较踏实的人;3.在B,运维工程师的薪水只有开发的2/3左右.你们公司也是一样吗?–我个人认为:公司给不同position的薪水肯定是和他预估这个职位重要性和工作强度成正比的,但和未来发展是否正比就不得而知了,这在B内部是有可比性的,至于A如何,我不太清楚,应该相差不大,毕竟A的运维已经是全球领先的,而且人数非常少;4.运维工程师的发展前景怎么样,会不会以后的发展空间比较小?–所谓发展空间是要结合你个人的性格,资深DBA之类的人在地球上还是很稀缺的,我知道ebaychinaoperatingcenter的DBA有开宝马上班的,而且运维不是吃青春饭,越老越吃香,可以说是个平滑的上升直线,而开发如果你只是一个执行者和coder,恐怕就是一个开始猛涨后面猛跌的曲线,毕竟开发知识代谢成本太高,过了30就走下坡路;
㈢ 在中国移动做数据库运维好么
挺好的,移动对数据库运维的要求还是挺高的。
1、对于操作系统和小机要求能够达到比较熟练的使用水平,相对来说,目前在大中型企事业单位使用较多的是Linux操作系统,一般的小企业使用的是WIN系统。
2、小机方面掌握IBM的小机使用或者是HP的小机使用技能即可。此外,作为一名专业的数据库运维工程师还需要对于存储技术、网络技术、集群技术等有一定的了解。
3、其原因在于数据库作为一个基础的层面,牵扯到各个方面的应用,一个系统出现问题的时候往往并不是数据库发生了问题,而是其他的应用出现了问题,这个时候就需要进行专业的诊断,如果工程师没有一个比较全面的技术掌握就可能不能很快速地处理问题,进而使工作开展困难。
㈣ 程序员面试,为什么感觉很多都和运维有关
不会运维的程序员不是好程序员。 这个信条要时刻谨记,不管是面试还是自己平时在工作中都要坚持这个准则,因为这对你以后的发展大有裨益。
一直以来,很多圈外人对我们程序员的观念就是永远的一本正经,着装单一,了无生趣,聪明绝顶,其实这是他们对程序员的误解,因为多才多艺,多姿多彩的程序员比比皆是,但是传统的观念或者说以偏概全的观念蒙蔽了他们的双眼,而他们自己又没有尝试去了解,所以导致人云亦云,给程序员披上了一层灰。
同样的,我们大部分程序员的观念也跟他们差不多,认为程序员就只是搬砖撸码的,至于各种部署服务器相关的工作应该是运维做的,其实非也,如果真的这样认为的话,那就真的太不把自己当程序员了。为什么这么说呢?因为我们程序员是实实在在撸码开发产品的群体,可是如果我们开发出来的东西只能自个在本地玩耍,却不能众乐乐,那还有什么意义,此时,你可能会说,交给运维啊,那么如果没有运维呢,就没法玩了,所以我们不能总是将希望寄托在别人身上,当自己有能力能够将系统进行部署的时候,那就该学会部署。
其实不仅仅是程序员,优秀的运维工程师也是需要会开发撸码的,因为有时候他们也需要开发一些小工具来进行验证,或者开发网页来进行服务的管理,所以说程序员和运维都是相辅相成的。
像我们现在很多的公司都没有明确的人员分工,特别是小公司连运维都没有,所以就谈不上让运维去部署了,那么怎么办呢?肯定就是开发人员自己去部署了,如果不会部署的话就可以去网上查找资料,其实总体来说不会很难,因为我看过很多运维其实也是在网上找资料按步聚进行操作。
另外公司之所以这么要求,一方面是基于人员成本的考虑,毕竟如果一个人能干好的事为啥非得招两个人;另一方面可能基于公司的发展问题,像一般的小公司确实没必要专门招一个运维,不过随着公司的发展,后期肯定会招专业运维,毕竟专人做专事,事半功倍。
永远记住“不会运维的程序员不是好程序员”,其实作为程序员不能总是把自己陷在撸码的深渊,除了撸码,我们还要学会产品需求分析、简单的UI画图、数据库分表分库及性能优化、运维服务器部署、单元及系统测试等等,总的来说,要想成为优秀的程序员,我们有必要把产品线上的每一个环节都略知一二,这是经验收获,一定会成为我们日后发展的资本。
技术迭代是需要时间的,而且公司预算不多的话,会选择现有系统继续使用。有的企业也会选择维稳,不会轻易开发新系统代替现有系统。
这是一个非常好的问题,作为一名IT从业者,我来回答一下。
首先,在当前的大数据、云计算时代,程序员在面试的过程中,经常会遇到与运维相关的问题,尤其是有自身产品(平台类)的企业,往往对于程序员的运维类知识有比较多的要求,所以当前的程序员,尤其是Java程序员,要想获得较强的岗位竞争力,一定要重视运维类知识的学习。
在当前的大数据时代背景下,很多程序员在日常开发过程中,需要与运维人员进行配合,所以程序员在面试过程中,经常会被问及与运维相关的问题,通过这样的问题,也能够全面了解程序员是否面对过大用户的并发问题,这对于判断程序员是否适合当前的招聘岗位也有一定的参考价值。
以大数据开发岗位为例,程序员在进行大数据任务开发的过程中,不可避免地需要与运维人员打交道,其中大数据平台的搭建就是比较繁琐的过程,另外还有一系列产品的安装和部署,这些通常都需要运维人员来完成。对于一款平台类产品来说,运维人员的技术能力能够在很大程度上决定软件平台的性能,而且运维人员与开发人员的配合也非常关键。
当然,对于程序员来说,如果能够自己掌握一定的运维知识,对于开发任务的开展还是很有帮助的,如果什么问题都需要运维人员来完成,不仅需要更多的运维人员,同时也会影响项目的整体开发进度。从这个角度来看,随着未来大数据技术的逐渐落地,程序员掌握一定的运维类知识,对于提升自身的工作效率,还是很有帮助的。
在程序员面试过程当中,通过一些运维知识也能够更加直观地了解到程序员的技术栈,相对于比较复杂的开发问题来说,运维知识的脉络还是比较清晰的,通过运维知识能够在一定程度上挤出一些“技术水分”,这也是很多面试官比较愿意问运维问题的主要原因。另外,对于一些创业型公司来说,程序员掌握一定的运维类知识,也会节省一些投入,尤其在产品研发的初期。
从技术体系结构来看,要想解决大用户的并发问题和系统扩展性问题,通常需要从两个角度出发,一个角度是技术选型,比如采用扩展性比较强的大数据平台,另一个角度就是硬件扩充,但是硬件扩充的前提是要有一个可扩充的平台体系,而通过运维知识,程序员的交流会更明确,技术方案也比较直观。
从岗位任务划分的角度来看,程序员的工作任务与运维人员的工作任务有比较明确的边界,但是在云计算技术的推动下,程序员接触运维场景的情况也在不断增加,比如通过云计算平台的支撑,很多传统的运维类任务,程序员也会比较方便地完成,比如安全配置等等。
最后,程序员在进行面试的过程中,如果遇到的运维类问题并不清楚,一定要如实回答,因为运维类知识需要一个积累的过程,而且经验往往非常重要,所以很多运维类知识,在短期内是无法掌握的,如果盲目扩展自己的知识面,会为后续的工作带来很多麻烦。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!
一、提问之前的准备
首先,最重要的是,你自己一开始就应该想清楚:
只有明确这些根本性的问题,才能正确高效地完成面试。
二、提问的原则
假定你对上一节的三个问题,已经有了清晰的想法,那么接下来就可以设计如何提问了。
有一些提问的原则,是你应该遵循的:
三、考察专业能力
为了确认面试者是胜任的,你可以问一些与职位相关的专业方面的问题。(不过通常来说,一次面试不足以看出一个人的专业能力。)
比如,你的招聘职位是系统管理员,你可以问"如何快速地在50台机器上部署Linux?"(提示:正确答案不是刻录50张安装光盘。)
另外,你还应该向面试者了解他的过去,因为过去是未来的最好预测依据。不过,提问的重点不要仅仅是他过去的成果,更要关注在当时的环境中,他是如何决策和实施的。
四、考察综合素质
因为人是会发展的,所以某种程度上,面试者的综合素质要比他的专业能力更重要。
所以,具体的技术问题(如何调用API、什么是设计模式、编程语言的语法等等)可以少问一些,更应该关注面试者的事业心、对工作的热情、进取心、自律能力、毅力等方面。
下面是一些典型问题:
五、考察理性思维
某些情况下,你可能需要了解面试者的分析判断能力,看他能否全面地思考问题、客观地评价自己。
那么,你可以依次提出这样三个问题:
这里的重点是,让面试者从正反两方面评价一件自己熟悉的东西,看看他的思维是否片面。答案无所谓对错,只要面试者有一个明确的立场,能够从正反两方面说出令人信服的理由,就可以了。比如,某个软件的口碑不好,但是面试者说他很喜欢,而且说得出一大堆理由,清楚地解释了这种软件的优点和缺点在哪里,这样就很好。
不邀自来。众所周知,越大型的公司,分工越明确。在BAT里面,有专门的前端,后端,ops,dba等等。他们专研一方面,所以有深度,有沉淀。遇到问题了,找到相应的人,能够快速解决问题。
但绝大多数中小公司,更偏爱样样都会的全栈,恨不得你一个人把所有活儿做完。并不一定需要有多大深度,能干活儿就行了。
再说,现在提倡devops,开发懂点运维,能够更好地定位问题,部署和架构项目,这是需求,也是趋势。
对小公司而言基本没有专门的运维,所以需要研发具备一些运维的知识,比如数据库的搭建、nginx、jdk部署,其它开源中间件,比如Kafka、es等等
其实这个目前真正大规模用的少,炒概念的多,很多公司根本没机会用. 但是他会问
我觉得很自然的事,为什么总有人说得高大上?装个软件,调个参数,做个逻辑卷,调一调网络,配置一下分布式组件,搞个文件系统程序员就应该不会?
这些工作,我们公司一般运维人员搞不定的。所以用啥,自己整。
个人观点,计算机知识就必须全面,才能做好一个程序员吧?
而且看大家回复,我有8成猜对,有8成以上的架构师,不懂底层,知识面也没传说中那么广。
现在devops在流行,说白了企业为了省成本,研发要干一部分运维的活。运维只负责硬件网络和k8s维护,其他什么部署啦,服务编排啦,通通交给程序员做。
不过这样倒也合理,运维只负责全公司通用的设施建设,至于cicd,服务编排,熔断限流等等,都和业务强相关,交给开发做比较贴近实际业务