03.04 普通公司员工的编程水平与阿里巴巴有多大差距?

张梅茜


作为一个编程十几年的老程序员,虽然没有进过阿里巴巴,中间换工作时候也拒绝过百度和腾讯的offer,选择了一个更适合自己的互联网公司,编程水平主要决定因素还是和本人基本功有着极大的环境,前几天回答了一个大公司和小公司编码水平谁高谁低的问题,有外在因素影响但主要还是自身,自己没有决心提升自己的编码水平,外界环境再好也没多大意义。

像阿里巴巴这种大公司由于职位安排的比较饱满,正常来讲代码的提交都需要leader的审核通过,在一定程度上能极大的提高代码的质量,在审核机制上会更加严格,并且在测试把关上也会更加严格,普通的小公司在人员配置上可能稍微少一些,会在把关上差一点,严格规范的制度在一定程度上能促进程序员更深层的改进,但本质上还是自身想不想让自己变得更加优秀,愿意不愿意让自己提升的更加快速。

其实提到阿里巴巴这种大公司主要还是人心态问题,觉得大公司一定要比小公司规范,换做经历过大公司的人,还想着在里面自己只是一个螺丝钉,还想着去小型公司让自己发挥的更加彻底,小公司的人又向往着大公司的待遇以及规范。如同没有结婚的人,总想着走进围城,进入的人又羡慕没有结婚的多自由,其实来来回回也就那回事。

曾经也是为了进入大公司舍弃了一个中型公司部门技术经理的职位,现在想象其实很不值当,进入一个成熟的大公司,自己做出的贡献只是沧海一粟,想要向上走特别难,而真正的机会还是在创业公司或者中小型公司,当然这些东西需要亲身体验才能感受到,在年轻气盛阶段很难体味到,就是觉得自己所做的选择是对的,实践辨真知。

希望能帮到你。


大学生编程指南


不在大厂,不酸不黑。凭经验谈谈各自长短。

一 大厂

长:

薪资更可观。

代码要求更加严格,一般有代码审核。

眼光更加规范,一般能更快接触到新技术。

能够有机会参与大型项目实战。

能够镀金。

短:

可能自己就是一颗小螺丝,专注一个点。

工作饱和,加班多。


二 小厂

长:

有时候技术选型可以自己决定。

一般加班没有大厂严重,也就意味着有更多时间可以用以自我提升。

短:

薪资一般没有大厂高。

一般没有代码审核,重实现,不重性能,容易养成不好的编程习惯。

没有机会接触到对大数据,高并发要求高的项目。

简历不容易被认可。

窃取楼下仁兄的一个比喻:小厂程序员就是各个中小饭店的大厨,也许煎炒烹炸,样样能做,但是不一定是最美味的。大厂的程序员就是御膳房的后勤,牌子响,但是也许就葱花土豆切得溜。

故:大厂小厂程序员,无优劣之分。但是个人建议到大厂镀金几年,还是十分必要的。


回答完毕,谢谢!!

本人专注互联网最新技术,大数据,数据采集,数据处理,数据治理,望交流!


渣渣灰233


普通公司程序员的编程水平就一定比阿里巴巴程序员差?这太绝对!我在阿里、普通公司都从事过程序员工作,从以下三个方面进行详解,供小伙伴们参考:

一、公司规模不完全决定编程水平

一刀切的对比太主观粗暴,就单个程序员的编码水平来说,普通公司程序员与阿里程序员可能根本没啥区别。普通公司也会严格按规范、流程编程,同样可能有大牛带着做项目,经过自身学习再加努力实践,普通公司程序员的水平并不能说就比阿里的程序员差。当然了,阿里在面试程序员过程中经过了严格挑选把关,这些程序员的基础都是不错的,但真正要达到一定水平,除了环境还得靠自己进入阿里之后不断努力。另外,众所周期,阿里巴巴社招的程序员有相当一部分也来源于普通公司。

二、在不同规模的公司工作,到底差异在哪儿?

1、阿里巴巴晋级与薪酬制度已经相当完善了,有一套成熟的激励体系,勤奋好学、善于沟通、技术实力强的程序员能够在阿里得到更多的成长机会;

2、对在阿里巴巴这样公司的程序员来说,比较幸运的是可能有机会参与大型互联网软件的开发,比如像架构设计、场景设计等,这对技术能力的提高比较大;

3、在阿里巴巴工作的程序员,有机会接触前沿技术,向上有更广袤的成长空间,在选择下一站时有阿里工作经历背书(俗称镀金),这无疑会让在以后的职业发展道路上会拥有更多选择。

文末福利:BAT架构师原创分享《大型网站架构之高并发设计36期资料合集》送给大家,私信发送这三个字【高并发】即可获取哦!

觉得不错点赞支持,小伙伴们如有不同见解,欢迎评论交流~


优知学院


虽然没有去过大厂,但还是想强答一下,毕竟有不少认识的朋友在BAT工作或工作过。


我的看法是:BAT的牛人多,普通人也多,虽然他们不是每个人都能达到令人仰望的技术水平,但毕竟平台高,所以眼光会变得宽阔;代码要求更为严格,所以普通的程序员也会被逼变得更优秀;身边的牛人多,普通的程序员也会受到影响,提升的更快。


正好今天看到一篇文章,是讲去阿里的面试经历,也分享给大家,看看自己离着【进】阿里还有多大的差距。


Java多线程

线程池的原理,为什么要创建线程池?

线程的生命周期,什么时候会出现僵死进程;

什么实现线程安全,如何实现线程安全;

创建线程池有哪几个核心参数? 如何合理配置线程池的大小?

synchronized、volatile区别、synchronized锁粒度、模拟死锁场景、原子性与可见性;


JVM相关

JVM内存模型,GC机制和原理;GC分哪两种;什么时候会触发Full GC?

JVM里的有几种classloader,为什么会有多种?

什么是双亲委派机制?介绍一些运作过程,双亲委派模型的好处;(这个我真的不会...)

什么情况下我们需要破坏双亲委派模型;

常见的JVM调优方法有哪些?可以具体到调整哪个参数,调成什么值?

JVM虚拟机内存划分、类加载器、垃圾收集算法、垃圾收集器、class文件结构是如何解析的;


Java扩展

红黑树的实现原理和应用场景;

NIO是什么?适用于何种场景?

Java9比Java8改进了什么;

HashMap内部的数据结构是什么?底层是怎么实现的?

说说反射的用途及实现,反射是不是很慢,我们在项目中是否要避免使用反射;

说说自定义注解的场景及实现;

List和Map区别,Arraylist与LinkedList区别,ArrayList与Vector 区别;


Spring

Spring AOP的实现原理和场景;(应用场景很重要)

Spring bean的作用域和生命周期;

Spring Boot比Spring做了哪些改进? Spring 5比Spring4做了哪些改进;(惭愧呀,我们还在用Spring4,高版本的没关心过)

Spring IOC是什么?优点是什么?

SpringMVC、动态代理、反射、AOP原理、事务隔离级别;


中间件

Dubbo完整的一次调用链路介绍;

Dubbo支持几种负载均衡策略?

Dubbo Provider服务提供者要控制执行并发请求上限,具体怎么做?

Dubbo启动的时候支持几种配置方式?

了解几种消息中间件产品?各产品的优缺点介绍;

消息中间件如何保证消息的一致性和如何进行消息的重试机制?

Spring Cloud熔断机制介绍;

Spring Cloud对比下Dubbo,什么场景下该使用Spring Cloud?


数据库篇

锁机制介绍:行锁、表锁、排他锁、共享锁;

乐观锁的业务场景及实现方式;

事务介绍,分布式事物的理解,常见的解决方案有哪些,什么事两阶段提交、三阶段提交;

MySQL记录binlog的方式主要包括三种模式?每种模式的优缺点是什么?

MySQL锁,悲观锁、乐观锁、排它锁、共享锁、表级锁、行级锁;

分布式事务的原理2阶段提交,同步\\异步\\阻塞\\非阻塞;

数据库事务隔离级别,MySQL默认的隔离级别、Spring如何实现事务、

JDBC如何实现事务、嵌套事务实现、分布式事务实现;

SQL的整个解析、执行过程原理、SQL行转列;


Redis

Redis为什么这么快?redis采用多线程会有哪些问题?

Redis支持哪几种数据结构;

Redis跳跃表的问题;

Redis单进程单线程的Redis如何能够高并发?

Redis如何使用Redis实现分布式锁?

Redis分布式锁操作的原子性,Redis内部是如何实现的?


看完了有什么感想,自己和BAT的要求有差距么?

反正我觉得自己想要面试通过是有些困难,很多框架新版本的特性都没有了解过,看来年前还得抽时间学些一下了。


希望我的回答,能够帮助到你!我将持续分享Java开发、架构设计、职业发展等方面的见解,希望能得到你的关注;另外,关注我后可私信【架构】、【大数据】、【面试】、【优化】等关键字,获取相关资料。


会点代码的大叔


说到电脑的编程,对于学计算机的人来说真的是一件非常头疼的事情,每天的编程工作都要面对各种各样的字母,各种各样的特殊符号,一般人看见也就只能一懵一懵的。每个程序员之间也都是有技术好技术低的,并且程序员在选择公司的时候也面临很大的困难。

现在社会上找工作的人都有一个普遍的现象,在小公司工作的人都想去大公司,在大公司工作的人想去中小企业工作。每个程序员都想得到一个展现自己的机会,让自己所学的知识有所用武之地。能力较强的程序员就去了大公司,能力有点差异的就去了中小企业,但是这两者在各自公司的发展并不一样。

在中小企业工作程序员有可能会在公司有更大的发展空间,在大企业里面有着许多优秀的程序员,就像是阿里巴巴,有可能在这个团队里面自己的能力不能跟好的发挥。有一点要清楚,技术高的人在一起会越来越优秀,他们各自有各自的特点,都会互相学习互相进步,前进的动力也大。普通公司的程序员自我提升的空间较小,没有像阿里巴巴这样的公司程序员水平高。

大企业对程序员的要求也很高,这些程序员所要面对的困难也非常大,逼迫着自己去提升自身的能力,如果两个技术相匹配的程序员一个去普通企业,一个去阿里巴巴这样的大公司,在工作一段时间后,在阿里巴巴工作的程序员要远远超过普通公司的程序员。虽然大公司的程序员想去中小公司,但是对他们更是一种较大的损失。

更多优质内容,请持续关注镁客网~~


镁客网


其实不是看公司规模的,而是看公司的重视程度,比如有的公司可能本身规模不大,但是他们意识到技术的重要性,所以会有专门的研究中心研究技术,同时每一个人只要你能想到不同的点会鼓励你去申请专利还会奖钱,那么这样的公司里面的人,就会孜孜不倦地提高自己的编程能力。

而有的公司,本身就不重视而且觉得员工只要能干活,技术好不好的跟老板没关,特别是一些外包公司,从招人上就很随意,比如我经历过的就是在很普通的大学里招了一群啥都不会的人,然后经过三个月的所谓培训就上岗了,本身外包公司就不可能接触到项目的核心程序而且即使你想改也不会让你改的,这样的环境有的人如果觉得不好会另谋高就,但是这个环境是很难改变的,所以所有人待久了技术都不会有所提升,编程水平就一直上不去,所以差距就会越来越大的。


陈家姑娘说职场


普通公司员工的编程水平与阿里巴巴有多大差距?要说阿里巴巴每个程序员都牛逼得不行那也是扯淡,普通公司牛逼的程序员也不少,这本身就没有一定的定论。


在阿里巴巴的程序员与普通公司的程序员,无非是阿里巴巴公司出名了所以大家比较关注。普通公司比如某些大型的上市软件公司、或者规模较大的公司,同样的也做很多的大项目,只不过像阿里这样大数据量大访问量大并发量的场景在很多大公司不具备。


在阿里巴巴这样公司的程序员来说,应该比较幸运的是能够遇到大型互联网软件的开发,比如像架构设计、场景设计等,这对于很多程序员来说应该可以开眼界,参与其中也能锻炼自己。同样的,很多大型软件公司虽然没有阿里这样的场景,但同样也有自己特殊的应用设计、场景在阿里也见不到。

而对于单个程序员的编码水平来说,普通公司与阿里的程序员可能根本就没啥区别。普通公司里也有严格按规范、严格按流程、严格测试等来做软件,进入里面同样可以遇到大牛带领项目、大牛的传帮带等,耳闻目染再加努力实践,这些程序员的水平并不能说就比阿里的程序员差。当然,阿里这样的名气不外乎就是进入时经过了严格的挑选,这些程序员的基础都是不错的,但真正要有水平,那还得除了环境也得要靠自己努力。


但大公司程序员与小公司的程序员还是有一些差异的。小公司人员可能接触的项目基本不大,而像万金油那样啥都接触到一些能搞一些,但深度却不够。比如小公司的程序员今天搞Java编码,可能下个项目就去搞PHP,再下个项目又去搞python等,今天是程序,每隔两个月可能又是下个项目的设计者、Leader等有可能。但恰恰在某一项编码上却又不像某些大公司的程序员那样一个萝卜一个坑儿,又专又精。

另外小公司的开发流程及规范都不够,有些甚至是只要搞出来能运行就可以,所以章法上不像大公司一样规范。甚至有些都没有严格的测试就到客户那里去上线,让客户去当小白鼠,做一个败一个。


所以作为程序员最好是能开始到大公司去学习锻炼规范的软件开发那是很有益的。至于是不是阿里倒不一定,能进入阿里当然好。而说到编码水平,绝大部分还是要靠自己的努力,特别是培养思维能力、基础知识、见多识广、多加实践与交流,对自己编码能力提升是必不可少的。天赋程序员确实有,但绝大部分程序员要说天赋都谈不上,大部分也就是上面几项用了更多的时间吧。


图片来自于网络,如有侵权请联系作者删除,更多分享请上部关注【东风高扬】。


东风高扬


单纯从技术上来说,大公司是小公司没法比的,

大公司系统要更加复杂,研究的东西更加深入。

比如高并发,大数据,

小公司没有那么大流量和数据量根本没办法研究,

大公司一个系统N台机器,

为了节省资源就要研究怎么使机器能力最大化,优化代码,优化逻辑。

小公司可能一两台机器就能支撑一个系统,只要没bug就能正常运行。

非技术层面的就看公司的业务能力了。

个人看法,


BeginCode


我在京东两年,感受颇深

第一,大业务量,大用户量,形成了大数据量,高并发,所以每天除了考虑如何实现复杂的业务的时候,也要考虑如何让代码最优,高并发,大数据量情况下解决方案

第二,身边都是志同道合的人,或者高手如云,大家都为了做到最好,互相帮助,互相提升,分享,一起分析问题,思考最优的解决方案,也有大牛可问

第三,对底层需要更高的认识,如果你使用git,再普通公司可能用个图形界面,但在大厂,得明白rebase 的原理,而且常用的是命令行。当然各种jvm优化,sql优化,分库分表都得会

第四,成天的加班,必定会让你比在别的公司工作学习时间长,真的是一年当三年


kid7157887


大公司比小公司多几个大牛而已 但是大牛指点江山后 后续的活都是分配给下面的人 这批人水平参差不齐 所以不能说他们的水平一定就比小公司的程序员厉害 而且从广义上说也没有bugfree的程序 所以搬砖不分贵贱 这个问题没有标准 也不用较真


分享到:


相關文章: