精华内容
下载资源
问答
  • 1、普通一本大三学生 专业财务管理 有考研的必要吗 工作经验重要还是学历重要 ? 老王观点: 这个问题不好回答,要分人、分事,比如你考研考上了重点985或者清华北大之类的院校,学历是绝对大于工作经验的;或者说...

    1、普通一本大三学生 专业财务管理 有考研的必要吗 工作经验重要还是学历重要 ?

    老王观点

    这个问题不好回答,要分人、分事,比如你考研考上了重点985或者清华北大之类的院校,学历是绝对大于工作经验的;或者说比如毕业进了好的单位,等你3-4年考研毕业了再进同样的单位(不开玩笑),可能你同学就是你领导了,国内大部分企业甚至公务员来说,本科就够了。

    个人认为,大学毕业后,考研与工作经验相比较,工作经验重要,但是也要看当时的机会与机遇,需要你多考虑,自己决定!

    2、现在普通二本考研有多难?

    老王观点

    为什么要强调二本?

    考研是全国统考的,跟你参加高考,考上二本一样,是一个唯分数论的事情,也是一个相对公平的事情,只要好好努力,就会有好的收成。

    不存在几本几本的问题,加油!

    3.学历不同的人真的可以走到一起吗?

    老王观点

    个人认为学历不同的人安全可以走到一起,中国没有所谓的阶层这些社会阻力,不过相对来说,可能需要更多时间磨合和包容。

    老祖宗那套“门当户口”也并不完全是封建思想。

    所谓的门当户口,无非就是两人的成长环境、生活方式、对钱的一些看法、对世界的一些看法等等类似,才更加有共同点,更加容易互相理解。

    如果你觉得文章对你有些帮助,欢迎微信搜索「软件老王」第一时间阅读或交流!
    

    4.不开心的时候你们会怎么办?

    老王观点

    找朋友坐坐!来,朋友,把你的不开心说出来,让大家乐一乐!就会发现谁都不容易,比比惨,就会发现其实也就那点事,干了,就过去了。。


    更多信息请关注公众号:「软件老王」,关注不迷路,软件老王和他的IT朋友们,分享一些他们的技术见解和生活故事
    在这里插入图片描述

    展开全文
  • 今天去baidu 知道上看到一个问题:工作经验重要还是理论学习重要。  有时候,一个简单的道理,却足以给人意味深长的人生启示。   这个故事似乎刚好合适:  古时,甲、有两个饥饿的人得到了一位长者的恩赐,...

      今天去baidu 知道上看到一个问题:工作经验重要还是理论学习重要。

      有时候,一个简单的道理,却足以给人意味深长的人生启示。 

      这个故事似乎刚好合适:


      古时,甲、有两个饥饿的人得到了一位长者的恩赐,长者拿出一把鱼竿和一篓新鲜大鱼给两个饥饿的人,说:你们拿去活命吧。两个饥饿的人并每有领会长者的意思,当场一个人要了一篓鱼,另一个人要了一把鱼竿,于是他们就分道扬镳了。得到鱼的人走出不远就用干柴搭起篝火,煮起鱼来,他狼吞虎咽,还没有品出鲜鱼的香味,转眼间,连鱼带汤就被他吃了个精光,不久,他便饿死在空空的鱼篓旁。另一个人则提着鱼竿继续忍饥挨饿,步步艰难地向大海方向走去,可他已经看到不远处那片蔚蓝色的大海时,他浑身的最后一点力气也使完了,他也只能眼巴巴地带着无尽的遗憾撒手而去了。


    乙、又有两个饥饿的人,他们同样得到长者恩赐的一把鱼竿和一篓新鲜大鱼,他们并没有各奔东西,而是商定共同去寻找大海,他俩每次只煮一条鱼,他们经过长途跋涉,终于来到了大海边,从此,两人开始了捕鱼为生的日子,几年后,他们盖起了房子,有了各自的家庭、子女,有了自己建造的鱼船,过上了幸福安康的生活。


      这里鱼就是经验,可以饱你一时之需,但如果需要更多的鱼必须要自己去钓鱼,钓鱼的本领来自理论学习。鱼与鱼竿要兼得,方可有美好的未来。

    展开全文
  • 工作经验到底是个什么东东?工作经验从哪里来?

    万次阅读 热门讨论 2010-06-07 09:10:00
    最近周公收到一封一个工作了两年的.NET开发人员的邮件,在这封邮件里这位开发人员说到自己目前的情况,周公在这里解答了一下他所遇到的问题,用周公自己的理解来回答什么工作经验,如何增加工作经验,如何提高自己...

     

    最近网上一直比较热闹,“淋巴哥”老师拿出高丽棒子那种可以证明屈原、李时珍就是韩国人及端午节源自韩国的那种娱乐考究精神考究出了所有说他的书不好的人都是书托和骗子来,一时间圈内大哗;接着在博客园又掀起一股 Java C# 的瑜亮之争,不可谓不热闹。不过作为普通的开发人员,这些事情都是相对较为遥远的事情,普通开发人员比较感兴趣的是如何提高自己的技术,增加自己的能力,以便在今后的工作中找到一个更好的职位,这两天周公也收到了一封一个工作了 2 年的 .NET 开发人员的邮件,在邮件中他谈到了自己的困惑不足,周公觉得他的现状有一定的普遍性,因此想在这里谈谈自己的经验和体会,原文如下(为了保护当事人隐私,去掉了一些个人信息):

    周公:

    我叫×××,是××××人。做.net的web开发已经2年多了。

     

    前天去"飞信(新媒传信)"笔试+技术面试,很侥幸被我通过了,但今天上午去参加总监的复试,我被出局了。

     

    今天灰不溜溜(周公注:似乎没有这个词,可能用“灰头土脸”比较恰当)的从大门走出来,真的感受到了从来没有的挫败感。

     

    说下我学习.net的经过。我是07年10月份接触C#的,自己买了本C#基础教程自己看的。然后又买了本asp.net基础教程。就这样走上了.net之路。

    为了能在08年毕业前找到一份理想的工作,我在08年2月份又去图书馆买了本apress小组出的关于.net2.0电子商务的书,这本书让我了解了3层架构。当然也凭借这本书我在4月份找到了工作。之后就在工作中学习成长,也感觉自己各方面能力还是蛮不错的。

     

    到了今年3月份后,我发现自己一直受困在目前的水平中,想要自我提高,很难很难。我知道要学的东西有一大堆,但我不知道该从何学起。自己每天看看着(周公注:应为“看看这”),看看那,如果没有项目、没有环境。那就很不系统。我觉得如果想得到更好的提高,只有换个更好的环境,如果能跟着一些强者一起做项目,那么就肯定能得到突破,学到很多东西。

     

    然后我就开始"骑驴找马",想找给(周公注:应为“想找个”)好的团队,学到些真东西。

     

    我不得不承认飞信的团队确实很好,初试我的2个技术人员都30岁左右,技术也都很强。但就项目中的功能或一般的基本原理,由于我有充足的准备,还算是过关了。

     

    不过今天上午,总监对我的面试,让我感觉自己了解的实在是太少了。很多东西只知其一,不知其二。更多的东西只是知道(周公注:似乎应为“只是知道怎么用”),但并不知道原理,或者使用过。

     

    就拿对方问个:C#各个版本间的差别是什么? .net各个版本间的差别? prototype和jQuery间的差别?

    我就头疼了,说实话,一直用C#2.0,并没有很好的去了解各版本间的差别。  包括jq和prototype的差别也没好好的了解过。

     

    对方对asp.net mvc的要求也比较高,mvc我的了解也比较少。

     

    特别是这位总监提到,他们对程序的性能有很高的要求。 这也是我特别想去了解的,如何去提高程序的性能 。

    包括对方让我很好的描述 http传输的原理、为什么序列化能提高程序性能...等

    我发现自己真的只停留在概念的表面!

     

    完全杯具了!

     

    不过我还是表现出了自己相应交流能力和学习能力。这位总监也很欣赏我挫败面前不低头的性格。他觉得我现在虽然实力不够,但愿意给我一次机会,让我好好的学习一下,觉得可以了在直接来找他,并把email留给了我。

     

    我也很感激他愿意给我这么给机会,但我觉得自己更要好好的去丰富自己。 正如您常提到的一个好的程序员一定要有深度+广度。

     

    我是86年出生的,也是个不小的人了,我知道现在厚着脸皮向您讨教学习方法是很不应该的。

     

    但我现在一时间确实不知道该如何提高,我想您能不能从几个方面给我推荐几本书 或者 视频 之类的。

     

    比如要学好asp.net mvc框架,我从什么书入门,然后看什么能提高。

    包括如何深入了解http协议,.net序列化,如何提高程序的性能。

    包括如何更深的去学习C#

     

    我觉得我有一定的基础,我肯定能把这些学好,我一定行的。

     

    我会在一年后再去找他,我不愿意认输。

     

    很感谢周公能看完我这么多废话,希望能得到您的建议。以您这个过来人的经验,来建议我现在如何去一步一步的完善自己。

     

     

                                                                    ×××

    我的答复如下:

    ×××:

    你好!

    非常感谢你对我的信任,愿意把你在成长过程中的烦恼给我听。我也很愿意分享一下我的观点和看法,只是在年龄上我比你多虚度了几年光阴,在开发上我比你多做了几个不成功的项目及在面试上我比你多一些面试次数以及还有你所没有的面试别人的经历而已,所以我的经验和观点未必完全正确,仅供你参考。

    首先说一点我对你这封邮件的看法,在这封邮件里有几个错别字,还有一些地方词不达意,还有一些地方排版不是太好(周公注:上面的邮件已经经过周公排版),尽管这不影响我阅读你的邮件,但是这会让我对你有一些小小的看法,比如你不够细心——尽管我可以猜想为你在上班之时给我书写邮件,慌乱之中会出现这种现象,但是这不能成为你没有做好的理由。特别如果是在你的简历中出现这样的问题,可能第一眼就会被pass 掉。也许你会不以为然,会说这样或者那样的理由,但是这些理由在某种程度可能会看做借口或者做其它的联想,比如你说因为时间紧慌张所以出现了错别字,那么我会想如果把你招进来之后遇上项目紧的时候你是不是同样也会慌张因而出错呢?


    ASP.NET初级程序员的现状

    接着我谈谈目前ASP.NET 开发的现状,目前很多培训机构及一些出版社给初学者灌输的都是如何方便地使用 ASP.NET 服务器控件——显示数据记录使用数据绑定控件,对数据库操作使用数据源控件,这样就给一些初学者造成了一种假相——学好了 ASP.NET 服务器控件就等于学好了 ASP.NET ,甚至就等于学好了 .NET ;如果能熟练掌握这些控件的用法,能在数据绑定控件里面嵌套服务器控件那就等于精通了。所以经常在 .NET 里看到一些“ .NET 高手”在网上哀叹:“精通 .NET 开发居然找工作那么难,好不容易找到了个工作比民工薪水还低!”其实完全不是这样的,真正的 .NET 高手还是奇缺的,如果你知道你身边有这样的人请告诉我,我的很多猎头朋友让我向他们推荐呢。当然这种现象不是最近才出现的,至少在 2007 年我负责招聘的时候就注意到这个问题了,我当时就写了一篇博客《一才难求——也谈程序员素质问题》里记录了这个问题:

    情况之一:不会利用msdn。众所周知.net类库包含有几千个类,不可能去记住每一个类有哪些方法和属性,特别是在初次使用一些以前没有使用过的类时,查看MSDN帮助应该是第一选择。在面试中发现很多人根本没有这一概念,有些根本不知道怎么用(在面试做题的时候,我一般都事先声明允许查MSDN)。

    情况之二:不懂一些基本而且必须知道的知识。最离谱的一次,居然遇见一个不会将FLASH嵌入到aspx页面中的程序员(有HTML的可供参考)。有几次还遇见过需要Response输出一些HTML代码的情况,有的程序员居然不知道怎么写。

    情况之三:基本概念不熟,比如一些程序员无法区分抽象类、接口之间的区别和关系。

    情况之四:自视过高。有一个工作一年的程序在简历上写着“精通数据库设计、设计模式、系统分析和开发工具,对架构设计也有深入的研究”,看了这种话我开始是大吃一惊,后来跟他谈他“精通”的有关领域的话题,他基本没插几句话。

    最后,想给正在求职和即将要求职的各位程序员一点建议:抛却急功近利的想法,不管什么行业都注重经验的积累和沉淀,平时学习和工作的时候一定要多动手动脑,通过自己的思考和实践才能加深和巩固印象。不要抱怨自己的工资不高,先问问自己的水平高不高,如果你的水平高的话,公司不敢不给你高工资,因为他不给别人会给的,在这个浮躁的年代,招聘一个好程序员是非常不容易的。


    .NET的历史渊源

    .NET 开发有几年时间了,我经历过从 .NET1.0 一直到 .NET4.0 的过程,所以对于它们的历史我可以简单说说。最早支持 .NET 开发的是 VS2002 ,所支持的版本是 .NET1.0 ,第二年就推出了 VS2003 ,所支持的是 .NET1.1 ,主要是修复了 .NET1.0 的一些重大 Bug ,此时 .NET 是向下兼容的,开发的 ASP.NET 的版本分别是 ASP.NET1.0 ASP.NET1.1 ;之后推出了 VS2005 ,它支持此的 .NET 版本是 .NET2.0 ,这个版本与以前版本相比主要是增加了对泛型、局部类和可空类型的支持等,注意 .NET2.0 对低版本不是完全兼容的;紧接其后推出的 VS2008 支持的 .NET 版本有 .NET2.0 .NET3.0 .NET3.5 ,与 .NET2.0 相比, NET3.0 .NET3.5 增加了 Windows Communication Foundation WCF) Windows Workflow Foundation( 早先曾叫过 WWF ,不过现在改叫 WF 了)和 Windows Presentation Foundation WPF )组件,在语法功能上增加了 LINQ Lambda 表达式等,使得编程大大地方便和提高了,基于 .NET2.0 .NET3.0 .NET3.5 开发的 ASP.NET 应用程序所使用的 ASP.NET 版本都是 ASP.NET2.0 ,在这个时候可以通过安装 VS2008SP1 的方式以内置支持 jQuery MVC ,这个时候使用 .NET3.0 .NET3.5 是兼容 .NET2.0 的; 2010 年微软又推出了 VS2010 ,它支持开发基于 .NET2.0 .NET3.0 .NET3.5 NET4.0 ,不过 .NET4.0 不兼容它的低级版本,开发的 ASP.NET 应用的版本也是 ASP.NET4.0 ,在 .NET 中增加了很多新的特性,比如增加了 ADO.NET Entity Framework ,此时集成 jQuery ASP.NET MVC2


    关于经验

    关于经验的积累跟项目有一定的关系,但并不是全部。对于ASP.NET 开发大部分可能会有这么一个过程:

    首先是觉得服务器控件挺好用的,在开发中大量使用服务器控件;

    经过一段时间的开发之后(也可能是听别人说),会发现服务器控件并不是想象中完美无缺,在VS2010 之前很多 ASP.NET 控件默认会启用 ViewState 来保存控件状态,这样在最终生成的 HTML 页面的源代码中生成了大段的隐藏域字段,影响了网页的传输速度,慢慢地我们会发现其实 ASP.NET 服务器控件最终到客户端时会被转换 HTML 代码,那么使用 HTML 服务器控件也是可以的,并且还省去了转换这个过程,所以在开发时尽量不处处使用服务器控件;

    再经过一段时间之后,我们会发现有些复杂的效果与其去层层嵌套服务器控件,还不如直接将这部分特殊效果的HTML 代码输出,这样更方便快捷,然后我们也会想到有些操作其实用 JavaScript 也可以在客户端实现而不是必须要提交到服务器端才能处理,这样又提高了效率;

    再过一阵子之后,我们会觉得SELECT * FROM Table 尽管什么时候都不会出错,但是并不是最高效的,在某些时候我们只 SELECT 要显示的字段,除此之外当数据库中的记录一多时每次都将数据库中的记录全部查出来再取出需要显示的部分不显示的数据被弃之不用很浪费资源,所以会想到使用分页查询每次只查询当前页所需要的数据;

    再过一阵子之后我们又会觉得原来那种对数据库执行增删改查的操作的代码每页都有,非常不好维护,第一步分析之后会想到使用数据库通用类,再仔细分析之后可能就会发现三层架构的好处进而接受了三层架构这种思想;

    再继续思考总结,我们又会发现其实在SQL 方面有很多名堂,比如存储过程、触发器、函数、分组函数、联合查询、 UNION 等,也就是有些结果可以直接在数据库里进行处理而不是将多次结果分别取出来在 C# 中处理,尽管可以实现同样的功能,但是在数据库中处理可能更加方便和直接。

    当然这些都还是初级程序员所面临到的一些问题,如果真想提高自己,可能会注意到更多问题。比如到了一定程度之后我们会接触到不同的数据库,我们要对比分析一下这些数据库之间的异同点;我们还会注意到实现同一种效果会有不同的做法,我们要注意不同的做法之间差别——哪种做法效率高?哪种做法占用内存小?哪种做法安全性高等等。比如做ASP.NET 开发,可以使用服务器控件、可以使用 HTML 客户端控件、可以采用 Response.Write() 的方法直接输出及模板替换法,你觉得它们之间有什么区别?同样存储数据, Cookie Session Application Cache 都可以保存,它们之间又有什么差别(提示:可以从保存数据类型、范围、保存周期、安全性等方面考虑)?再比如非 ASP.NET 应用和 ASP.NET MVC 应用之间应用有什么区别?再比如 Convert.ToInt32() int.Parse() Int32.TryParse() 都是可以实现将字符串转换成 int 类型数值,它们之间在用法上有什么区别?有没有想过它们内部的实现呢?如果让你写一个类似于 Int32.TryParse() 的方法,你想过会怎么写吗? XML WebService WCF .Net Remoting 之间有可比性吗?在使用它们时该考虑哪些因素?参数化 SQL 语句和非参数化 SQL 有什么区别?在存储过程中执行的一定就是参数化 SQL 语句吗? string String 之间是什么关系?什么叫字符串驻留池?什么叫数据库连接池,数据库连接池有什么用途?和诸如此类的问题有很多,实在是举不胜举了。

    以上的问题有多少使你感到难以回答?如果你能比较自信地回答上面的大部分问题,恭喜你已经具有中级程序员的开发经验了。我不知道辞海里有没有对“工作经验”这个词下定义,根据我的理解我觉得程序员的工作经验包含了两个方面的经验:社会方面的经验和技术方面的经验。社会方面的经验包括了比如生活与工作产生了冲突该怎么处理及与领导在某些问题上意见不一致该怎么处理等,这个如果不是应聘技术管理方面的岗位面试单位关注得比较少。技术方面的经验招聘单位会更看重一些,通常所说的程序员的工作经验也主要是指技术经验。它至少包含了以下几个方面:

    对于一些常见的编译错误和异常描述我们能迅速知道问题出在那里并及时解决;

    对于一些可能会有多种方法实现的功能,我们应该如何根据当前项目的实际情况选择比较合适的方法;

    对于一些容易影响性能的地方我们应该知道一些如何提高,如果存在多种解决办法,如何去评估那种办法的效率高;

    对于一些容易发生安全性问题的地方我们应该知道如何去防范;

    对于具体的应用如何去设计数据库或者去评估已经存在的数据库的设计好坏,如何在第三范式和字段冗余之间取舍;

    如何在时间复杂度和空间复杂度之间取舍,知道如何用空间换时间(比如使用缓存就占用了内存但是换来了效率的提高,但是缓存并不是使用越多越好,此外对于数据库中索引字段也存在这样的问题);

    对于常见的问题我们应该知道如何去处理;

    对于从来没有遇见过的问题我们又该如何借鉴已有的经验来处理而不是束手无策。

    要解答以上问题,可能要求我们的知识面要相对广,在某些问题上要有一定的深度。实际上上面的这些问题已经脱离了语言本身了。在武侠小说中经常听到高手会说所有的武功最终都是百川归海,在编程开发中我们经常会听到编程高手会说“语言只是一种实现手段,重要的是思想”,那么思想到底是什么呢?为什么有人要求在项目中某个类只允许一个实例存在你就会想到单例模式?这就是经验,但是经验是什么呢?真的不好定义,尽管在上面我列出了经验的一些体现,但是那并不是全部,我只能说“经验是一种很玄很玄的东西”。


    如何积累经验

    不要晕,也不要倒,其实我们有很多办法增加自己的经验。围绕磨盘转了一辈子的骡子并不是一头有经验的骡子,将木棍捅到蚁窝中来捕食蚂蚁的熊也没有太多经验,因为它们做那些事情不是出于被指使就是出于一种本能,很少去想是不是可以做得更好,而我们的祖先就做到了,所以今天我们成了世界的主宰。

    说到这里,也就说出了我的第一个答案: 技术的深度来自于总结 。不管是学习还是做项目,不管是自己编写的代码还是别人的代码,我们都尽量学会分析总结,首先分析一下那些地方做得好,那些地方做得不好,做得好是因为什么方面的原因?安全、高效亦或者是其它?这种好的做法今后可以用在某些场景下?有没有可能存在比这些你认为做得好的方法还要好的方法?对于那些做得不好地方,又该如何去改进?特别是以前自己所做的项目一定不要做完了就算完了,有时间一定要拿出来经常看,看看最近所学的知识有没有可以用于改进这些项目的。

    也许有些朋友特别是初学编程的朋友会说自己以前根本就没有做过真实的项目,缺乏实战机会。光凭自己所做的工作上所做的一些项目可能对于个人提高不是很快,会受到公司业务的限制,项目类型不是太多,所需要用到的知识自然也不会是太多;或者在一些大公司里面,由于在这里一个人一个坑,每个人的职责单一,一个项目做上一年你可能仅对自己所负责的模块比较熟悉,对于项目组其他成员的模块不熟悉,时间长了之后就会感觉自己进步很慢,这种感觉我以前也有过。

    在当时我做了几件事情,我现在总结起来觉得比较有用:

    一是通过论坛、博客了解别人在做项目中使用了哪些技术。多次被提及的多半就是目前大家比较关心的或者流行的,如果自己的项目中没有涉及到这些的话,多了解一下这方面的讨论或者文章看是否满足在自己项目中使用,如果不能的话(比如自己目前是在VS2005 下做开发,而别人经常谈论的是 VS2008 下的开发)那么就尝试在下班后或者工作之余动手实践一下。

    二是总结自己以前所做的项目。很多人在做项目时键盘上最光亮的键就是Ctrl C V (因为最经常的操作是 Ctrl+C Ctrl+V ),可能在当时我们这么做有一定的客观原因,比如当时时间紧为了完成任务不得不那么做,这个可以理解,但是不应该在做完之后就将它丢到一边了,等到下次再用的时候依然又是 Ctrl+C Ctrl+V ——这么下去,做多少年都不会提高的(除了提高了使用 Ctrl+C Ctrl+V 的熟练度之外),我就有这么一个习惯,保持着几年前甚至刚参加工作时所做项目及学习用的代码,有时间我还会拿出来看,看看对于以前那个时候做的东西现在可不可以改动得更好,直到经过几次之后确实不能再改了才放弃。

    三是总结别人的项目。现在的网络这么发达,可以很方便地从网上找到一些项目的需求文档、设计文档、源代码等,对于一些比较有名的开源项目甚至你还可以找到有高人对这些项目的源代码的分析。接触过的项目多了,你就会发现有很多功能和你以前所做的项目中要实现的功能相似,那么就把你的代码和别人的比较一下吧,有比较就有鉴别,有比较就有高下之分,你就会看到完成同样或类似的功能,别人的做法就比自己好,自己好好想想好在哪里,以后是不是可以借鉴别人的思路。

    四是多关注一些基础的东西。武侠小说里正派武功高手在成为高手之前总会被要求长时间练基本功,基本功打好了就很容易打通任督二脉,然后很快就可以练就一身过人本领,这样对自身是没有伤害的,而邪门武功大多不要求武术根基很快也能练成,这样即使练成了绝世武功也会容易对身体造成伤害,还可能走火入魔,著名的《避邪剑谱》及《葵花宝典》都是这方面的例子。很多半路出家的以及一些从培训学校出来的学生大多就是基本功不好,我自己就是半路出家的,在大学里学过一学期的C 语言之后就靠自己自学走上程序员的道路,很长一段时间对数据库的使用仅限于使用 SELECT UPDATE DELETE INSERT ORDER BY COUNT ,在看别人项目源代码时经常看到别人项目中复杂的 SQL 语句,感觉自己有必要加强基础,于是花了很多时间去系统学习了数据库的基础知识。

    五是多动手实践。“纸上得来终觉浅,须知此事要躬行”,如果仅仅是看别人的代码,看书可能就在看书的时候有感觉,合上书之后就什么也不记得了。所以还需要大量实践,有一定基础之后系统的实践比单独联系一个知识点要强得多,比如找一个自己觉得不错的BBS 或者 CMS 之类的系统,为防止自己忍不住看它的源代码所以这些项目的语言尽量不要选用 ASP.NET 的,然后要求自己实现一套和它相似度很高系统出来。在这里注意几点,一是在选项目时尽量量力而行,不要一上来就想模仿一个庞大的系统,庞大的系统涉及到知识面很广,知识点要求也比较深,工作量也比较大,一个人可能费时较长还没有看到结果就会产生挫折感,就会放弃,所以可以先模仿小系统然后再模仿大系统;在编程语言方面可以先选择比较容易部署的编程语言开发的,比如 ASP ASP 的运行环境在 Windows 平台上的 IIS 中部署起来相对较为简单(在 IIS7 之后稍微麻烦一点),等熟练之后可以模仿 JSP 或者 PHP 开发的系统,这些系统的部署相对较为复杂一些,可能数据库会采用 MySQL ,而 Web 服务器可能会是 Tomcat 或者 Apache (它们也可以采用 ISAPI 的方式集成到 IIS 中)。在模仿的过程中会用到 HTML CSS JavaScript SQL 等方面的知识,有的时候还需要了解别人的设计思路,对于自己的提高是想到有效的。除此之外,在提高 ASP.NET 编程能力的同时也顺便了解了其它编程平台和数据库,扩大了视野。

    好了,在最后我回答一下你在邮件中提高的几个想法,关于你在邮件中提高没有环境和没有高手带的情况,我想在上面提高的五点中的第五点可以回答你的这个想法,有环境有高手带固然是好,但是没有环境没有高手带我们也是可以通过其它办法来解决的,比如看高手所做的项目并且模仿它,这样也可以达到目的。和高手合作对自身的能力要求很大,大家知道微软、Google IBM 中高手多,在这样的公司里进步会很快,但是没有一定的能力是进不去的,所以在没有机会进去之前我们不妨采取上面的办法——实际上也有很多在民间的高手,他们并不在知名大公司,但是他们一样可以做到很好。

    除了上面的做法之外,其实还有一些手头可用的比较方面的资源,比如MSDN WebCast 上面就有微软推出的大量免费视频,我们可以挑选一些下载下来看,在早年的时候我就从上面学到了不少东西,你在邮件中提高的 ASP.NET MVC 在上面就有系列讲座,还有比较热门的 Silverlight Linq 等,只不过不要贪多贪全,千辛万苦全部下载到硬盘里然后一个不看,只看看自己关注的部分,实际上里面的视频大部分是 Level200 的,也就是针对普通开发人员的,比较容易理解。等你有一定能力之后就可以选择不看或者有选择地看了。

    除此之外,我不知道你安装Visual Studio 的时候有没有安装随光盘自带的 MSDN ,安装完 Visual Studio 开发工具之后就会提示是否安装它,我建议将开发中会使用到的部分安装了(因为涉及到的知识很多,没有必要全部安装,有些可以不必安装),这样遇到问题之后即使不能上网也能有有地方查资料。在 MSDN 帮助中有 .NET Framework 种每一个类的介绍,包括类的说明、构造函数、方法、字段、属性、显示接口实现、请参见等。对于 VS 开发人员来说它的作用相当于机器猫的口袋,需要的大部分都能从这个里面找到。像你提到的序列化以及一些经常被提到的正则表达式、 Web Service 等也可以在 MSDN 中找到,有时间的时候可以看看,在有些地方还有一些提高程序性能或者安全性的建议。

     

    图:在安装完VS2005后提示安装MSDN的界面,在VS2008界面也类似

    至于你在邮件中的其它问题,我想我已经在邮件中回答了,在这里我还给你一点额外的建议:建议有时间提高一下英语,如果还有时间的话再学习一下UML 相关的知识,这些东西在短期内似乎对你没有什么帮助,但是对于你的长远发展是大有裨益的。如果你还有不明白的地方,请继续和我保持邮件联系。

     

    周公

    2010 6 6

     

    后记:看到看此篇文章的读者当中有一些是未毕业的大学生,我建议你们看看我的一篇针对未毕业大学生的文章《与一个即将毕业的计算机系大四学生关于求职的对话》



    展开全文
  • 两年Java开发工作经验面试总结

    万次阅读 多人点赞 2017-05-08 23:45:41
    我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的好,或者哪些问题是自己之前没遇到过的,或者是哪个知识点今天又问了等等。四月中旬的时候,我就在构思要写一篇面经,...

    微信搜索【程序员囧辉】,关注这个坚持分享技术干货的程序员。

    我的最新文章:BAT 老兵的经验之谈,成长路上这个道理越早知道越好

    动机:

    最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司。我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪个知识点今天又问了等等。四月中旬的时候,我就在构思要写一篇面经,主要是想着可能对那些跟我相同处境的人有点帮助,再者就是稍微记录下这为期一个月的面试过程。
    本文地址:http://blog.csdn.net/v123411739/article/details/71437307

    个人介绍:

    首先介绍下我面试时的自身条件情况,我把自己的情况分为优势和劣势来说可能更有利于你们比较自身情况。

    劣势:

    1. 15年7月毕业后开始到上海工作,面试的时候是17年3月到4月,一年多的经验,勉强算两年经验。分析:一年多经验我认为是比较尴尬的,处于一个不上不下的位置,很多公司比较喜欢招三年经验的,或者直接招应届生来培养。
    2. 毕业于一个非985/211,勉强上一本的高校。分析:这个相对影响较小,因为有工作经验后,公司对学校的要求就没那么高了,只要是本科就基本没问题,但是还是有个别叼毛公司只要985/211。
    3. 前一家公司是传统电信行业,加入项目组时,项目已经上线有段时间了,我们的任务就是有需求就开发,有bug就优化,其他时间就聊骚,各干各的,工作一年多跟在养老一样,用一句话说就是编程5分钟,扯淡2小时,项目经验严重不足,没开发过很难的需求。分析:这一点是最伤的,公司招有经验的就想看你都干了些什么牛批的东西,结果你告诉面试官我写的需求都是垃圾。

    优势:

    1. 大学时拿过比较多的奖,校级优秀学生,市级优秀毕业生,省级ACM二等奖等。分析:大学的荣誉对一个有工作经验的人来说,公司不一定会看重,但是可能会对面试官产生微妙的影响,特别是ACM奖,我碰到过有的面试官也是搞过ACM的,有共同的话题聊起来总是比较容易的,但是也要注意不能把这一栏篇幅写的过于多,只能当作点缀用,我当时是放在简历最后一栏,简要的写了最主要的几个奖。
    2. 良好的沟通交流能力。分析:这个能力不会是关键性的,但是可以加分。
    3. 较强的学习能力和逻辑思维能力。分析:有些公司和面试官还是比较看重一个人的学习能力的,经验代表着你现在在什么级别,而学习能力则代表着你将来能到达什么级别。

    学习过程:

    看了我的优劣势介绍,你会发现我的优势相对于我的劣势来说,简直不值一提。我自己对此也有清晰的认识,因此从过完年之后,我就开始抓紧空闲时间学习。学习的过程如下:

    1.看面试题

    正常人第一步肯定都会看面试题,我也不例外:

    2.深入学习

    在看面试题的过程,你会遇到一些自己没接触过的或者以前没深入学习过的知识,例如最常问的HashMap内部实现原理,这就促使你得开始去看JDK的源码或者是学习一些新的东西。看源码是很重要的一步,起步很难,但是会让你收益良多,看源码的过程如果碰到无法理解的地方,可以百度看下别人的理解。

    3.熟悉项目

    找出自己工作以来开发过的最叼的功能,将整个功能的流程和涉及的东西吃透(这边有个小捷径,如果你觉得项目中别人做的某个功能很牛逼,你可以把这个功能吃透,面试时可以拿出来讲)。项目是面试中必问的环节,一般是以一个功能点为基础展开问,因此你必须对这个功能有很深的认识,不能有模糊的地方。如果有时间,能把涉及到的知识点也搞懂最好。

    4.做笔试题

    有不少公司是有笔试的,如果你没有准备过,很容易在各种小地方犯错,建议去一些笔试题网站多做些题目,我自己是用的牛客网。

    5.学习记录

    把自己每天的学习时间和学习内容记录下来,可以让自己更有动力的学习,学习是一个枯燥的过程,你必须让自己时刻保持有动力。

    投简历、约面试环节

    1.在哪些网站投?

    拉勾网、BOSS直聘、猎聘网。

    2.是否该海投?

    投简历分为两个情况。

    1. 没有社招面试经验:建议采取海投的方式,只要职位要求跟自己比较匹配都可以投,累计面试经验。这个环节可以把投简历的网站增加两家:智联和无忧。
    2. 自认为社招面试经验已经足够:投那些职位匹配、公司满意的职位。公司评价可以去看准网、百度、知乎等查询。

    3.一天约几家面试合适?

    最理想的情况为2家面试,上午一般在10点左右,下午一般在2点左右。建议把理想的公司放下午,因为下午的时间比较充足,可以让公司更充分的了解你。我开始面的时候,每次都是上午面的不好,下午面的不错。

    4.投简历经常没下文?

    我当初也没想到简历筛选这关有这么难,可能是我的简历确实亮点不多,再者HR很多都不是行内人,因此他们看得最直接的就是你上家的公司和你毕业的学校,如果你不是从牛逼的公司/学校出来,可能会碰到和我一样的情况,应对的办法就是多投。

    5.是否该裸辞?

    我一开始是边上班边投,然后利用调休时间,或者请假去面试。后来,面试机会越来越多,请假太频繁了,自己都不好意思了,并且自己也已经有足够的信心,这个时候我选择了裸辞。裸辞还有一个原因是,在面试过程中你会发现,有的公司要人要的紧,如果你的辞职流程过长可能会导致你错过这个公司。

    6.注意事项

    1. 面试前一天把路线和时间算好,最好别迟到。
    2. 背个书包,带好简历、充电宝、纸巾、雨伞。

    面试环节

    1.笔试常见的问题?

    笔试常见的问题上面给的面试题链接基本都有。我只提几点:

    1. 写SQL很常考察group by、内连接和外连接。
    2. 手写代码:手写代码一般考单例、排序、线程、消费者生产者。我建议排序算法除了冒泡排序,最好还能手写一种其他的排序代码。试想:如果一般面试者都写的冒泡排序,而你写的是快速排序/堆排序,肯定能给面试官留下不错的印象。

    2.面试流程?

    1. 让你自我介绍
    2. 问Java基础知识
    3. 问项目
    4. 情景问题,例如:你的一个功能上了生产环境后,服务器压力骤增,该怎么排查。
    5. 你有什么想问面试官的

    3.面试常问的知识点?

    1)集合相关问题(必问):

    • HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现。
    • HashMap和Hashtable的区别。
    • ArrayList、LinkedList、Vector的区别。
    • HashMap和ConcurrentHashMap的区别。
    • HashMap和LinkedHashMap的区别。
    • HashMap是线程安全的吗。
    • ConcurrentHashMap是怎么实现线程安全的。

    真题解析


    2)多线程并发相关问题(必问):

    • 创建线程的3种方式。
    • 什么是线程安全。
    • Runnable接口和Callable接口的区别。
    • wait方法和sleep方法的区别。
    • synchronized、Lock、ReentrantLock、ReadWriteLock。
    • 介绍下CAS(无锁技术)。
    • volatile关键字的作用和原理。
    • 什么是ThreadLocal。
    • 创建线程池的4种方式。
    • ThreadPoolExecutor的内部工作原理。
    • 分布式环境下,怎么保证线程安全。

    真题解析

    3)JVM相关问题:

    • 介绍下垃圾收集机制(在什么时候,对什么,做了什么)。
    • 垃圾收集有哪些算法,各自的特点。
    • 类加载的过程。
    • 双亲委派模型。
    • 有哪些类加载器。
    • 能不能自己写一个类叫java.lang.String。

    4)设计模式相关问题(必问):

    • 先问你熟悉哪些设计模式
    • 然后再具体问你某个设计模式具体实现和相关扩展问题。

    5)数据库相关问题,针对Mysql(必问):

    • 给题目让你手写SQL。
    • 有没有SQL优化经验。
    • Mysql索引的数据结构。
    • SQL怎么进行优化。
    • SQL关键字的执行顺序。
    • 有哪几种索引。
    • 什么时候该(不该)建索引。
    • Explain包含哪些列。

    真题解析

    6)框架相关问题:

    • Hibernate和Mybatis的区别。
    • Spring MVC和Struts2的区别。
    • Spring用了哪些设计模式。
    • Spring中AOP主要用来做什么。
    • Spring注入bean的方式。
    • 什么是IOC,什么是依赖注入。
    • Spring是单例还是多例,怎么修改。
    • Spring事务隔离级别和传播性。
    • 介绍下Mybatis/Hibernate的缓存机制。
    • Mybatis的mapper文件中#和$的区别。
    • Mybatis的mapper文件中resultType和resultMap的区别。

    真题解析

    7)其他遇到问题:

    • 介绍下栈和队列。
    • IO和NIO的区别。
    • 接口和抽象类的区别。
    • int和Integer的自动拆箱/装箱相关问题。
    • 常量池相关问题。
    • ==和equals的区别。
    • 重载和重写的区别。
    • String和StringBuilder、StringBuffer的区别。
    • 静态变量、实例变量、局部变量线程安全吗,为什么。
    • try、catch、finally都有return语句时执行哪个。
    • 介绍下B树、二叉树。
    • ajax的4个字母分别是什么意思。
    • xml全称是什么。
    • 分布式锁的实现。
    • 分布式session存储解决方案。
    • 常用的linux命令。

    真滴解析


    一些经验:

    1. 先投一些普通公司,等面出了心得再去投理想的公司。
    2. 不熟悉的技术不要主动提。
    3. 对于那种实习期6个月还打8折的公司,除非你没有其他选择了,否则不要去。
    4. 小公司喜欢在薪水上压你,开的时候适当提高。
    5. 不要去参加招聘会,纯粹是浪费时间。
    6. 把面试当作一次技术的交流,不要太在意是否能被录取。
    7. 公司一般面完就决定是否录取了,让你回去等消息这种情况一般没戏,无论你自己觉得面的有多好。
    8. 尽量少通过电话面试,效果不好。
    9. 在面试的日子里,要保持每天学习,无论是学习新东西还是复习旧东西。
    10. 拿到offer了,问问自己这个公司让自己100%满意了吗,如果不是,请继续努力找更好的。
    11. 通过面试官可以大概判断这家公司的情况。
    12. 拉勾投的简历很多会被筛掉,但是拉勾还是面试机会的最主要来源。
    13. 理想的公司可以多投几次,我有好几次都是第一次投被筛掉,多投几次就过的经验。
    14. 问到自己有深入研究过的知识,抓住机会好好表现,不要轻易放过。

    推荐阅读

    4 年 Java 经验,阿里网易拼多多面试总结、心得体会

    5 年 Java 经验,字节、美团、快手核心部门面试总结(真题解析)

    面试阿里,HashMap 这一篇就够了

    面试必问的 MySQL,你懂了吗?

    面试必问的线程池,你懂了吗?

    921天,咸鱼到阿里的修仙之路

    面试必问的 Spring,你懂了吗?

    复习2个月拿下美团offer,我都做了些啥

    如何写一份让 HR 眼前一亮的简历(附模板)

    跳槽,如何选择一家公司

    如何准备好一场大厂面试

    展开全文
  • 投简历的时候,就发现,没工作经验跟有一年工作经验差别还是很大的。不仅表现在工资上。也包括很多机会都是要求至少一年工作经验。我不清楚,正常的一年工作经验下来,到底应该有多大的成长。跟同学沟通,发现很多...
  • 一位10年Java工作经验的架构师聊Java和工作经验

    万次阅读 多人点赞 2015-09-10 13:44:26
    黄勇( 博客),从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师。...热爱技术交流,乐于分享自己的工作经验。著有《架构探险——从零开始写Java Web框架》一书。 我的十年技术之路 CSDN:
  • 工作复盘的重要

    万次阅读 多人点赞 2018-11-07 10:02:22
    同样对于工作也是一样的,一直以身体的忙碌去掩盖思维的懒惰并不是有效的工作方式,最快最有效的学习/工作的方式是对自己的问题进行总结思考,遇见哪些问题,如何解决,还有没有好的办法。  联想总裁柳传志将...
  • 第一份工作重要

    千次阅读 2018-11-27 13:41:57
    秋招刚刚结束,年末时分,正是忙碌的时候。 一些手握多份offer的小伙伴开始了艰难地抉择,或者已经开始了实习; 而秋招时分兵败滑铁卢的小伙伴们也开始努力地看书,...另一部分人则会认为第一份工作非常重要,决...
  • 工作经验分享

    千次阅读 2010-01-06 18:15:00
    年底经历了一次换工作,这次上一次顺利的多...在这里把我的经验分享给大家,希望对大家找工作的过程有所帮助。 首先,在有心思换工作的时候,要先衡量利弊,看是否是源于感情上的冲动,比如听说某某人涨工资了,自己没
  • 项目工作经验总结

    万次阅读 2018-04-15 20:36:44
    项目工作经验总结由于我在团队中担任了项目经理的职责, 因此在这次项目的开发过程中, 主要由我来进行工作的协调, 安排任务, 考察进度等。通过前段时间的团队合作过程中让我有了一些管理项目与管理团队上的浅薄...
  • 原载《中华读书报》2010年4月14日 作为一个工作多年的产品经理,我一直在困惑一个问题,一个好的产品经理到底是掌握方法重要还是经验重要?从经验的角度,我经常会将产品经理分为四类 第一类、有经验没方法,这一...
  • 对计算机专业来说学历真的重要吗?

    万次阅读 多人点赞 2019-09-27 09:21:37
    我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历... 为什么会这样 ...
  • 大家都知道面试,都是需要工作经验,刚转行或者刚毕业哪里有什么经验呢?面试时候基本都是被拒之门外 怎么办: 今天我分享下我的经验:没有经验也照样能找到心仪工作 面试方面: 一定要对自己的简历很熟悉,简历写...
  • 为什么写技术博客对新人如此重要

    万次阅读 多人点赞 2011-10-28 09:45:13
    由于明年项目业务的扩展,所以在现有的团队中,我还要再招 2-3 名Office开发的新成员作为正式的专职员工,在此聊聊我在招聘过程的感受,和大家交流些经验,特别是「为什么写技术博客对新人如此重要?」。希望对在职...
  • 工作经验年限之神话

    千次阅读 多人点赞 2012-12-28 00:40:22
    在招聘过程中,纵然你的电话面试筛选工作做得非常出色,有个概念还是常常会被扭曲。在澳大利亚有一家名叫Flat Rate Recruitment的人才中介公司,他们的Andrew Stuart曾经给我写信,他向我讲述了一个非常好的故事。我...
  • 我的Android开发半年工作经验总结

    万次阅读 多人点赞 2015-11-25 17:50:25
    昨天又加班到10点多,终于App上线了,这段时间的加班总算告一段落。 很久以前我还奢望App上线后就可以休息一段时间,工作后才知道,1.0版本上线后还有1.1,1.1以后还有1.2,...首先是工作方面的经验,从一点经验没有的
  • 程序员找工作的个人经验教训以及注意事项

    万次阅读 多人点赞 2016-08-13 13:10:09
    忽然间想到如果要找工作的话,需要注意一些什么问题。 没毕业的,刚刚毕业的,刚刚工作的都可以借鉴一下。 大师兄结合自身经历,经验,稍微总结下。保存下来,以备后来者-------自己或观众使用。想当初刚刚毕业,...
  • 论缓解工作压力的重要

    千次阅读 2015-05-17 01:29:54
    先说好啊,这篇文章跟技术没有关系,是最近工作的一点点心得。  从哪开始说呢,真的比较混乱,但是我觉得时间线是条不错的线。  新工作了,新环境,挺喜欢的,真的,不是不累啊,压力还是挺大的,但是喜欢所以干的...
  • 程序员找工作经验

    千次阅读 多人点赞 2014-04-29 00:10:21
    不知道想要从事什么方向的工作;2.不知道要去哪里工作。 于是我在网上搜了很多的面经,另外找了几本书看了下,后来决定了以下几个方向:1.图像、视觉;2.分布式计算或存储;3.机器学习;4.北美求职。 虽然上面列了...
  • 1年工作经验的一个初中学历程序员的感悟

    万次阅读 多人点赞 2018-01-21 16:28:50
    我不是很厉害,只有一年经验,我也不觉得自己技术很好,虽然我是99年的,但我还是觉得浪费老多时间了。 我是多久接触的编程呢?  实不相瞒,我从小学到初中,一直处于是尖子生的状态,高中也考进了我们市区的重点...
  • (三)兴趣对于工作重要

    千次阅读 2020-02-25 18:23:59
    兴趣是人生最大的导师,不用关心这句话是谁说的~对于学习、生活、工作,有了积极的兴趣,那会起到至关重要的促进作用。 首先,对工作有兴趣,那将是非常幸福的一件事情。因为人一生中几十年都是在忙忙碌碌的工作中...
  • 软件开发工作经验分享

    千次阅读 2013-02-20 15:22:59
    1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重要的道理...
  • 个人的一些工作经验,大部分都是老生常谈,但确确实实有用1、合理规划自己的时间,有目的的做事情 在软件公司,大部分工作都是做不完的,必须把任务做一个合理的规划,优先搞定重要紧急的 2、工作时沉下心来,多...
  • 一年半JAVA工作经验的总结

    千次阅读 多人点赞 2020-11-20 20:55:06
    写文章前,看了一位前辈的总结,好多篇文章,真有意思啊,自己也希望通过这样的记录,给未来的自己留下点什么
  • java程序员—工作中开发经验总结

    千次阅读 2016-08-28 21:56:16
    工作也有一段时间了,其实很多的时候,一直是重复重复再重复的写着业务逻辑代码。除了上班以外,自学是一方面,还有一个很重要的方面就是总结了,前些天在最代码上看到了一篇《关于公司WEB项目源码团队协作开发的...
  • 前端初学者的痛,没学历没工作经验如何找工作?

    千次阅读 多人点赞 2019-10-09 14:32:25
    2018年各大互联网公司对前端技术人才的需求缺口依然很大,然而公司招不到人和学生找不到工作的矛盾却更加突出,这一切都与前端技术的飞速发展息息相关,公司对前端人才的开发经验要求、技术要求逐渐提高。...
  • 谈谈工作总结的重要

    千次阅读 2013-05-29 17:28:41
    入职一年多了,对工作内容越来越熟悉...那个时候这句话确实听进去了,不管做什么都会写个文档,当然了文档主要是记录了很多细节,每天还坚持用EverNote写工作日记,隔一段时间稍稍把各种细节汇总一下输出一个文档,给me

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 593,895
精华内容 237,558
关键字:

为什么工作经验更重要