本人应届Java开发 去广告精准营销广告报价公司做Java怎么样啊,,求大神指条明路 小弟跪谢

51CTO旗下网站
写给那些傻傻的,想做服务器开发的应届生
猿题库刚刚结束了北京地区的大规模校园招聘,国庆之后打算转战外地进行校招。我本人深度参与了此次的校招工作,包括笔试题命题、面试题命题以及具体的面试工作。
作者:来源:| 14:29
猿题库刚刚结束了北京地区的大规模校园招聘,国庆之后打算转战外地进行校招。我本人深度参与了此次的校招工作,包括笔试题命题、面试题命题以及具体的面试工作。
我在面试中发现了一个非常有意思的现象,就是大多数应届生都想做服务器端开发,但是他们却又不清楚服务器端开发具体要做些什么。
我和同事聊天的时候说起此事,我们认为可能应届生觉得:做服务器端开发可以让自己写的程序运行在很多台机器上,并且处理海量的数据,这很「牛逼」。而做客户端或前端开发太简单,成长会比较小。
于是我就写了本文,想给这些单纯的应届生泼泼冷水。先说说我的背景吧,我同时做过服务器端和客户端的开发。我在网易有道做过 1
年半的服务器端开发,产品涉及网易邮箱和微博产品,之后做了 3 年的 iOS
开发,产品涉及有道云笔记,猿题库和小猿搜题,所以我能够给大家分享服务器端和客户端开发的差别。
对服务器开发的误解
很多应届生认为做服务器端开发可以处理海量数据,管理上百台服务器。
处理海量数据就牛逼了?NO!
服务器端开发经过多年的发展,对于海量数据的处理早有了很多固定的解决方案。不管是用云服务,还是用 Hbase ,你都可以很轻松地依赖开源库,解决海量数据的存储问题。
还有一些同学想做大数据分析,如果你写过 MapReduce 程序就不会这么想了。现在的 MapReduce 程序写起来太 easy 了,很多时候简单到你就只需要写一条类似 SQL 的查询就行了。
运行在上百台服务器上就牛逼了?NO!
现在虚拟化技术发展迅猛,像小猿搜题所有服务都通过 Docker 来部署。很多时候,部署上线就是在 Web 管理界面上点击一个「Deploy」按钮即可。即使在过去,实际操作这些上百台服务器的也是运维同学,轮不到你来操作。
所以,除了 YY 一下这些程序跑在多个机器上,这并没有什么可以带来成就感的地方。
还有一些应届生觉得自己在学校做过网站,觉得在服务器开发方面有基础,做这方面更顺手。NO!企业里面的服务器开发完全不是你想的那样,基本上大家在学校做网站的经验等于零。
服务器开发的苦
我给大家分享一下做服务器开发有什么苦的地方吧。
永远只能半夜上线
做为互联网公司,我们希望给用户提供 7 x 24 的不间断服务,那么服务万一需要中断怎么办?半夜上线呗。
根据我多年的观察,晚上 12 点一般都是上网高峰,所以上线一般都是凌晨 3 点-4 点的时候进行。但是,你以为上线就是凌晨 3
点点一下「Deploy」按钮就完了吗?NO! 一般上线都会涉及功能升级,难免会有考虑不周到的情况,于是就会发生,上线出问题的情况。
上线出问题怎么办?在网易,我们一般是两种做法:
在线调试和修改 Bug,通常顺利的话,到早上 7,8 点的时候一般就能搞定了。
在线调试和修改 Bug,如果不顺利的话,到早上 7,8 点的时候回滚数据。然后,我们需要回家休息半天之后,继续在下一个凌晨 3 点上线。
当然,不会每次上线都是这种大升级,但是基本上,1、2 个月搞一次这种大上线还是挺常见的。
相对来说,客户端同学在这方面要轻松得多。iOS 和 Android 都是提交应用市场审核,所以客户端的同学可以选一个白天上班的时候提交审核,而不用等到半夜。
永远需要立即响应
服务器端的问题,只要出现,影响都是巨大的,所以服务器端的同学需要随时待命,一旦有服务器异常报警,就立即处理,以免影响到用户。所以做服务器开 发的同学手机都是开着的,在服务不稳定时,一不小心,几十条报警短信就过来了。服务器开发出去旅游什么的,一般都带着笔记本,以便出问题时能够及时响应。
相对来说,客户端同学在这方面要轻松得多,因为即使出现了 Bug,iOS 和 Android 客户端也是无法马上修复的,因为用户手机中的版本不会立即更新。所以客户端同学最多也是加班发布一个紧急版本提交审核,在时间上不会像服务器端那么着急。
另一方面,很多客户端的 Bug,可以通过服务器端通过一些「兼容」来处理,这其实就是替客户端「擦屁股」。例如,假设某应用的 iOS
1.2.0 版本当获得服务器端返回的用户头象是 png 格式的时候会闪退,那么服务器端可以特殊处理,对于这个版本的应用把 png 图片转成
jpg 返回。你看,最终还是服务器端同事成了要立即响应的人。
服务器端轮子太多
服务器端的开发经过了 10 多年的发展,而客户端的开发才刚刚兴起。2009 年&&推出之后,国内才有人做 iOS App 的开发,Android 开发的兴起也基本在。算下来,客户端的开发才经历了 6 年而已。而服务器端的开发呢?光&&就出现了 10 多年了。
服务器端的技术长久发展的结果就是,基本上每个业务需求都已经有现成的轮子了。所以做服务器端开发很多时候就是学习各种开源组件的用法,并且熟悉这些组件的一些性能特点和坑。
你以为这很容易吗?其实不是的!这些轮子发展那么多年,已经非常复杂了,光 Spring 就包括非常多的特性,写一本 1000 页的书来介绍它也不为过。如果不是多年的使用,你能搞明白它的各种功能的优缺点吗?如果你搞不明白,遇到问题的时候除了抓瞎还能干嘛?
所以做服务器端的同学,要经过非常长时间学习(至少半年左右),才能上手进行实际的开发工作。上手之后,又需要经过非常长时间的学习,才能够熟悉自己使用的各种开源组件的特点和使用细节。
相对来说,客户端同学在这方面要轻松得多,基本上不管是 iOS 还是 Android,新手只需要一个月左右就能入门,三个月左右就能够比较熟练了。
分工与细化
刚刚说到服务器端复杂,这带来的结果就是分工与细化。每个做服务器开发的同学,可能只会涉及服务器开发的某一部分的业务逻辑和功能,甚至是某一部分业务逻辑的某一层。比如我在网易邮箱做服务器端开发时,就只是负责 Restful Api 这一层的开发工作。
从业务上来说,将复杂的系统拆分,然后每个人做独立的某一块当然是好的。但是对个人来说,服务器端开发却使终是一块迷雾环绕的大山,在这座大山上,你对你走过的路线很熟悉,而那些你没有接触过的服务器端技术,你使终是不清楚的。
对于一个服务器端开发同学,特别是进入大公司的应届生来说,在他头几年的工作中,肯定只会围绕着非常小一块功能业务来学习,那么一两年之后,他顶多是熟悉了他工作涉及的那些东西,对于别的东西仍然是不清楚的。
从这一点来说,去创业型的公司做服务器端开发又要比去大公司要好得多。
相对来说,客户端同学在这方面要爽得多。因为移动开发技术刚刚兴起,很多技术方案和框架还没有复杂到无法全面掌握的程度。移动开发技术就像一棵快速 成长的小树,客户端同学将有幸伴随着它一起成长,等 5
年之后,移动开发技术成变成一棵参天大树,这一代的程序员,将会是唯一亲身经历它演进的人,每一处演进带来的改变,都将使得我们更加深刻理解移动开发系统 的设计原则。
眼界和非技术成长
某种程度上说,服务器端开发在业务方面是轻松的,因为他们只需要设计好 API 接口,返回 JSON 数据,不用考虑 UI 的设计,交互细节的处理。服务器端开发经过了多年的发展,单元测试和性能测试框架也非常成熟,所以开发起来非常有章法。
所以服务器端的同学大多数时候只需要关注纯技术的知识,例如如何保证高可用,高扩展性,高并发,数据一致性,数据安全等。
客户端就苦了,UI 需要和美术设计得完全一样,交互细节还需要做到流畅,很多时候产品用一用觉得一些 UI
和交互有问题,我们还需要被迫接受调整。另外在测试上,因为和界面耦合太紧,虽然业界有一些解决方案,但基本上不管是 iOS 和 Android
都还没有非常成熟好用的单元测试框架。大部分的测试工作都是由黑盒的手工测试完成的。
但是,正因为客户端需要密切和产品经理,UI
设计师打交道,所以他们会频繁接触到产品设计思想和设计思想。这使得客户端的同学更加容易学习和积累编程之外的技能,包括产品和设计的思想以及沟通能力。 另外,因为用户的 bug 都是通过客户端反馈,客户端同学还更容易接触到真实的用户。
所以相对于服务器端同学来说,客户端的同学的眼界更宽,由于非技术方面的沟通更多,所以他们的非技术方案的成长也越多。
技术挑战和工资待遇
从纯技术上的挑战来说,服务器端明显更大。服务器端开发动辄超过 10 人的团队,代码量稍微复杂一些就是接近百万行。而客户端一个平台的研发大多数也就在 5 人左右,代码量多在 10 万行以内。
但是,技术挑战大就表示工资待遇高吗?NO!市场价格是由供求关系来平衡的。虽然客户端的技术挑战小,但是基本上所有应届毕业生都想做服务器端开 发,所以没有人做客户端开发呀!于是很多公司被迫从培训机构招人,很多人刚刚培训了 3 个月,就可以拿非常高的工资。这一点和 Web
前端类似,牛逼的 Web 前端人才非常少,但是不影响这个领域稍微牛逼一点的人拿非常高的薪水。
另一方面,由于服务器端人才的饱和,也使得竞争变得非常激烈,除非你成为这个领域的顶级人才,否则从平均薪资来说,做客户端开发的同学应该和服务器端的同学类似。
其实我这篇文章故意写得很片面,目的就是想让各位应届生同学们能够更加辩证地看待互联网行业中的工作。与其什么都不懂傻傻地选择服务器端开发,倒不如做客户端开发更有前途。
我以上所说的,都是错的。
作者: @唐巧_boy【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
热点关注头条热点头条
24H热文一周话题本月最赞
讲师:26787人学习过
讲师:15451人学习过
讲师:58385人学习过
精选博文论坛热帖下载排行
20多年以来,《软件工程:实践者的研究方法》一书是最受学生和行业专业人员欢迎的软件工程指南。它在全面而系统、概括而清晰地介绍软件工程...
订阅51CTO邮刊大家来给小弟指条明路-问 _星空生活网
你现在浏览的是: & > &
大家来给小弟指条明路
枪神纪刀锋跟烈焰哪个用处的,给为爷请给小弟指条明路 :
烈焰近距离无脑烧 远程要靠掩体接近 有导弹用气爆 刀锋拼技术 主要就是绕 不会绕开敌人的刀锋玩不下去...
谁知道西安那个医院看前列腺炎好啊,最好是有亲身体验的,求大哥给小弟指条明路啊,回答的详细比采纳 :
空军医院。很多在西京医院看了不行就去那里看,比西京便宜,而且效果好。
哪位达人给小弟指条明路呀,实在受不了死机啦! :
谈谈如何有效地减少电脑的死机 电脑的死机现象是一个令所有电脑爱好者都头疼不已的问题。 对于电脑频繁的...
哪位java牛人,最好是在企业干过活的,来帮小弟一把,给小弟指条明路,该怎样学习呢,本人有一定的基础... :
实在找不到公司实习,就找些例程来读 规范你的代码
谁知道汇通快递顺义南法信分部地址啊?麻烦给小弟指条明路啊? 在下求助?急急急 :
顺义汇通南法信分部010- ,只有电话啊可咨询他们。
刚刚高中毕业,18岁,出来搞什么好,打工觉得好肤浅,完全不知道干嘛,姐姐,哥哥些,给小弟指条明路……... :
看你爱好了,找工作其实就是骑驴找马,先找一个轻松的工作再抽空继续找。个人建议先去商场,超市,饭店打工...
小弟想考同济车辆工程的研究生,但对考研一无所知...故求救!!! 望过来人给小弟指条明路~ :
我帮你说说今年同济的车辆招生吧,四个同学过了复试线,最高的402,排第9,一个401,排第10,还有...
天龙八部2 求职业骗子进来给小弟指条明路 哥啥都怕就不怕死全家 我全家就死了你TM管的着吗 什么损招... :
做骗子前提是要演技好啊!这看你的了、最好是新区,1、老骗法:搞的很好的宝宝低价喊了卖,等交易的时候换...
照相馆的修片师你们都干什么呀 过来给小弟指条明路哇 :
这个,你如果不知道怎么灵活运用ps的话,还是不要干修片了,那个不是半吊子能干好的
热血传奇的前辈们,关于武器祝福油的喝法,请给小弟指条明路吧,感激不尽… :
拿着几把武器换着喝,有自己合出来的天生幸运一的扇子最好,比战士的幸运7容易到幸运8,其实不是最高端的...
你可能感兴趣的内容?小弟刚学java.跪求java中升序如何弄 - J2SE当前位置:& &&&小弟刚学java.跪求java中升序如何弄小弟刚学java.跪求java中升序如何弄www.MyException.Cn&&网友分享于:&&浏览:18次小弟刚学java..跪求java中升序怎么弄?谢谢大家了...急用..拜托~~------解决方案--------------------需求都没有
Arrays.sort
------解决方案--------------------public class ArrSort
Public static void main(String [] args)
int[] ar=new int[]{1,2,4,8,3};
Arrays.sort(ar);
for(int i=0;i &ar.i++)
System.out.print(ar[i]);
------解决方案--------------------直接利用Arrays类的sort方法即可
你可以查看一下说明文档
对整型的排序前面两位已经给出了例子,同样可以对实数和字符甚至对象等进行排序,道理是一样的
相信你只要看了API文档说明就会明白了
------解决方案--------------------在数组中搞定
------解决方案--------------------sun 给你的 帮助文档 是用来 擦屁股的?
------解决方案--------------------.....
------解决方案--------------------
Vector &Float&
floatVector
java.util.Collections.sort(floatVector);
其他 类 的数组只要适当重载接口Comparable中的比较方法 int compareTo(T o)
具体见java帮助文档搜索Collections类
------解决方案--------------------学习中遇到问题请到付费IT问答社区www.nlld.net,采用社会化网络运营,有专家负责彻底解决,网站所有纠纷依法解决
------解决方案--------------------你做一个排序器,该排序器实现java.util.Comparator接口,
import java.util.C
public class Comp implements Comparator {
Book book1;
//此处你替换成你要进行排序的对象即可
Book book2;
/*******************************************************
* 实现Comparator接口中的compare()方法,以定义自己的排序规则
* @param Object o1,Object o2两个待比较的对象
* @return 如果o1大于o2则返回1,如果o1小于o2则返回-1
* @author xiaosun2
*******************************************************/
public int compare(Object o1, Object o2) {
if(o1 instanceof Book) //这儿也是替换成你要排序的对象
book1 = (Book)o1;
if(o2 instanceof Book)
book2 = (Book)o2;
if(book1.getSale()& book2.getSale()) //这是排序规则,你自己定一个规则
return -1;
然后你在创建集合的时候 比如创建一个TreeSet的时候 可以这样创建
TreeSet ts = new TreeSet(new Comp());这样就是给你这个集合指定了一个排序器,是按照升序排序的, 这样当你往集合里添加对象的时候 会自动以指定的规则进行升序排序。
------解决方案--------------------去看看些排序的算法吧
Arrays.sort(ar);
------解决方案--------------------关注
------解决方案--------------------study
------解决方案--------------------MARK
------解决方案--------------------public class Sort1 {
public Sort1(Number[] arr) {
public Number[] doSort(){
for(int i=0;i &arr.length-1;i++){
for(int j=0;j &arr.length-1;j++){
if(arr[j].doubleValue()& arr[j+1].doubleValue()){
Number emp = arr[j];
arr[j] = arr[j+1];
public static void main(String[] args) {
Number[] arr={-11,24,3,54,6,23,66};
arr=new Sort1(arr).doSort();
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有大家觉得做java开发去大公司好还是去小公司好呢? 我是应届生_百度知道
大家觉得做java开发去大公司好还是去小公司好呢? 我是应届生
我有更好的答案
就凭你在大公司的的经验就知道了。。,出来价值不菲啊,这个社会就是这样的应届生当然是越大越好撒,只要能进去,现在就是锻炼
采纳率:27%
来自团队:
当然是大公司啦!
为您推荐:
其他类似问题
您可能关注的内容
应届生的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。哪位java牛人,最好是在企业干过活的,来帮小弟一把,给小弟指条明路,该怎样学习呢,本人有一定的基础。_百度知道
哪位java牛人,最好是在企业干过活的,来帮小弟一把,给小弟指条明路,该怎样学习呢,本人有一定的基础。
本人还有半年就毕业了,能在半年里有质的飞跃没,现在的情况是没有任何的项目经验,只是练习一下书本上的题目。
我有更好的答案
实在找不到公司实习,就找些例程来读规范你的代码
采纳率:25%
。你自己练习永远达不到有经验的水平。我给你建议去找个工作,兼职,慢慢的经过磨练会好很多的。、实习、工资多少无所谓,主要能在工作中遇到平时碰不到的问题和困难,自己去解决多了
本回答被网友采纳
明路啊,最好的办法就是去实习啦,找个软件公司实习个半年做几个项目就有质的飞跃
广州日新网,上去与站长交流一下,那站我认识,很不错的一人
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 广告精准营销平台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信