这道编程解决问题题怎么解?求助!好像是中秋节的祝福!

所有编程语言输出 “祝大家中秋快乐”【贵州大学吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:163,497贴子:
所有编程语言输出 “祝大家中秋快乐”收藏
C :printf("祝大家中秋快乐");C++ : cout&&"祝大家中秋快乐";QBasic : Print "祝大家中秋快乐"Asp : Response.Write "祝大家中秋快乐"PHP : echo "祝大家中秋快乐";JScript: alert("祝大家中秋快乐")VBScript:MsgBox "祝大家中秋快乐"Jscript:document.write("祝大家中秋快乐")Delphi: ShowMessage('祝大家中秋快乐!');VB: Msg("祝大家中秋快乐!")VC: MessageBox("祝大家中秋快乐!");shell: echo 祝大家中秋快乐perl: print '祝大家中秋快乐'java: System.out.println("祝大家中秋快乐");powerBuilder:messagebox("祝大家中秋快乐")C#:System.Console.WriteLine("祝大家中秋快乐!")COBOL:DISPLAY '祝大家中秋快乐!'Python:print("祝大家中秋快乐!")AS:Alert.show("祝大家中秋快乐!");FLASH:trace("中秋快乐");
亚马逊AWS-云创计划.最高可达10万元免费云资源!
自己沙发 顺便送给一个快乐到死的C++程序(刚编的)#include&iostream.h&int main(){ for (int i=1;0&2;i++) cout&&"中秋节快乐";}
哥哥先闪了
买东西过中秋啊
二楼送给你
哈哈你又来了呢 哥还没走呢
知道你没走,所以才要把二楼送给你,把你给“快乐到走”啊
#include&iostream.h&int main(){ for (int i=1;0&2;i++) cout&&"^o^漂洗心中的思念,\n"&&"沉淀美好的祝愿,\n"&&"遥对九天的月圆,\n"&&"祈愿生活的美满,\n"&&"分享月饼的香甜,\n"&&"奉送祝福的心愿,\n"&&"祝愿开心到永远,\n"&&"最后祝中秋快乐。"&&}回来了 继续奉上
我也学过C,只是没学会,所以看不懂
是人就看得懂 这个是c++
看吧,我就说我看不懂,问一哈,你这个是C上加的什么?
时尚餐饮加盟店,全程帮扶,轻松开店创业!
轻拍一下.1.木有std::如何调用标准库的cout?
应该是std::cout 或者前面using一个namespace std2.无限循环的话for (int i=1;;i++) 就已经很OK了3....既然要快乐到死
那就别int了.. int最多就到21亿多次 怎么说至少也得用个long吧..楼主加油
我不是故意的...
既然是int main()...程序就必须返回一个整形的零值才行
否则会报错不返回的话必须改为void main()楼主我对不起你
我只是对9楼的"是人就看得懂 这个是c++"这句话有点小意见...楼主我真不是想故意拍你的..有句话隔行如隔山嘛
多尊重非计算机专业的同学...不懂编程也不是麻瓜啊..
呵呵,开玩笑呢。惊现技术帝啊
不敢当...这些都是visual studio的编程基本常识.....我都怕被同学看见我回这种帖子,怪不好意思的....
回这贴子,说明你基础打的好
热闹啊 我是业余的 玩玩 呵呵
我可以很负责的告诉你 return 0;可以忽视
..不知道你用的是什么IDE..我也可以很负责的告诉你,非空函数不返回会出大乱子这个函数返回是常识性问题,特别是在面向对象编程里面;如果你要学习编程,绝对不可以忽略..虽然没调试过,不过这个在vs2005以上版本绝对会报错的
其实不想讨论这个问题的...就像和小孩子讨论吃饭到底能不能无视筷子一样..
被专业人士看见讨论这个都要笑话我..常识性问题..常识性问题
来看家鸡的,家鸡果然强大
呵呵 我是vc6.0++
在这里 能运行 我只是保证在这里 其他我管不着
登录百度帐号推荐应用您的访问出错了 | 列表网
哎呀~这个页面走丢了
别担心,你还可以回家&&&
猜你喜欢:满足所有需求,助您轻松工作
不就是编程么?小编也懂if(月饼好吃){真是个幸福美满的中秋} else{分分钟诅咒月饼店老板蛋疼菊紧!}
说到月饼就不得不说公司福利(我只能说这些都low爆了)
电子产品(极少数)极少数的业界良心……平均价值≈3000RMB
购物卡(少数)最没有创意……平均价值≈300RMB
假期(少数)提前放假半天……平均价值≈200RMB
月饼(大多数)还非得印上公司logo……平均价值≈100RMB
说到福利就不得不说DevStore
申请成为特约评测员做特约供稿人
奖品=600~1000RMB时间=一周相当于月入RMB
参加源码大赛
iphone6=5288RMBiPad mini 2=2788RMBChery黑轴机械键盘=899RMB不管中哪一个都够我欣喜若狂了!
说到DevStore就不得不说中秋节祝福
全部点评(0个)
往期专题回顾
开发者交流群:
DevStore技术交流群2:
运营交流群:
产品交流群:
深圳尺子科技有限公司
深圳市南山区蛇口网谷万海大厦C栋504
Copyright (C) 2015 DevStore. All Rights Reserved&p&所谓HR眼中的干货,说白了其实就是关键词,这一关键词是HR们根据各自公司对招聘人才的需求所下的定义。HR每天都很忙的,一份简历用时最多15秒内就可以决定这份简历是否符合公司招聘要求,在这么短的时间内,他们看的就是关键词的部分,如果满足在仔细看是否给你面试机会。在每天阅读上百份简历的工作量下,关键词确实是个提高工作效率的东西。&/p&&p&关于关键词,我们来看看各行业资深的HR都怎么说。&/p&&p&&b&安能聚创 / 人事主管
我主要看重以下几点:&/p&&p&1.过往经历自己一年内的跳槽次数,离职原因&/p&&p&2.岗位匹配度&/p&&p&3.业务能力&/p&&p&4.项目经验&/p&&p&&b&红海网络 / HRM
董盈华&/b&
1、工作经历&/p&&p&2、每份工作的时间期限;&/p&&p&3、离职原因;&/p&&p&4、期望薪资;&/p&&p&5、学校和专业;&/p&&p&6、工作期望地点&/p&&p&&b&Michael page / 财税审计
1、毕业院校(海外,211,985)
4、特定培训经历&/p&&p&从业:
1、工作年限(相关工作年限)
2、行业工作年限
3、同级别企业或行业领先企业工作年限
4、职位变化
5、项目经历与成果&/p&&p&稳定:
1、职业连贯性
2、行业倾向
3、籍贯、家庭住址
4、婚姻、小孩状况
5、薪资期望&/p&&p&&b&万泉河 / 职位分析师
秦泗超&/b&
个人看简历有几个点:&/p&&p&1、跳槽率&/p&&p&2、以往的工作经验&/p&&p&3、个人最近一份工作的工作内容&/p&&p&4、个人呈现出的职业趋向&/p&&p&5、离职原因&/p&&p&6、自我评价也会看一下我注重面试的时候观察候选人自己谈个人评价的言行举止(此处信息量很大)还有其他这几个是首选的项目&/p&&br&&p&根据上面各资深hr所描述的内容,可以总结以下几点HR们所关注的干货&/p&&p&一、专业背景类&/p&&p&1、毕业院校(院校档次)&/p&&p&2、专业&/p&&p&3、学历&/p&&p&4、特定培训经历&/p&&p&二、从业背景类&/p&&p&1、工作经历&/p&&p&2、每份工作的时间期限&/p&&p&3、离职原因;&/p&&p&4、期望薪资&/p&&p&5、项目经历与成果&/p&&p&在根据上面关键词做详解之前,我不得不提一下文件名称这个点,文件名称在招聘中也是很重要的,打个比喻,如果你是HR,你们公司正在招聘3年经验的java应聘者,而你面前有上百份简历,其中有着这样一些标题《张三》,《李四 JAVA》,《王五 java+工作年限》,面对这三种类型的标题,你会愿意打开哪个?出于效率的角度,你肯定会先打开王五的简历,因为这份简历提供给你的你所关注的信息最多,能让HR的工作变得简单,在第一印象上就给了HR好感,有时候还会让HR给你降低例如从业年限这样的非硬性门栏。一个好的标题我认为应该包含的重要信息有,姓名,求职岗位,相关工作年限,电话号码,性别看行业性质再决定写与不写。&/p&&p&这里解释下为什么加上电话号码,其实这是从用户体验的角度来说,你的简历对HR有很深的印象,而他还没看完所有简历,但是她记住了你的名字,当回过头来准备打你电话的时候,你的标题上已经写了电话号码,她就不用再打开你的简历去里面找你的电话号码了,这样对HR的体验是不是很棒,更能让对方觉得你是一个靠谱的人呢?&/p&&p&现在根据以上关键词来分析一下,HR为什么会把这些东西作为干货看点,只有了解到HR在看简历时的心态和关注点,才会拿到面试机会,如果你连面试机会都拿不到,那么你的实力再强又有什么用呢?&/p&&p&一、专业背景类&/p&&p&院校档次和学历大家都懂,现在的公司招人都有学历的标准,学历和特定培训经历能证明你是否符合公司招聘条件,是否能胜任公司的工作。&/p&&p&二、从业背景类&/p&&p&这点很简单,最主要的还是看你的工作经历,有什么成就,很简单,你的成就越令人印象深刻,他们就会对你越感兴趣;越没印象,也就越不感兴趣。很多人都只在简历上列出了工作职责,却没有或没能表现出他们在这些工作上做得有多好。除了工作职责外,HR真正想要知道的其实是你把工作做得多出色,也就是你有哪些令人瞩目的成就。你的成就能让人多印象深刻就全都展现出来。你要把“成就”当做简历上可以展示自己多优秀的干货。这个“成就”不仅包括了你获得过怎样的成果,还包括了你为哪些类型的客户和项目服务过,以及你对部门和公司业务产生过多少的影响力,用数字来说明是最直观的内容。&/p&&p&关于每份工作的时间期限和离职原因其实就是看你的工作稳定性,一般行业是&=1.5年最佳,但是这不适用于IT行业, IT行业的流动性很大,这是由于市场特殊,中高级程序开发员供不应求所导致的。所以如果是IT行业,HR们一般会这么看简历,技能>经验>学历>年龄>其他。&/p&&p&项目成果这块不用写太多,写的太多HR也没那么多时间看,直接拿数据说话,拿新媒体运营来说,你花再多的言语来描述你的工作,都不如一个月5千粉丝来的实在。&/p&&p&那么怎样让简历更能吸引住HR的目光:&/p&&p&1、让简历内容突出&/p&&p&内容就是一切,所以简历一定要突出你的能力、成就以及过去经验,仅有漂亮的外表而无内容的简历是不会吸引人的。简历内容要仔细分析你的能力并阐明你能够胜任这份工作。强调以前的事件,然后一定要写上结果,比如:“组织了公司人员调整,削减了无用的员工,每年节约¥550000。”&/p&&p&2、让简历外表醒目&/p&&p&简历的外表不一定要强调,但它应该醒目。审视一下简历的空白处,用这些空白处和边框来强调你的正文,或使用各种字体格式,如斜体,大写,下划线,首字突出,首行缩进或尖头。&/p&&p&3、尽量使你的简历简短,只使用一张纸&/p&&p&雇主可能会扫视你的简历,然后花30秒来决定是否召见你,所以一张纸效果最好。如果你有很长的职业经历,一张纸写不下,试着写出最近5-7年的经历或组织出一张最有说服力的简历,删除那些无用的东西。&/p&&p&4、为你的简历定位&/p&&p&雇主们都想知道你可以为他们做什么。含糊的、笼统的并毫无针对性的简历会使你失去很多机会,所以必须为你的简历定位。如果你有多个目标,最好写上多份不同的简历,在每一份上突出重点。这将使你的简历更有机会脱颖而出。&/p&&p&5、写上简短小结&/p&&p&这其实是最重要的一个部分,“小结”可以写上你最突出的几个优点。没有什么应聘者写这几句话,但雇主们却认为这是引起注意的好办法。&/p&&p&6、强调成功经验&/p&&p&雇主们想要你的证据证明你的实力。记住要证明你以前的成就以及你的前雇主得到了什么益处,包括你为他节约了多少钱,多少时间等,说明你有什 么创新等。&/p&&p&7、力求精确&/p&&p&阐述你的技巧、能力、经验要尽可能的准确,不夸大也不误导。确信你所写的与你的实际能力及工作水平相同,还要写上你以前工作的时间和公司。&/p&&p&8、使用有影响力的词汇&/p&&p&使用这种词汇,如:证明的,分析的,有创造力的和有组织的。这样可以提高简历的说服力。&/p&&p&9、写上简短小结&/p&&p&这其实是最重要的一个部分,“小结”可以写上你最突出的几个优点。没有什么应聘者写这几句话,但雇主们却认为这是引起注意的好办法。&/p&&br&&p&10、力求精确&/p&&p&阐述你的技巧、能力、经验要尽可能的准确,不夸大也不误导。确信你所写的与你的实际能力及工作水平相同,还要记得写上你以前工作的时间和公司。&/p&&p&11、使用有影响力的词汇&/p&&p&在简历中多使用这种词汇,如:证明的,分析的,有创造力的和有组织的。&/p&&p&如果你是在国外求职,还不能忽略cover letter&/p&&p&最后,祝大家找到一个好工作。&/p&&p&文章部分内容引用自留学生求职公众号himycareer。&/p&&p&推荐几篇不错的关于写简历的文章&/p&&p&&a href=&///?target=http%3A//mp./s/KHDe6ME_-v2iMRZa7nB1yg& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如何写一份高大上的英文简历? 这篇很实用,我先收藏了&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//mp./s/zHGV7am2LDPCLC_HHiSv9A& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如何打造一份完美的简历&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=https%3A//mp./s/6FWZPsl5oYYKSIRf_-emnw& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&亚洲猎头在银行求职简历中不愿看到的七种糟糕措辞&i class=&icon-external&&&/i&&/a&&/p&
所谓HR眼中的干货,说白了其实就是关键词,这一关键词是HR们根据各自公司对招聘人才的需求所下的定义。HR每天都很忙的,一份简历用时最多15秒内就可以决定这份简历是否符合公司招聘要求,在这么短的时间内,他们看的就是关键词的部分,如果满足在仔细看是否…
&p&&b&写在前面&/b&:&/p&&ol&&li&社招和校招不一样,侧重点不同,难度也更大,我能拿到offer得益于校招。&/li&&li&985的确有一些优势,但在计算机这个行业中优势没有想象中那么大,看中学校的公司有,但不多,主要看能力,有很多学校差一点的同学去年秋招也找到了很好的工作。&/li&&li&我写的这些只是我学习过程的记录,不代表适合每个人,还是根据个人情况具体问题具体分析。&/li&&li&想要从中提取些东西的话,还是看看学习方法吧,&a href=&/question//answer/& class=&internal&&这里提到一些&/a&。&/li&&/ol&&p&------------------------------------------------------------------------------------------------------------------&/p&&br&&p&从15年9月(大三)开始自学编程,到现在17年3月,差不多1年半时间,春招拿到了几个offer,也算通过自学转行了。&/p&&br&&p&&b&背景&/b&&/p&&p&中游985电子科学与技术专业本科生,大学前没接触过编程,大一上过C++课,不过翘了大部分课和上机,都是靠考前看书通过考试,也没有学过其他计算机相关课程,刚大三时编程水平应该和零基础差不多。经过大学前两年的学习,感觉很虚,大多都是为了考试,所以大三时想要自学些技能。那时候刚上知乎,主要是看到了萧大的好多回答还有编程入门指南,然后就打算学编程,发现很感兴趣也很适合自己,就决定转行当程序员。&/p&&br&&p&&b&学习过程&/b&&/p&&p&主要是参考 &a class=&member_mention& href=&///people/fd7c571a0ada1a72e42e8d& data-hash=&fd7c571a0ada1a72e42e8d& data-hovercard=&p$b$fd7c571a0ada1a72e42e8d&&@萧井陌&/a& 和 &a class=&member_mention& href=&///people/d2facf05b31ad4& data-hash=&d2facf05b31ad4& data-hovercard=&p$b$d2facf05b31ad4&&@Badger4us&/a& 的&a href=&/p/?columnSlug=xiao-jing-mo& class=&internal&&编程入门指南 v1.5 - 知乎专栏&/a&自学的(大致按照时间顺序):&/p&&p& 0.
&b&关于看公开课、视频和看书的选择&/b&:我只看过2个公开课:1个是计算机导论课,1个是算法导论公开课,都只看了很少一部分,之后就再也没看过视频。我觉得看视频不适合自己,还是看书更有效率,也更能沉下心来(虽然看算法导论公开课是因为算法导论看不下去了)。这个根据个人情况选择吧。&/p&&ol&&li&1个月左右的时间看完了《计算机程序的构造和解释》、《C程序设计语言》和《深入理解计算机系统》,几乎没有敲代码,囫囵吞枣。&/li&&li&1个月的时间看完了《Python核心编程》和《Flask Web开发》,也在网上学了一遍HTML和CSS,跟着搭了一个博客。&/li&&li&经过最开始2个月左右时间的学习,这时候的我是非常迷茫的,感到编程很难,好像花了很多时间,学了很多东西,却没有收获到什么,自己像是空中楼阁,没有一点根基,后来就决定踏踏实实的&b&补充基础知识&/b&,向科班看齐。&/li&&li&认真看了《计算机程序的构造和解释》前三章,做了大部分习题。&/li&&li&认真看了《深入理解计算机系统》所有,做了部分习题和大部分lab(除了第四章)。&/li&&li&看了《算法导论》前几章,打算先放下,决定先深入一方面再扩宽知识面。&/li&&li&之前学习都是用虚拟机开Ubuntu,比较卡,大三寒假换成了Ubuntu单系统一直到现在。&/li&&li&寒假认真看了《Linux/UNIX系统编程手册》。&/li&&li&开学又看了一遍《C程序设计语言》,第一次看的时候只觉得难度很大,这次看发现了很多有用的东西,比如很多库函数、C语言的预处理替换、UNIX的系统命令还有很多数据结构与算法的东西,写编译器的时候也参考了里面第5章的复杂声明解析dcl;粗略看了《C和指针》、《C专家编程》和《C缺陷与陷阱》。&/li&&li&认真看了《TCP/IP详解 卷1》和《UNIX网络编程 卷1》,粗略看了《高级TCP/IP编程》。&/li&&li&结合《Redis设计与实现》看了部分redis源码,之后写了两个小项目(写的很烂)。&/li&&li&&b&关于看源码&/b&:能力不够时,不要强求去看大型开源项目源码,一是无法体会其中的设计思想;二是看不了解或者说没有用过的项目的源码会没有重点,效率很低,最好是用过、带着问题去看。之后我就很少看源码了,现在会去看。&/li&&li&认真学了《算法导论》前17章、22章和32章,做了部分习题,刷了一遍LeetCode的easy和medium就快到秋招了。&/li&&li&去年秋招的时候,感到非常虚,简历用markdown写的都写不满一页A4纸。不过因为个人原因,秋招时没打算找工作,只是想感受一下校招难度,但是最后笔试都没过,压力很大。笔试做的自我感觉还行,问题感觉出现在简历上,关键是没有项目,所以大四上除了学习新知识,重点在造轮子。&/li&&li&大四上课还很多,争取在每天8点半上课之前做完3道LeetCode题,一直做到16年底又刷完一遍easy和medium。&/li&&li&看了Flask源码,其实重点在理解WSGI、Werkzeug、HTTP等,而不是Flask。&/li&&li&通过看《C语言接口与实现》、《操作系统精髓与设计原理》、《计算机网络自顶向下方法》、《数据结构与算法分析 C语言描述》等复习。&/li&&li&学习《编译器设计》,写了一个json解析生成库,参考 &a class=&member_mention& href=&///people/88d925c6356ffd1f28f2d3& data-hash=&88d925c6356ffd1f28f2d3& data-hovercard=&p$b$88d925c6356ffd1f28f2d3&&@wgtsam&/a& 的&a href=&/question//answer/& class=&internal&&如何写一个简单的编译器? - 知乎&/a&,写了一个半成品C编译器。&/li&&li&学习《HTTP权威指南》和《Linux高性能服务器编程》,参考 &a class=&member_mention& href=&///people/88d925c6356ffd1f28f2d3& data-hash=&88d925c6356ffd1f28f2d3& data-hovercard=&p$b$88d925c6356ffd1f28f2d3&&@wgtsam&/a& 的&a href=&/p/& class=&internal&&写一个并发http服务器 - 知乎专栏&/a&,写了一个http服务器。&/li&&li&学习《Go程序设计语言》,正在学《数据库系统概念》、《数据库系统实现》来做毕设。&/li&&/ol&&br&&p&&b&如何去学&/b&&/p&&p&之前的&a href=&/question//answer/& class=&internal&&答案&/a&里写了蛮多,重点还是要多敲代码吧,多写才会踩坑,才会对书中的知识有更好的理解。 &a class=&member_mention& href=&///people/7a2d7be320e2800ccd818& data-hash=&7a2d7be320e2800ccd818& data-hovercard=&p$b$7a2d7be320e2800ccd818&&@姚冬&/a& 大大的回答 &a href=&/question//answer/& class=&internal&&编程是一门手艺&/a&
还有 &a class=&member_mention& href=&///people/c1c892f179f95da8b37a1dcc& data-hash=&c1c892f179f95da8b37a1dcc& data-hovercard=&p$b$c1c892f179f95da8b37a1dcc&&@陈硕&/a& 大大的回答 &a href=&/question//answer/& class=&internal&&抓住主要矛盾、分清主次、突出重点&/a& 对我影响也很大。&/p&&br&&p&&b&校招准备&/b&&/p&&p&在春招前我也提过一个问题&a href=&/question/& class=&internal&&如何准备才能在春招中找到合适的工作? - 知乎&/a&,不过之后出了些状况,浪费了一个月时间,没做准备就去校招了。我之前也没有专门为校招做些专项练习什么的,要说准备的话也就刷了不少LeetCode,其实主要还是为了巩固一下《算法导论》里的知识。网上的资源有很多,比如牛客网上的练习、《剑指offer》还有面经真题之类的,我不喜欢做这些东西,感觉除了笔面试有些用,对技术没什么提升。还是看个人情况吧,如果多做些,应该会有用。&/p&&br&&p&&b&春招过程&/b&&/p&&p&3月初开始春招,本来是海投的,投了不少简历,参加了不少笔试。没想到春招很顺利,一开始就拿到了一个offer,之后就拒掉了很多的笔面试,最后参加面试的都拿到了offer。校招和社招区别还是很大的,校招大多考的是&b&基础知识:操作系统、计算机网络、数据结构与算法&/b&等,数据库和编译原理提到的比较少。还会要求手写代码,感觉和平时敲代码没什么区别(我写代码用Vim,今年年初才配上ycm自动补全,LeetCode也是在网页上写)。&/p&&br&&p&&b&关于本专业课程和考研&/b&&/p&&p&从零开始自学的难度还是很大的,单靠自己压力也很大,而且还有本专业课程的压力。我是电子的,大三大四的课也不少,难度也不小,像电磁场、信号与系统什么的,还是要&b&保证在不挂科的前提下再去学习其他的知识&/b&。我从打算转行当程序员后,本专业课程就不听了,抱着自己的书坐在最后一排看,有时候老师也会问几句,我只要能保证最后考试不挂,老师也不会管我。我基础还行,学习能力也还行,所以每门课认真看两三天书就能过,成绩也还行。其实考研我也考虑过,因为如果直接找工作的话,时间怕不够,准备不充分,所以&b&读研对于自学或转行的来说会是很好的缓冲和积累的时期,也更稳妥&/b&。最后还是觉得直接工作可能对自己的提升会更大,而且当时也有不读研的理由。&/p&&br&&p&&b&动力&/b&&/p&&p&关键还是&b&兴趣和压力&/b&吧。毕竟大三才开始自学,大四就要找工作了,压力比较大,所以会推着你去学习,兴趣也是能坚持下来的原因,有时候上拉钩看看薪水也蛮打鸡血的,而且看到知乎上很多同届的甚至更小的同学已经很厉害了,自己还差的很远,也就会加倍努力。回想这过去一年多还是比较累的,每天7点多出门,晚上9,10点回到宿舍,无论是周末还是放假,因为我效率不是很高,只能多花时间来增加有效学习时间。其实还有一个更深层次的动力一直支撑着我。&/p&&br&&p&&b&一些建议&/b&&/p&&p&社招不太了解,给和我一样的学生党一些建议吧:&b&好好打基础,多敲代码,多用图书馆的资源,还要注意身体,多运动,保护眼睛&/b&。我曾经天真的以为大学里不会去一次图书馆,直到大三下学期才第一次去,发现图书管里资源那么丰富,有很多书,可以省下一些买书的钱。&/p&&br&&p&最后感谢 &a class=&member_mention& href=&///people/fd7c571a0ada1a72e42e8d& data-hash=&fd7c571a0ada1a72e42e8d& data-hovercard=&p$b$fd7c571a0ada1a72e42e8d&&@萧井陌&/a& 和&a class=&member_mention& href=&///people/d2facf05b31ad4& data-hash=&d2facf05b31ad4& data-hovercard=&p$b$d2facf05b31ad4&&@Badger4us&/a& 带我走进编程的世界。 &/p&&p&感谢 &a class=&member_mention& href=&///people/745f68a74a02e455b1e1& data-hash=&745f68a74a02e455b1e1& data-hovercard=&p$b$745f68a74a02e455b1e1&&@蓝色&/a& 、&a class=&member_mention& href=&///people/c1c892f179f95da8b37a1dcc& data-hash=&c1c892f179f95da8b37a1dcc& data-hovercard=&p$b$c1c892f179f95da8b37a1dcc&&@陈硕&/a& 、&a class=&member_mention& href=&///people/a06cfb38e37dacdf4d7f032& data-hash=&a06cfb38e37dacdf4d7f032& data-hovercard=&p$b$a06cfb38e37dacdf4d7f032&&@RednaxelaFX&/a&、&a class=&member_mention& href=&///people/60cdd8d5ddba060ef35a8a& data-hash=&60cdd8d5ddba060ef35a8a& data-hovercard=&p$b$60cdd8d5ddba060ef35a8a&&@灵剑&/a& 等大大,翻看你们的回答都有很多收获。&/p&&p&感谢 &a class=&member_mention& href=&///people/c8d22cca942a39ba1e1834& data-hash=&c8d22cca942a39ba1e1834& data-hovercard=&p$b$c8d22cca942a39ba1e1834&&@origin&/a& ,你的经历也给了我很多信心;还有 &a class=&member_mention& href=&///people/88d925c6356ffd1f28f2d3& data-hash=&88d925c6356ffd1f28f2d3& data-hovercard=&p$b$88d925c6356ffd1f28f2d3&&@wgtsam&/a& ,从你那学习了很多。&/p&&p&祝大家身体健康、学习进步、都有好offer吧。&/p&&p&P.S. &a href=&/question/& class=&internal&&offer比较:普联、美团点评、小米? - 知乎&/a& 希望大家能提下建议。&/p&
写在前面:社招和校招不一样,侧重点不同,难度也更大,我能拿到offer得益于校招。985的确有一些优势,但在计算机这个行业中优势没有想象中那么大,看中学校的公司有,但不多,主要看能力,有很多学校差一点的同学去年秋招也找到了很好的工作。我写的这些只…
&p&写在开头:我作为一个老实人,一向非常反感&b&骗赞、收智商税&/b&两种行为。前几天看到不止两三位用户说自己辛苦写了干货,结果收藏数是点赞数的三倍有余,感觉自己的无偿付出&b&连认同都得不到,很是失望&/b&。明白人都知道这是潜水伸手党的锅。但同时,截止写这段话时,我发现这篇Leetcode简略(得不能再简略的)题解得到了一千多赞,三千多收藏。所以,在我不向任何人做任何广告、收任何费用的前提下,&b&麻烦在收藏的同时,顺手点个赞(对只收藏不点赞的行为表示明确鄙视)&/b&。如果连点一个赞的力气都没有,恐怕Leetcode也就甭刷了。&b&拒绝伸手党,从你我做起。&/b&&/p&&p&// To begin with: I for one as an honest man, am always loath at the thought of &b&luring upvotes or making profit from stupid taxes&/b&. A few days ago, I saw more than a few zhihuers uttering their disappointment with their informative answers receiving three times as much bookmarks as upvotes. It takes no more than a halfwit to see that lurks are to blame. However, as of the moment of me writing this, this so very brief (hardly more so) summary of Leetcode solutions has around 1k upvotes and 3k bookmarks. &b&Being willing to share things for free requires nothing but a little bit of encouragement and recognition&/b&. As such, &b&I recommend those who choose to &bookmark& to add one extra click on the &upvote& button&/b& (my sincere despise to all ungrateful lurks), considering the fact that I ain't pushing no ads or charging no fees to nobody. IMO, you don't quite stand a chance against hundreds of Leetcode problems if you lack the strength for a mere &upvote&. &b&No bloodsucker, your choice matters&/b&.&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&这是一篇由用户&a class=&member_mention& href=&/people/758beacf56b1a3c8ee5f0fbfcca9d6e0& data-hash=&758beacf56b1a3c8ee5f0fbfcca9d6e0& data-hovercard=&p$b$758beacf56b1a3c8ee5f0fbfcca9d6e0&&@朱里&/a&整理的Leetcode题解。就是我。&/b&&/p&&p&&b&// This is a memo for Leetcode problem set, by user &a class=&member_mention& href=&/people/758beacf56b1a3c8ee5f0fbfcca9d6e0& data-hash=&758beacf56b1a3c8ee5f0fbfcca9d6e0& data-hovercard=&p$b$758beacf56b1a3c8ee5f0fbfcca9d6e0&&@朱里&/a&. That's me.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&其中的题解部分会不定期更新,因为题目实在太多了,一次并不能写完。&/p&&p&// As the number of problems is massive, I'll keep updating this article every once in a while. You don't expect me getting it done overnight, do you?&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&目前已写完567题的题解。&/b&&/p&&p&&b&// Current progress is 567/585.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&目前LeetCode出新题比较频繁。鉴于付费题目需要交钱才能刷,我打算攒到一两百题再掏钱。毕竟掏了一个月的钱,一个星期就刷完了,不怎么划算。按照目前LeetCode题目的难度和质量来看,每次出新题,基本都能马上搞定,毕竟刷了几百题,也很难再有什么新花样了。&/p&&p&// Currently LeetCode is updating problems at a fast and steady pace. The premium problems are unlocked only after payment, so I decide to take my order when there're a hundred or two available. Basically I don't deem the price quite worth, as you usually finish them off in a week while the payment is for a month. Free problems are fine, just no surprise for me anymore after doing five hundreds of them, I guess.&/p&&p&&br&&/p&&p&&br&&/p&&p&有人常常花很多时间。考虑做一件事“有什么用”?你猜我怎么想,“没什么卵用”。&/p&&p&// People tend to waste a lot of time think about the meaning of everything. Know what I think? Nothing. No, none, null, void.&/p&&p&&br&&/p&&p&&br&&/p&&p&活着、读书、上学、工作、找个人结婚、安顿下来、放弃一切理想信仰希望、混日子、变老、等死。有意义吗?没有意义吗?&/p&&p&// Live, go to school, be young and foolish, get a job, get laid, settle down, give up your dreams, beliefs and hopes, grow up into a nobody, turn old and stubborn, wither and die. What's the point? What's not?&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&所以,刷几百道Leetcode,一定能找到工作吗?别tm废话了,刷吧。&/p&&p&// So, will Leetcode land me a job after all? Tell you what, just shut the f**k up and do it. &/p&&p&&br&&/p&&p&&br&&/p&&p&为什么人生如此艰难?不为什么。&/p&&p&// Life is tough, for no reason.&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&所有题中,有大约10题左右不是独立完成,参考了网上高手的解法。&b&调试用脑子或者纸笔。基本不使用IDE,不编译运行。&/b&&/p&&p&// Among these problems, around 10 were solved after referencing clever solutions from the Internet, the rest were all solved independently. &b&Code was debugged inside my brain or on paper. IDE or compiler were hardly involved.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&总体上,代码尽量追求可读性,保证时间空间复杂度的优化,并保持风格一致。&/b&&/p&&p&&b&// In general, readability is what I care more about (compared to code length). Time and space complexity are bottom line. Consistent code style is maintained at best efforts.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&感觉现在面试题的难度也有种“通货膨胀”的趋势,以前的“hard”题目和现在的“medium”差不多,看来工作真是越来越难找了。&/p&&p&// There seem to be inflation in tech interview problems as well (AFAIK prices never go down). Those rated &medium& today are no easier than those rated &hard& in the old days. Harder to make a living, isn't it?&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&代码库地址:&a href=&/?target=https%3A///zhuli/leetcode-2& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zhuli/leetcode-2&i class=&icon-external&&&/i&&/a&&/b& &/p&&p&&b&// Code repo can be found at &a href=&/?target=https%3A///zhuli/leetcode-2& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zhuli/leetcode-2&i class=&icon-external&&&/i&&/a&.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&关于很多题为什么一句话(甚至一个词)带过,简言之就是“&b&典型题&/b&”。因为一个经过合格训练的程序员对于两百行以内的算法代码应该有足够的&b&代码阅读能力&/b&,以及&b&快速适应新语言&/b&的能力。每题的Github代码足够提供参考。&b&对于关键思路做最少的提示即可,这也是面试所能容忍的程度&/b&。超出此程度,免不了被淘汰。在不涉及软件工程、设计模式、模块接口设计的情况下,逐字逐句解释并且配上插图毫无必要。同时,&b&能五到十分钟解决的题,是不值得花二十分钟写题解的&/b&。刷一题发一篇文章,你是打算孤独终老?还是干点儿别的吧。&/p&&p&// As for why most problems are walked through by a mere sentence (even a single word), simply put, &b&they're just typical&/b&. I think a programmer with proper training should have adequate &b&competence of code reading&/b& and &b&adaptability to new languages&/b&. The given codes on Github are sufficient for the task of illustration. &b&Minimal hints on the key idea is what I deem tolerable for a real interview&/b&. Beyond that, you fail. Without involvement of software engineering, design patterns or modular interface designs, a word-by-word explanation with illustration is totally tedious. &b&Besides, a five-minute kill is not worth a twenty-minute autopsy&/b&. A post for every problem solved, serious? Looking to die alone playing Leetcode? There are better things to do for sure.&/p&&p&&br&&/p&&p&&br&&/p&&p&下面&b&以题号为顺序&/b&,对每一题的题意和解法做简要描述:&/p&&p&// Following here is a summary of description and solution for every problem I solved:&/p&&p&&br&&/p&&p&&br&&/p&&p&&a href=&/p/& class=&internal&&LeetCode 简略题解 - 1~100 - 知乎专栏&/a&&/p&&p&&a href=&/p/& class=&internal&&LeetCode 简略题解 - 101~200 - 知乎专栏&/a&&/p&&p&&a href=&/p/& class=&internal&&LeetCode 简略题解 - 201~300 - 知乎专栏&/a&&/p&&p&&a href=&/p/& class=&internal&&LeetCode 简略题解 - 301~400 - 知乎专栏&/a&&/p&&p&&a href=&/p/& class=&internal&&LeetCode 简略题解 - 401~500 - 知乎专栏&/a&&/p&&p&&a href=&/p/& class=&internal&&LeetCode 简略题解 - 501~600 - 知乎专栏&/a&&/p&&p&&a href=&/p/& class=&internal&&LeetCode 简略题解 - 601~700 - 知乎专栏&/a&&/p&&p&&br&&/p&&p&&br&&/p&&p&写题解的目的只是用于备忘和加深理解,所以有没有人看并不重要。&/p&&p&// It's just a memo to help fortify comprehension. Ain't no big deal if nobody's reading this.&/p&&p&&br&&/p&&p&&br&&/p&&p&如果有人看了后,觉得我某道题的解法有值得讨论或者错误的地方,欢迎在评论里指出。&/p&&p&// If anyone should feel the need for discussion, please leave your comment.&/p&&p&&br&&/p&&p&&br&&/p&&p&以下是更新日志:&/p&&p&// Change logs are as follows:&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&截止日02:25,Leetcode的Algorithm部分(包括付费题目)总共491题。&/b& &/p&&p&&b&// As of the moment 02:25, , there're altogether 491 problems in the Algorithm section of Leetcode.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&截止日05:02,Leetcode的Algorithm部分(包括付费题目)总共499题。&/b&&/p&&p&&b&// As of the moment 05:02, , there're altogether 499 problems in the Algorithm section of Leetcode.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&截止日15:01,Leetcode的Algorithm部分(包括付费题目)总共519题。&/b&&/p&&p&&b&// As of the moment 15:01, , there're altogether 519 problems in the Algorithm section of Leetcode.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&截止日11:13,Leetcode的Algorithm部分(包括付费题目)总共523题。&/b&&/p&&p&&b&// As of the moment 11:13, , there're altogether 523 problems in the Algorithm section of Leetcode.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&截止日21:08,Leetcode的Algorithm部分(包括付费题目)总共535题。&/b&&/p&&p&&b&// As of the moment 21:08, , there're altogether 535 problems in the Algorithm section of Leetcode.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&截止日16:52,Leetcode的Algorithm部分(包括付费题目)总共543题。&/b&&/p&&p&&b&// As of the moment 16:52, , there're altogether 543 problems in the Algorithm section of Leetcode.&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&截止日10:33,Leetcode的Algorithm部分(包括付费题目)总共585题。&/b&&/p&&p&&b&// As of the moment 10:33, , there're altogether 585 problems in the Algorithm section of Leetcode.&/b&&/p&
写在开头:我作为一个老实人,一向非常反感骗赞、收智商税两种行为。前几天看到不止两三位用户说自己辛苦写了干货,结果收藏数是点赞数的三倍有余,感觉自己的无偿付出连认同都得不到,很是失望。明白人都知道这是潜水伸手党的锅。但同时,截止写这段话时,…
&img src=&/50/v2-4a72123b8aaa9f6c59de7cc57bbeefd9_b.jpg& data-rawwidth=&1630& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1630& data-original=&/50/v2-4a72123b8aaa9f6c59de7cc57bbeefd9_r.jpg&&&p&&b&半年前给一个朋友写了一个学习编程入门的简单文档,现在放出来。这篇文章针对的是编程新手,只求能涵盖大部分常用的东西,请各位开发届大牛不吝赐教!不过请考虑文章的对象,不要吹毛求疵了?&/b&&/p&&p&&b&[计算机专业的新手们,可以看我的这个回答:&a href=&/question//answer/& class=&internal&&计算机专业大一迷茫求指点-王晋东的回答&/a&]&/b&&/p&&p&&b&本文的目录如下:&/b&&/p&&p&&b&1 平台&/b&&/p&&p&&b&1.1 桌面平台:[&/b&&b&1.1.1 Linux,&/b&&b&1.1.2 Windows,&/b&&b&1.1.2.1 .NET平台,&/b&&b&1.1.2.2 非.NET平台,&/b&&b&1.1.3 Mac]&/b&&/p&&p&&b&1.2 移动平台:[&/b&&b&1.2.1 安卓Android,&/b&&b&1.2.2 iOS,&/b&&b&1.2.3 Windows Phone]&/b&&/p&&p&&b&1.3 Web平台:[&/b&&b&1.3.1 前端,&/b&&b&1.3.2 后端]&/b&&/p&&p&&b&2 语言&/b&&/p&&p&&b&[2.1 C, &/b&&b&2.2 C++, &/b&&b&2.3 C#, &/b&&b&2.4 Java, &/b&&b&2.5 HTML, &/b&&b&2.6 PHP, &/b&&b&2.7 Python, &/b&&b&2.8 ASP.NET, &/b&&b&2.9 其他]&/b&&/p&&p&&b&3 工具&/b&&/p&&p&&b&[3.1 Visual Studio, &/b&&b&3.2 Eclipse, &/b&&b&3.3 Intellij IDEA, &/b&&b&3.4 Android Studio, &/b&&b&3.5 XCode, &/b&&b&3.6 Pycharm]&/b&&/p&&p&&b&4 辅助&/b&&/p&&p&&b&[4.1 数据库, &/b&&b&4.2 Github, &/b&&b&4.3 MOOC]&/b&&/p&&br&&b&1.平台&/b&&p&&b&1.1 桌面平台&/b&&/p&&p&桌面平台以操作系统来分类,分为Linux、Windows和Mac三个平台。&/p&&p&1.1.1 Linux &/p&&p&Linux是著名的黑客Linus在大学开发的开源操作系统,建立在早期的Unix内核基础上。由于它优良的特性及开源的管理方式,吸引了全球大批的开发者使用。Linux一般是用于服务器,因为它作为一个操作系统来说本身极其优秀,适合在后台作为服务器系统持续稳定地运行。
Linux上的编程是比较基础的,考察你对命令的掌握情况,不过对于新手的话,还是有一定难度的。虽然号称掌握了Linux就说明是个大牛,但是至少这种言论是片面的。不过学习Linux确实能提高对计算机的理解能力,这方面比较好的书有一个叫[《鸟哥的Linux私房菜》](&a href=&/?target=http%3A//vbird.dic.ksu.edu.tw/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://vbird.dic.ksu.edu.tw&i class=&icon-external&&&/i&&/a&),专门为学Linux写的好多书,业界评价很高。&/p&&p&1.1.2 Windows &/p&&p&Windows是使用最为广泛的操作系统,粗略分类也可以为分个人用户版本(专业版,基本版,家庭版等)和服务器版本(Windows Server)。不过由于Win10的推出,Windows现在实行全平台统一内核的方式管理,又新增了嵌入式版本的Windows。
Windows上的编程是最基本的,因为绝大多数人都在用Windows。从QQ到英雄联盟,从快播到书店管理系统,从ATM到银行交易,基本都是在用Windows(当然,很大一部分后台都是Linux。Windows和Linux是最重要的操作系统)。Windows下有很多的编程框架,大致可以分为两种:一种是微软出品的(限于Windows就是微软的)以.NET为代表的编程框架,另一种是其他第三方的平台。 &/p&&p&1.1.2.1 .NET平台 &/p&&p&以前的.NET只能运行在装有特定版本的Windows操作系统上。.NET伴随着Windows的更新也一直从1.0升级到如今的4.5.以.NET为母体,如今微软将.NET开源了,苹果和linux都可以用了。通过mono,可以在各个操作系统上调用.NET。不过,真正拿.NET主力开发的,恐怕大多数还是windows吧。有MFC(C++,非常古老)、WinForm(C#,主流)、WPF(C#)等编程框架。 &/p&&p&- MFC:很古老的一种编程框架,用C++写的,有控件,有事件,有服务,很完备。缺点就是东西太古老,不好用,现在各高校仍然有课程在用(比如图像处理等),但是做这东西事倍功半,不推荐; &/p&&p&- WinForm:非常主流的编程框架,很多软件都是用这个框架做的。用C#作为编程语言,运行很稳定,好上手,开发成本低。 &/p&&p&- WPF:微软新推出的编程架构,界面很绚丽,用XAML+C#作为开发语言,优秀的MVC架构,是未来的趋势。可惜发布时伴随着Vista系统的失利,加上其本身庞大的资源消耗,所以基本上没有多少人在用。不过它的思想是先进的,一路走来赶上win8和win10(商店应用)都是在用的。&/p&&p&1.1.2.2 非.NET平台 &/p&&p&非.NET平台的框架一般都可以跨平台使用。 &/p&&p&- Qt:诺基亚出品的编程框架,用C++开发。有自己的界面库,支持跨平台。在前些年很火,不过现在不流行了。 &/p&&p&- Java平台:Java本身是个语言,但是基于Java有很多开源的框架和平台,如Swing等,都提供自己的控件。不过运行效率太低,因为Java本身就是个虚拟机。目前随着硬件平台效率的提高,已经不是问题。绝大多数服务器后台都运行的是java。&/p&&p&- 还有其他的平台,在Windows上使用率基本很少。
&/p&&p&1.1.3 Mac &/p&&p&Mac是苹果专用操作系统,苹果系统很大一部分软件都是用Mac下的软件开发工具做的。Mac下的开发框架叫Cocoa,iPhone下的叫CocoaTouch(多了个touch)。当然,Mac下的软件也可以用上面的跨平台的框架来开发。这方面不做过多介绍。
&/p&&p&&b&1.2 移动平台 &/b&&/p&&p&现在最火的就是移动平台了,这一点毋庸置疑。&/p&&p&1.2.1 安卓Android &/p&&p&安卓是一个开源的操作系统,在2008年首次推出,之后由Google收购,到现在是最火的操作系统。Android的内核是基于Linux的,由于其开源的特性,所以很好定制,使得Android在短短几年内迅速占据移动操作系统的三分之二。
Android开发是基于Android提供的SDK(软件开发包)进行的。主要的开发语言是Java(用来写后台逻辑)和XML(用来写界面)。
Android开发有一些书,这方面比较有代表性的是[《疯狂Android讲义》](&a href=&/?target=http%3A///link%3Furl%3D3F3mKbqwbSltlxUeAkHvvoZ7Jd75ARqZelRD-kGbGiqMqcdIx5s850Euj-4dzlf-cFnruYaKCiX69YV8fLZWw_& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&疯狂Android讲义_百度百科&i class=&icon-external&&&/i&&/a&).
早期(2013年前)Android的开发环境是Eclipse,配合Android的SDK、模拟器等,后来Google推出了整套的Android Studio进行安卓开发,效率非常高,现在基本都在采用Android Studio进行开发。 &/p&&p&- [视频教程](&a href=&/?target=http%3A///course/android/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&安卓Android开发_安卓Android开发视频教程从入门到精通 - 麦子学院&i class=&icon-external&&&/i&&/a&)&/p&&p&1.2.2 iOS &/p&&p&iOS是苹果iPhone以及iPad上的操作系统,只能在苹果机开发,只能用在苹果产品上。iOS是一个及其优秀的移动操作系统,安卓在发展的早起,很多都是借鉴了iOS的开发经验做的(当然,后来就互相抄袭了)。iOS开发使用苹果出品的XCode软件进行,这个软件还可以用来开发Mac下的软件。XCode是一整套的开发工具的集合,可以设计界面、进行调试、上传到应用商店等。iOS开发使用Objective-C编程语言和Swift编程语言,后者是苹果在2013年6月推出的新一代编程语言,集合了当下所有语言的优良特性,大有取代Objective-C的意思。所以Swift一直很火。这方面的教程有: &/p&&p&- [斯坦福大学公开课iOS开发](&a href=&/?target=http%3A///special/opencourse/ios8.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&斯坦福大学公开课:iOS 8开发&i class=&icon-external&&&/i&&/a&) &/p&&p&- iOS开发指南等。&/p&&p&1.2.3 Windows Phone &/p&&p&Windows Phone是微软出品的手机操作系统,现在已升级到了Windows Mobile 10.它的开发环境是Visual Studio,用C#进行开发,基本就是windows下开发软件(WPF)的模型是一致的。虽然我在大学做的最多的就是WP(因为上手快,微软的教程给力),但是它的市场占有率多年来一直升不上去。希望得益于Windows10的爆发,能给点力。这方面不给教程了。 &/p&&p&&b&1.3 Web平台&/b&&/p&&p&Web平台的编程基本是基于服务器的编程。这方面分为网页(前端)和服务(后端)。 &/p&&p&1.3.1 前端 &/p&&p&前端就是我们所看到的网页。比如[百度](&a href=&/?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&百度一下,你就知道&i class=&icon-external&&&/i&&/a&)的首页很朴素,[QQ浏览器](&a href=&/?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&QQ浏览器9官方网站 - 浏览器_浏览器下载_微信电脑版&i class=&icon-external&&&/i&&/a&)的首页就很酷炫,等等。这些是用什么实现的?
实现语言会在后面再介绍。概括来说 &/p&&p&- html是所有网页语言的鼻祖,网页都得用它; &/p&&p&- CSS就是一个样式选择器,那些字体、颜色等都是用的CSS来控制的; &/p&&p&- javascript是网页脚本(它可和java没有半点关系),是用来写简单的后台逻辑交互和前端界面交互的; &/p&&p&- html5是最新的html的版本,支持众多的界面特性。QQ浏览器的首页就是用html5做的。 &/p&&p&1.3.2 后端 &/p&&p&后端是用户看不到的,小到注册一个用户,大到处理几十万的数据,都是后端来做。这方面典型的开发语言是C++、Java、php和python、ASP等。
后端是基于服务器进行的开发。基本上在软件工程中处于很顶级的地位。这方面用Java开发是业界很流行的,因为Java没有C++那么难写,本身又有很多框架,比如Spring等,非常适合写后台的数据交互。 &/p&&p&&b&2.语言&/b&&/p&&p&&b&计算机编程语言有几百种,小到智能手机,大到服务器集群,都运行着各种各样的编程语言写的程序。没有哪一种程序就比另一种高贵,都各司其职,完成我们交给他们的任务。&/b&&/p&&p&&b&计算机专业的学生一般学习编程都是从C或者C++开始的。这两种语言在大多数高级语言中出现较早,影响力也很大。对于计算机专业,当然要学好这两种语言,才能为以后学习其他语言打下基础。&/b&&/p&&p&&b&对于非计算机专业或者以前从没接触过编程的同学来说,不建议上手就学C和C++,因为它们偏难,而且并不是必须的。对于这些背景的同学,十分建议学Python。因为Python首先是跨平台,然后,没有特别复杂的语法(至少完成日常使用不需要),最重要的是,有各种各样的包能支持你做各种各样的事情!&/b&&/p&&p&&b&2.1 C &/b&&/p&&p&C是基础性语言。它不是面向对象的,是面向过程的语言。C诞生于1972年,其优良的特性很高的效率使它长期占据编程语言排行榜第一名。C可被广泛用于桌面、服务器、嵌入式开发中。 &/p&&p&- [C程序设计视频教程](&a href=&/?target=http%3A///courses/course-v1%3ACAU%2BB2015_T2/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&C程序设计案例教程(2015秋季)-学堂在线慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&) &/p&&p&&b&2.2 C++&/b&&/p&&p&C++可以看作是对C的扩展,增加了面向对象的机制。什么是面向对象?简单来说就是,所有的要操作的物体都是对象,比如一个人是一个对象,一条狗也是一个对象。接着就可以在对象上定义操作,比如人走路是一个函数,人吃饭也是一个函数。这样设计的好处就是可以封装起来多次使用,也可以进行继承。保留总体的相似性,又不失个体的个性。比如张三和李四都是继承人这个类,但是张三吃饭要3分钟,李四就要10分钟,这就是个性。面向对象设计的思想可以在[这里](&a href=&/question/& class=&internal&&什么是面向对象编程思想? - Java - 知乎&/a&)找到进一步的阐述,这基本是所有现代主流语言的基础。会面向对象,所有的语言学起来特别快。
C++可以被广泛用于桌面端、服务器和嵌入式的编程,使用程度非常广泛,但是由于它的语法很难(主要是指针操作)、没有现成的SDK进行封装,所以并不是很适合用来写移动端的应用。
可以认为,C++什么都能干,它太基础了,效率是高级语言中最高的,但是术业有专攻,它并不是都适合写各个平台的应用。&/p&&p& - [C++程序设计视频教程](&a href=&/?target=http%3A///courses/course-v1%3APekingX%2Bx%2B2015T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&C++ Programming | C++程序设计&i class=&icon-external&&&/i&&/a&)
&/p&&p&&b&2.3 C#&/b&&/p&&p&C#是微软是2000年推出的在.NET平台上的编程语言,没有指针,集合了大多数面向对象语言的精髓,好学好用,效率也不低,是主流的windows桌面应用和部分windows服务器后台的编程语言。 &/p&&p&- [C#视频教程](&a href=&/?target=http%3A///courses/course-v1%3AMicrosoft%2BDEV204x%2B2015_T4/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&C#编程-学堂在线慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&)
&/p&&p&&b&2.4 Java &/b&&/p&&p&Java和C#类似,差不多简单。但是Java是跨平台的,可以写桌面、移动(安卓)和后台服务器,用处非常广泛,框架也最多。 &/p&&p&- [Java视频教程](&a href=&/?target=http%3A///courses/search%3Fquery%3Djava& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&学堂在线-最大的中文慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&)
&/p&&p&&b&2.5 html&/b&&/p&&p&html和javascript、css等都是开发网页前端界面显示的语言,是很轻量级的。 &/p&&p&- [html等教程](&a href=&/?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Codecademy - learn to code, interactively, for free&i class=&icon-external&&&/i&&/a&)
&/p&&p&&b&2.6 php &/b&&/p&&p&php是用来开发服务器后端的语言,非常好学好用,语法很简单。 &/p&&p&- [php教程](&a href=&/?target=http%3A//.cn/php/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PHP 教程&i class=&icon-external&&&/i&&/a&)
&/p&&p&&b&2.7 python &/b&&/p&&p&Python是一种脚本语言,执行效率很低,但是语法异常简单,c++写几十行的东西,它几行就可以搞定。Python理论上可以用在任何地方,但是基本上常用于后台服务器和一部分科学研究。作为脚本语言,Python是优秀的。 &/p&&p&- [python教程](&a href=&/?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Codecademy - learn to code, interactively, for free&i class=&icon-external&&&/i&&/a&) &/p&&p&- 推荐的一个教程:&a href=&/?target=http%3A///article/115c918a094db03d27bf9a9000& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python 3教程发布&i class=&icon-external&&&/i&&/a&&/p&&p&2.8 &a href=&/?target=http%3A//ASP.NET& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&ASP.NET&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& &/p&&p&&a href=&/?target=http%3A//asp.net/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://ASP.NET&i class=&icon-external&&&/i&&/a&&a href=&/?target=http%3A//asp.net%25E6%2598%25AF%25E5%25BE%25AE%25E8%25BD%25AF%25E5%2587%25BA%25E7%259A%%E6%259C%258D%25E5%258A%25A1%25E5%%25E5%E7%25AB%25AF%25E4%25B8%258E%25E9%%25E5%E5%E7%25AB%25AF%25E7%259A%%25A1%%259E%25B6/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://ASP.NET是微软出的写服务器后端与部分前端的框架&i class=&icon-external&&&/i&&/a&。用C#和html编程。 &/p&&p&- [视频教程](&a href=&/?target=http%3A//www.51zxw.net/list.aspx%3Fcid%3D410& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ASP.NET基础实例教程-我要自学网&i class=&icon-external&&&/i&&/a&)
&/p&&p&&b&2.9 其他&/b&&/p&&p&其他语言还有几十种,但是都不是很常用。这是不再介绍。
学会面向对象编程思想,走遍天下都不怕。 &/p&&p&&b& 3.工具&/b&&/p&&p&&b&3.1 Visual Studio&/b&&/p&&p&微软出品的宇宙最强编程工具,没有之一。
VS可以被广泛用于桌面、服务器和移动端的编程,最新的VS也可以用来做安卓和iOS,其性能之彪悍功能之强大是宇宙第一。写C、C++、C#的天然平台,也可以用来写Python、html等。 &/p&&p&- [VS的官网](&a href=&/?target=https%3A///zh-cn/visual-studio-homepage-vs.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Visual Studio Home&i class=&icon-external&&&/i&&/a&)
&/p&&p&&b&3.2 Eclipse&/b&&/p&&p&Eclipse是免费开源的软件。它是一个软件平台,配合丰富的插件,可以用来写Java、php、C++、Python等,用来写桌面、服务器应用。 &/p&&p&- [Eclipse官网](&a href=&/?target=http%3A//www.eclipse.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Eclipse - The Eclipse Foundation open source community website.&i class=&icon-external&&&/i&&/a&) &/p&&p&&b&3.3 intellji IDEA&/b&&/p&&p&Intellij IDEA是捷克Jetbrains公司出品的收费的编程软件。是Eclipse的替代品。可以把它叫做java界的Visual studio。用来开发基于Java的任何应用。Android Studio就是基于这个软件的框架进行开发的。 &/p&&p&- [intellij IDEA官网](&a href=&/?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&JetBrains: Development Tools for Professionals and Teams&i class=&icon-external&&&/i&&/a&) &/p&&p&&b&3.4 Android Studio&/b&&/p&&p&开发安卓的集成工具。 &/p&&p&- [网站](&a href=&/?target=http%3A///link%3Furl%3DckxMsBEZ42QFFLmh0KtPkZLHHcFMaVnxPwfDvUdFFNsyo1RtqvnyaodTIqqw9Z5z%26wd%3D%26eqid%3Dfedbbe0f& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/link?&/span&&span class=&invisible&&url=ckxMsBEZ42QFFLmh0KtPkZLHHcFMaVnxPwfDvUdFFNsyo1RtqvnyaodTIqqw9Z5z&wd=&eqid=fedbbe0f&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&)
&/p&&p&&b&3.5 XCode&/b&&/p&&p&XCode是用来开发iOS和Mac下的软件的,也就是说它只能运行在苹果电脑上。XCode可以编写的语言主要有C/C++,Objective-C以及swift等。其他XCode个人感觉并不是太优秀,有很多不如人意的地方,不过没办法,你想做苹果的东西只能用这个。JetBrains公司出了一个Mac下写苹果软件的IDE叫做AppCode,我也用过,体验还可以。不过话说回来,有官方的东西就有官方的支持,用第三方的难免会出现不必要的问题,最多也就当个备用吧。&/p&&p&&b&3.6 PyCharm&/b&&/p&&p&PyCharm也是JetBrains公司出的专门用来写Python的IDE。它基本可以说是Python界的Visual Studio,想要的功能基本都有。更新也很频繁,目前我一直在用它。&/p&&p&&b&4.辅助&/b&&/p&&p&&b&4.1 数据库&/b&&/p&&p&数据库是存储数据的媒介,所有后台数据交互的都必须有数据库参与。目前最常用的数据库有Oracle、SQL Server、MySQL、MongoDB等。数据库独立于编程语言,由特定的SQL语法进行支持。 &/p&&p&&b&4.2 Github &/b&&/p&&p&[Github](&a href=&/?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Build software better, together&i class=&icon-external&&&/i&&/a&)是世界上最大的开源软件管理平台。本文就托管在github上。世界各地的程序员把他们写的各种类型各种语言的代码托管在github上实现共享,有利于软件行业的发展。git代码管理平台是现在最火的版本控制工具。
iOS、安卓等有很多有名的项目都是托管在github上的。
&/p&&p&&b&4.3 MOOC&/b&&/p&&p&这个主要是网络公开课。现在最火的受教育形式。
近几年,MOOC越来越火,课程的数量和质量都不断发展,给了我们足不出户就能领略世界大师风采的绝佳机会。本文有很多链接都是公开课的。推荐的不错的有: &/p&&p&- [网易公开课](&a href=&/?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&网易公开课&i class=&icon-external&&&/i&&/a&),资源比较多,各个领域都有,里面有计算机板块,中国外国都有。上面说的MIT的算法,我们都是在上面学的,老师讲的特别好。另外它还有不断更新的TED视频,很值得一看。&/p&&p&- [coursera](&a href=&/?target=http%3A//coursera.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera | Online Courses From Top Universities. Join for Free&i class=&icon-external&&&/i&&/a&),斯坦福机器学习大牛Andrew Ng联合成立的,上面都是外国大牛校的视频。我研究生课程里的机器学习就是学的这上面的,不错。 &/p&&p&- [果壳MOOC学院](&a href=&/?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MOOC学院(慕课)| 发现全球在线好课&i class=&icon-external&&&/i&&/a&),它只是一个公开课搜索中心,帮助你链接到各个mooc课程。 &/p&&p&- [学堂在线](&a href=&/?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&学堂在线-最大的中文慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&),清华主导的,网站做的不错,课程质量很高,这个是要着重推荐的,我也是最近才发现,上面的计算机和数值方面课程不错。&/p&&p&- [codecademy](&a href=&/?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Codecademy - learn to code, interactively, for free&i class=&icon-external&&&/i&&/a&),这不是公开课网站,是一个手把手教你学习web语言的。这里有Ruby,python,html等热门web语言,而且教程设计丰富而有趣,感觉是学前端最好的地方了。 &/p&&p&- 网络资源:大牛的博客什么的,这方面我就没什么好推荐的了,看你的水平去发掘了。百度和google你是当然离不开的了。翻墙什么的你自己去弄吧,反正百度没有的东西,你可以去google,google也没有,你可以尝试一下用英文搜索,效果非常好!这里推荐stackoverflow网站,只要你有解决不了的问题,用英文上google搜,如果stackoverflow里有类似问题,恭喜你肯定能解决。 &/p&&p&- 书籍:我们计算机方面有很多经典的书,比如高德纳老爷爷的《计算机程序设计艺术》相信你一定听过,网上都有pdf下载,可以看一看。另外,我们这个方面像《XXX精通》等书太多了,而且基本都是大部头的,还能防身呢!这个推荐你能下pdf就下pdf,不然这么大,有个三五本就够你受的了。这些书都是当字典用的,千万不要从第一页码开始一页一页读!效率低而且你会发现没用。这都是你在遇到问题时去查的,不是让你真学的。 &/p&&p&- [我在知乎上关于计算机学习的一个回答](&a href=&/question//answer/& class=&internal&&大一迷茫求指点? - 王晋东不在家的回答 - 知乎&/a&)
半年前给一个朋友写了一个学习编程入门的简单文档,现在放出来。这篇文章针对的是编程新手,只求能涵盖大部分常用的东西,请各位开发届大牛不吝赐教!不过请考虑文章的对象,不要吹毛求疵了?[计算机专业的新手们,可以看我的这个回答:
跑个题:&br&虽然你现在知道了很多Linux书,但你还是需要这个: &a href=&///?target=http%3A//wiki.archlinux.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ArchWiki&i class=&icon-external&&&/i&&/a&&br&这个虽然是ArchLinux这个发行版的维基,但是里面资料超多,基本上配置什么服务、出现什么疑难杂症,都可以参考ArchWiki。
跑个题: 虽然你现在知道了很多Linux书,但你还是需要这个:
这个虽然是ArchLinux这个发行版的维基,但是里面资料超多,基本上配置什么服务、出现什么疑难杂症,都可以参考ArchWiki。
&p&做过4年项目经理,招过不少开发人员(主要是JAVA WEB方向),既然题主问的是初学者,那么就聊聊站在项目经理的角度招初级开发人员的体会,希望能给你有所启发。&/p&&p&招人有个背景,不同的项目,系统,对开发人员的要求是不一样的。 我带的团队当时做的是上海大众商品车运输管理系统(TMS)和仓储管理系统(WMS)。 这是一个业务系统,所以对于初级程序员的要求没那么复杂,就是来了之后,可以较短的时间内上手,干活。 业务系统嘛,主要还是围绕CRUD进行。&/p&&p&建立在这样的技能需求的基础之上,我进行面试的时候,就分几个层次进行了&/p&&p&1. 根据求职者简历上的项目描述,我会选一个典型功能让他说是怎么做的,比如登陆/注册/购买/分页&/p&&p&从求职者的表达里,我会观察他是否把基本的业务逻辑搞明白,技术调用思路理清楚没有,当然还有表达是否通顺。 这个功能说不清楚,我会再换个功能让他说。 既然是写在他简历上的,自然默认这些都是他做的,如果连自己做的都说不清楚,会怀疑其真实性,就Pass了。只要是自己做的,那么就像讲述自己的故事一般自然而然就可以这部分内容阐述出来了。&/p&&p&2. 然后是理解程度的问题&/p&&p&还是以一个简单的登陆为例子,如果把流程都说明白了,我就会问关于http协议的理解,不同提交方式的区别,中文的处理,SQL注入,页面跳转背后的区别等等,也就是按照调用过程里面涉及的到的各种技术,深浅不一地挖掘一下他都掌握到什么程度。 这样我问起来也轻松,按照思路走就是了,反正一路上都是各种技术,都会有各种坑,看看他碰到过些什么,自己都是这么解决的。 在这个过程中,我就会观察到他对技术的理解程度,也能反映第一个问题是背书答出来的,还是确实是自己做的。 业务系统嘛,对初级程序员要求真不高,只要走过一遍了,其他的相仿功能都能触类旁通。当然,前提是,你得把走过的这一遍里的坑,七七八八都踩过,并且自己解决过,光是抄别人的项目,在这里是很容易露馅的。&/p&&p&3. 第二步答上了,那么七七八八差不多就是候选人了,和其他几个候选人比较一下是否有亲切感,薪资要求的差别,感觉会不会好相处什么的就定了。 如果第二步答得比较理想,我还会问一些对初级程序员来说比较难的问题,实际工作也不怎么用的,比如反射,JVM是如何进行synchronized处理的,ClassLoader,垃圾回收的几种算法以及优缺点等等。 看看求职者的技术积累如何,学习意愿如何什么的。 这里也有一个心理,如果你问的求职者都答上了,他来了,会不太好管,他会觉得什么鸟公司,要求这么低,老子全都会。 如果你有几个问题难住他,都是搞技术的,你在他心中地位会不太一样,带起来也听话一点。 当然了,这些问题,我也不期待他全部都答上,都答上,你就奔中高级开发人员去了,初级程序员这点钱,你也呆不久。 换句话说,去求职初级岗位的同学们,就算碰上特别难的面试,也不用太慌张,初级岗位嘛,又给不了多少钱的,哪能什么都要会,心放宽一点,哈哈&/p&&p&总体来说:&/p&&p&我希望你给我的简历是真实的,假的很容易被识破,直接就pass了。&/p&&p&我希望你做过的一些典型的应用场景,来了能够举一反三很短的时间就上手干活。&/p&&p&我希望你比较好相处,大家可以比较愉快地共事。&/p&&br&&p&至于说编程之外其他的,说实在的,我并没有经历过任何一家公司真正在乎一个初级程序员的职业发展。 所以心态放好,拿钱干活,工作任务完成之余,再根据自己对业务的体会,对技术的感知,对未来的规划,对自己性格的了解,该学什么就学什么吧,所有的积累,在最后都会以某种形式回报给你。&/p&
做过4年项目经理,招过不少开发人员(主要是JAVA WEB方向),既然题主问的是初学者,那么就聊聊站在项目经理的角度招初级开发人员的体会,希望能给你有所启发。招人有个背景,不同的项目,系统,对开发人员的要求是不一样的。 我带的团队当时做的是上海大众商…
&img src=&/50/v2-be6d2e0da690_b.png& data-rawwidth=&438& data-rawheight=&247& class=&origin_image zh-lightbox-thumb& width=&438& data-original=&/50/v2-be6d2e0da690_r.png&&&p&&strong&前言&/strong&&/p&&p&作为小魔方的队友,我真的惊呆了,Excel竟能绘制这么好看的堆积柱形图和百分比堆积柱形图,很佩服小魔方的学习能力与创新能力。我的Excel水平感觉远远不如小魔方啊,佩服之极!很高兴能成为小魔方的队友!&/p&&p&---张杰&/p&&br&&p&前天看到DP(Excel绘图发烧友)在本平台授权发布的华尔街日报面积图仿制图,刚好想起来一个半月前自己也曾做过这个案例。&/p&&img src=&/v2-b037e18f3edb792ad39e5eb_b.png& data-rawwidth=&445& data-rawheight=&383& class=&origin_image zh-lightbox-thumb& width=&445& data-original=&/v2-b037e18f3edb792ad39e5eb_r.png&&&p&当时我用了很复杂的数据组织,结合了面积图和柱状图,虽然效果很逼真,但是接口除出现了轻微的错位,留下了一大遗憾。&/p&&p&当时虽然知道要用时间刻度来处理这一问题,但是因为眼高手低,一直没有操作,今天接着DP前一篇的案例,简单介绍下自己的方法(与前一篇的方法所使用的技巧是一致的),同时作为扩展,再赠送两个案例。&br&&/p&&p&为了对比,我先给出自己之前老版本的数据源组织:&img src=&/v2-97bec6dbdeade_b.png& data-rawwidth=&656& data-rawheight=&247& class=&origin_image zh-lightbox-thumb& width=&656& data-original=&/v2-97bec6dbdeade_r.png&&&/p&&img src=&/v2-bc7a4debfef3a611d9032_b.png& data-rawwidth=&655& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&655& data-original=&/v2-bc7a4debfef3a611d9032_r.png&&&p&以上老方法可以近似原图效果(实际上接口处是有轻微错位的,放大之后可以看得很清楚)。&img src=&/v2-d387ff5c3adbbbbd4d69d_b.png& data-rawwidth=&661& data-rawheight=&498& class=&origin_image zh-lightbox-thumb& width=&661& data-original=&/v2-d387ff5c3adbbbbd4d69d_r.png&&&/p&&p&DP大神的方法比较简单一些,使用的是时间刻度+面积图。&br&&/p&&img src=&/v2-328ddb3771a8f_b.png& data-rawwidth=&479& data-rawheight=&425& class=&origin_image zh-lightbox-thumb& width=&479& data-original=&/v2-328ddb3771a8f_r.png&&&p&该方法固然精妙,但是对于excel图表技巧不太熟悉的小伙伴儿们,可能就有点儿摸不着头脑了。&/p&&p&因为此方法将原数据的首行作为面积图的X轴(时间刻度格式)、将其他各行(一共18行)作为面积图的数据序列,以错行数据来使得面积图逼近原图效果。(实际上数据源使用的是指标数据的累计和,借用面积图类型制作,通过低值面积块与高值面积块的层层遮盖来逼近原图效果)&/p&&p&接下来我使用之前的老方法改进后的简便方法(所用核心技巧与DP一致)&/p&&img src=&/v2-954ecbadeb1d2e9_b.png& data-rawwidth=&539& data-rawheight=&291& class=&origin_image zh-lightbox-thumb& width=&539& data-original=&/v2-954ecbadeb1d2e9_r.png&&&br&&p&该方法与上一步指出的DP大神的方法是一致的,只是转换了行列,同时将累积和数据转换成了单值数据,这样便于使用堆积面积图来还原案例。&br&&/p&&p&按照我最初的想法,我将数据源整理成行排列,首列是时间轴(X轴)数据,这里我刻意将接口处的数据序列全部排成单行,以便大家体会时间刻度的奇妙用法。&/p&&p&按照上述数据源,插入——面积图——堆积面图,然后为图表指定X轴为首列(A)数据,并更改为时间与日期刻度。&/p&&p&这时候通过数据错行组织,堆积面图便可以近似还原案例图表效果。剩余的就是搭配色彩和文本信息。&img src=&/v2-d5f2a944d5e_b.png& data-rawwidth=&609& data-rawheight=&423& class=&origin_image zh-lightbox-thumb& width=&609& data-original=&/v2-d5f2a944d5e_r.png&&&/p&&br&&p&这里的文本信息,特别是左侧文本标签和右侧的数值标签,你可以通过手动添加,但是如果想要更加智能一点的自动生成,也可以尝试在现有图表序列基础上通过添加折线图序列来完成。&br&&/p&&p&左侧的文本标签所需的辅助散点图序列和右侧的数值标签所需的辅助散点图序列数据源如下:&img src=&/v2-a5baad74ce9e4ed78a3a1_b.png& data-rawwidth=&660& data-rawheight=&296& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&/v2-a5baad74ce9e4ed78a3a1_r.png&&&/p&&img src=&/v2-fdbb97db6cb4c_b.png& data-rawwidth=&620& data-rawheight=&360& class=&origin_image zh-lightbox-thumb& width=&620& data-original=&/v2-fdbb97db6cb4c_r.png&&&br&&p&整体图表的最终效果如下:&img src=&/v2-e6a4d3296dddae_b.png& data-rawwidth=&612& data-rawheight=&452& class=&origin_image zh-lightbox-thumb& width=&612& data-original=&/v2-e6a4d3296dddae_r.png&&&/p&&p&因为时间刻度的技巧,之前推送过的文章里多有介绍,这里不再深入讲解,亲手去操作几个案例,理解的会更加深刻。&/p&&p&接下类是两个类似的使用时间刻度并与以上案例非常相似但是难度加倍的华尔街日表案例:&/p&&img src=&/v2-dfec148a4758_b.png& data-rawwidth=&601& data-rawheight=&443& class=&origin_image zh-lightbox-thumb& width=&601& data-original=&/v2-dfec148a4758_r.png&&&img src=&/v2-db9b39c9d2dddd2dfa282ce_b.png& data-rawwidth=&655& data-rawheight=&442& class=&origin_image zh-lightbox-thumb& width=&655& data-original=&/v2-db9b39c9d2dddd2dfa282ce_r.png&&&br&&p&其实后两者的技巧与上文讲过的案例如出一辙,第二个案例只是增加了更多的时间刻度,第三个案例通过在首尾各隐藏一个辅助面积块区域,来将例2的面积块区域逼近到水平居中的位置。&br&&/p&&p&这里只给出案例数据源组织方式,因为案例过于繁杂,实用性不强,不做过多介绍,感兴趣的读者可以私下交流。&/p&&p&图2:多节阶梯图&img src=&/v2-a79e10d023dcde83a0a81d_b.png& data-rawwidth=&447& data-rawheight=&888& class=&origin_image zh-lightbox-thumb& width=&447& data-original=&/v2-a79e10d023dcde83a0a81d_r.png&&&/p&&img src=&/v2-ba6d34d53bdcc8_b.png& data-rawwidth=&437& data-rawheight=&653& class=&origin_image zh-lightbox-thumb& width=&437& data-original=&/v2-ba6d34d53bdcc8_r.png&&&br&&p&图3:漏斗状阶梯图&img src=&/v2-b25d40e22da5b6a19fbff2_b.png& data-rawwidth=&512& data-rawheight=&893& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&/v2-b25d40e22da5b6a19fbff2_r.png&&&/p&&img src=&/v2-4a203cb393d2c0_b.png& data-rawwidth=&505& data-rawheight=&929& class=&origin_image zh-lightbox-thumb& width=&505& data-original=&/v2-4a203cb393d2c0_r.png&&&br&&p&特别是图3,在每一个序列首尾两个值=(MAX(所有十八个序列指标累积和)-单个序列累积和)/2&/p&&p&通过隐藏每一个序列首尾的辅助面积块,将整个阶梯图区域逼近到水平居中的位置,思路仅供参考,其他需要添加的文本,如想自动化,可借鉴第一个案例所述的辅助散点图思想进行操作,本篇到此为止,只提供思路,具体步骤留给大家自己练习。&/p&&p&----------------------&/p&&p&作者:&a class=& wrap external& href=&/?target=https%3A///people/EasyCharts& target=&_blank& rel=&nofollow noreferrer&&EasyCharts&i class=&icon-external&&&/i&&/a&&/p&&p&微信公众号:&a class=& wrap external& href=&/?target=https%3A///people/EasyCharts& target=&_blank& rel=&nofollow noreferrer&&EasyCharts&i class=&icon-external&&&/i&&/a&&/p&&p&博客专栏:&a href=&/?target=https%3A///blog/EasyCharts& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&EasyCharts - 天善智能:专注于商业智能BI和数据分析、大数据领域的垂直社区平台&i class=&icon-external&&&/i&&/a&&/p&&br&&p&&b&如果没有及时回复,大家也可以加小编微信:tszhihu,进知乎大数据分析挖掘交流群,可以跟各位老师互相交流。谢谢。&/b&&br&&/p&&p&&b&或者关注天善智能官方微信公众号:天善智能(tianshansoft),专注于商业智能BI,大数据数据分析领域的垂直社区。&/b&&/p&
前言作为小魔方的队友,我真的惊呆了,Excel竟能绘制这么好看的堆积柱形图和百分比堆积柱形图,很佩服小魔方的学习能力与创新能力。我的Excel水平感觉远远不如小魔方啊,佩服之极!很高兴能成为小魔方的队友!---张杰 前天看到DP(Excel绘图发烧友)在本平…
&p&本文只提供给新手程序员阅读。&/p&&p&多年前的一个 IBM 的老鸟曾经教过我一个 5 分钟上手的思维习惯,当我听到以后,醍醐灌顶,惊人天人,一改日常的编码风格。到现在,它还持续保持在我的日常的编码习惯当中。&/p&&p&我不知道应该怎么称呼这种思维习惯的名字,top-down,自顶而下,或者分治?不管怎么样,它的核心是非常清晰的:&b&编码的时候只思考同一个思维层次的逻辑,在这层完成之后再思考下一层。&/b&&/p&&p&它基于这么一个事实:我们每个人智力是有限的,同一个时间只能思考有限内容的东西,我们都不是天才。由于这个事实的存在,所以程序 bug 就会存在(废话)。因此,思考问题的时候(编码)不要跨抽象层级思考,在我们有限的智力里面现保证这个层级的逻辑正确,再思考下一个。什么叫跨抽象层级思考,什么叫同一个抽象层级的思考。我们通过一个例子来看看,假设现在我要编写程序打车去上班。&/p&&blockquote&首先穿衣服,然后洗脸刷牙上厕所,然后下楼打车。&/blockquote&&p&这句话就算是一个三岁的人都能说出来。上面的描述是在同一个思维层次,把“打车上班”这个事情分成了几个符合顺序和操作逻辑的模块和动作,我的大脑能够承载这些逻辑,这一套逻辑下来就能够把这件事情完成。于是我把它写下来:&/p&&div class=&highlight&&&pre&&code class=&language-js&&&span class=&kd&&function&/span& &span class=&nx&&goWorkByCar&/span& &span class=&p&&()&/span& &span class=&p&&{&/span&
&span class=&nx&&dressUp&/span&&span class=&p&&()&/span&
&span class=&nx&&wash&/span&&span class=&p&&()&/span&
&span class=&nx&&goDownstairs&/span&&span class=&p&&()&/span&
&span class=&nx&&goByCar&/span&&span class=&p&&()&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&p&这个抽象层次的东西已经完成了,我看这个函数就知道这个操作的顺序和逻辑是什么,甚至还不用注释。我们有四个函数都是没有完成的,它们的具体实现就是下一个抽象层次的东西。我们现在下到下一层,看看 `dressUp`。现在我的注意力已经不在打车上班这件事情上了,这一层的逻辑已经完成了。我的注意力在怎么穿衣服这件事情上:&/p&&blockquote&从柜子里把衣服拿出来,先穿上半身,再穿下半身。&/blockquote&&p&符合正常的操作,不错:&/p&&div class=&highlight&&&pre&&code class=&language-js&&&span class=&kd&&function&/span& &span class=&nx&&dressUp&/span& &span class=&p&&()&/span& &span class=&p&&{&/span&
&span class=&kr&&const&/span& &span class=&nx&&clothes&/span& &span class=&o&&=&/span& &span class=&nx&&takeClothesFromWardrobe&/span&&span class=&p&&()&/span&
&span class=&nx&&dress&/span&&span class=&p&&(&/span&&span class=&nx&&clothes&/span&&span class=&p&&.&/span&&span class=&nx&&up&/span&&span class=&p&&)&/span&
&span class=&nx&&dress&/span&&span class=&p&&(&/span&&span class=&nx&&clothes&/span&&span class=&p&&.&/span&&span class=&nx&&down&/span&&span class=&p&&)&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&p&我们看看洗漱怎么做:&/p&&blockquote&上厕所,刷牙,洗脸&/blockquote&&div class=&highlight&&&pre&&code class=&language-js&&&span class=&kd&&function&/span& &span class=&nx&&wash&/span& &span class=&p&&()&/span& &span class=&p&&{&/span&
&span class=&nx&&urine&/span&&span class=&p&&()&/span&
&span class=&nx&&brushTeeth&/span&&span class=&p&&()&/span&
&span class=&nx&&washFace&/span&&span class=&p&&()&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&p&下楼呢?&/p&&blockquote&我要先出门,然后锁门,然后坐电梯。&/blockquote&&div class=&highlight&&&pre&&code class=&language-js&&&span class=&kd&&function&/span& &span class=&nx&&goDownstairs&/span& &span class=&p&&()&/span& &span class=&p&&{&/span&
&span class=&nx&&openDoorAndOut&/span&&span class=&p&&()&/span&
&span class=&nx&&lockTheDoor&/span&&span class=&p&&()&/span&
&span class=&nx&&takeTheLift&/span&&span class=&p&&()&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&p&打车呢?&/p&&blockquote&用手机打车,然后坐车走人&/blockquote&&div class=&highlight&&&pre&&code class=&language-js&&&span class=&kd&&function&/span& &span class=&nx&&goByCar&/span& &span class=&p&&()&/span& &span class=&p&&{&/span&
&span class=&kr&&const&/span& &span class=&nx&&car&/span& &span class=&o&&=&/span& &span class=&nx&&callACarByPhone&/span&&span class=&p&&()&/span&
&span class=&nx&&takeTheCar&/span&&span class=&p&&(&/span&&span class=&nx&&car&/span&&span class=&p&&)&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&p&...然后再用这种方式实现像 `brushTeeth` 和 `washFace` 具体的实现,想想它们需要什么操作。&/p&&p&你会发现我们不停地在填函数,函数里面又不停地出现新的函数需要我们去完成。每个函数体里面的操作都和这个函数所要完成的目的相关,在一个函数里面,我们只关心这个函数需要完成的目标所需要操作。例如“打车上班”这个任务所依托的 goWorkByCar,我们在这里并不关心怎么刷牙,因为它是下一层的东西,我们只关注完成“打车上班”这个目标需要哪几步。如果我们刷牙、开门这些操作都放在这个函数里面,那么一开始就会&b&陷入无限的细节当中而失去了主要目的的关注,而且大脑也无法承载如此复杂多端的细节,处理不好就很容易出现 bug&/b&。&/p&&p&而这种思维方式可以让我们不停地把一个大的任务在同一个层级做分解,保证这一层的步骤和逻辑正确以后,然后再下一层分解,最后其实是一个树状的结构,&b&树的叶子结点才是具体的代码算法实现。&/b&在编码的时候,我只用我有限的脑力关注当前层级的任务,不关注上一层也不关注下一层的细节。&/p&&p&这样的代码写出来不仅 bug 少,逻辑清晰而且还很轻松,因为你每一层思考的东西其实都很简单,不知不觉就把代码写完了。为什么很多人觉得编程很难,因为你接到一个“打车上班”的任务以后就开始脑子里面就填满了刷牙打车穿衣服这种不成逻辑和顺序的任务,并且都把它写到一个函数里面去。&/p&&p&接到任务以后你可以像上面一样&b&用人类语言描述一下如果你要解决这个任务,你需要什么步骤&/b&。这些步骤才是这一层任务的关注点。例如跟女朋友看电影:你要先看看有什么好电影,然后再约女朋友,再买票。&/p&&p&(&b&UPDATE&/b&:有朋友说这里第一步应该先找女朋友,同意!!必须同意!全身同意!每个细胞都同意!)&/p&&p&当你写一行代码的时候可以经常看看你的函数名,你这行代码和你的函数名所代表任务的是不是同一个逻辑层次的东西,不是的话,把它分出去。&/p&&p&有空再写写。&/p&
本文只提供给新手程序员阅读。多年前的一个 IBM 的老鸟曾经教过我一个 5 分钟上手的思维习惯,当我听到以后,醍醐灌顶,惊人天人,一改日常的编码风格。到现在,它还持续保持在我的日常的编码习惯当中。我不知道应该怎么称呼这种思维习惯的名字,top-down,…
十}

我要回帖

更多关于 编程解决问题 的文章

更多推荐

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

点击添加站长微信