.net程序员工作两年总结

(2015年9月) 最近换了工作,面试了很多家公司想总结下,以便以后回顾知道自己是怎么走过来的。

入行背景:

我是半路转行做软件开发的,2011年7月大学专科毕业,大学专业是:机械制造及其自动化;2011年1月到8月底,在合肥格力电器工作多半年,2011年9月份开始接触编程。

本来只是看了《硅谷禁书》《李开复自传》书上有个观点,一个人千万不能年纪不大,就落后了时代,一定要学会用这个时代的先进技术,那就是计算机互联网技术。我深信不疑!

本来我只是想学习下搜索技术,人人都是讲互联网是个知识宝库,你要学会使用,所以我就想学学搜索,学学办公自动化,学学绘图软件,学学报表制作,以便我能进入机械行业的工艺部门,能在办公室工作,而不是在一线生产线。在一线生产线时,天天被要求做俯卧撑,受班长组长的批评训话,说工作效率低,工作不努力,没有达到规定产量达标,每天下班后总是几个可怜虫和我被留下来,免费加班两个小时,甚至更长时间,真是感觉很委屈很窝囊。个人性格腼腆,思的杂,想的多比较敏感,感觉不适应工厂的那种军事化管理。然后7月份领毕业证时就到北大青鸟咨询了下,有没有电脑培训班,后来在工厂上班,常常接到老师电话邀请,机会难得,速来报道。搞得我有点想离开工厂了,只差一个刺激,只要刺激了我的自尊心我马上就离开。

然后2011年8月27号左右,到郑州的北大青鸟翔天信鸽中心去学习编程去了。去之前老师告诉我.net非常简单,图形化界面拖拽后,设置下属性就行了,我在大学学过autoCAD,以为就像画图一样,我认为我是可以学好.net编程的。北大青鸟有个学士后课程,在线学习,那个课程学习者扮演一个角色,升级学习。后来我才明白,学编程如果没有老师,上来就学那种纯视频引导的课程容易走上歧途,进入死胡同,没有经验的人很容易就卡着学不下去了。我也不能幸免,我卡住了,我卡到了2012年底。

学士后课程号称三个月改变一生,三个月就就业变身白领,月薪6000以上,我当时也是自信满满,我在大学是规规矩矩的学生,没逃过课,也去过图书馆,没有特别擅长的方向,但是实验也都能做出了结果,班级综合成绩第二名,属于踏实型。我刚开始完全就是模仿入门课程学习,学编程前我一点编程都没接触过,只学过单片机和PLC还有数控,PLC当时学的很好,单片机毕业时都忘完了。

开始培训了,没有老师,没有讲课,前两周我就是到学校连上网,装上vs2010,登陆上学士后账号,然后开始学习c语言,笔记做的非常详细,也都能运行处结果,自己感觉很满足。两周后班主任老师,找我说你怎么不开始正式课程学习,我看你没有进度啊?我当时一愣我不是在学习吗?老师就说,你不要在那个入门C上徘徊了,你赶快开始学习C#,C#和C没有关系,你不需要看前面课程,然后我就开始学习C#。当时真是基础太差了,打字是一指禅,慢得特别很,然后我就开始学习C#的数据类型,if判断,while循环,for循环这些入门课程,那些在大学学过两年的同学都是一周多点都学完了,我硬是学了快一个月,从定义一个变量,到数组,到各种逻辑判断,到类的定义,继承,方法,到集合,学的非常细,做各种练习题,我自己不着急毕业,我想学懂学会。(因为开始学编程我还比较小,我1991年出生)。

后来班主任老师又找我了,说你不能这样啊,你的进度太慢了,都一个半月了,你还在基础这一块,要这样下去你怎么能过完年(2012年3-4月)就业呢?然后我就着急了,开始多看视频,不做练习题。这里回头提一下我用vs2010写练习时,刚开始我非常纠结于为什么写一行,写一个语句后面要加分号,我企图搞明白为什么,我经常漏写分号,然后就不到为什么出错,因为我不太明白语句这个概念,有几次为了一个很小的错误,我需要等老师30多分钟他才能跑过来帮我看一眼,说:“这不是很明显吗?少了个分号,着你看不到吗?”当时真的感觉自己太差了,老师不知道完全无基础的人的无知程度,他不知道我在程序面前有多傻,我无法理解为什么需要方法,我宁愿复制代码,我也不愿意写方法,当时我就是这么固执,类型这个概念我也是后来很久才突然明白,int类,和class Student 类,其实它们是一样的,都是一种类型而已,只不过在能存中不一样,在存储或者表达数据方面不一样。一个人无法明白,他没有理解的东西,当时我就是那样的状态蹒跚前进慢慢学习的。

然后快到十一了,当时在和一个女孩谈朋友,因为我从工厂辞职了,就没了收入,学习上也是困难重重,然后我就不想给她过生日,当时是真没钱给她过,因为从工厂了出来我又变为一个学生了,后来不怎么关心她就慢慢分手了,她也不再理我。然后就是就是继续学习,在学到关键字this,as,is关键字, 索引器,多态这个地方我卡住了,我怎么也学不通,我无法灵活变通的使用它们,再下来是学习事件和委托,难度一下子加高了,我不了解C语言的指针,我就无法理解委托这种奇怪的东西,我才刚刚搞明白方法是一段可以重复使用的代码块,然后委托怎么样闹不明白,这个时候学校的网出问题了,我对学校也有点熟悉了,同学也熟悉几个,网友问题,他们就要回家学,其实到家(租的地方)大部分都不学习,女生也不学,因为感觉蛮吃力的。

我跟着也回宿舍学习几次,慢慢的天气变冷了,宿舍特别冷,学校也特别冷,只看视频,不怎么做练习,发现到后面前面的东西又忘记了,然后就回头学,效率低下来,这个时候开始学winform,学习做视频上的练习,winfrom虽然简单,但是要做个和视频上一样的练习项目还是挺花费时间的,可能一节课,把练习做完需要两三天才行,当时没有这样学习过,其实我一直都没有培养出好的学习方法,以前学习都是上课45分钟,作业几十分钟搞定了,然后下一课。这个时候学一课需要做的练习时间非常长,然后自己就 把握不好,进进退退,企图把平台的知识学完,常常倒回去看多态,抽象类,接口,索引器,委托,二维数组,这些难点。然后几天一周下来,不知道自己搞到哪了,似乎这一周什么都没学会,现在看来是人在学习时常常高估自己的能力,编程不是高中背书,不是做数学化学题,它是技能,是需要大量练习和长时间实验感悟的。

到过年时,我学到winfrom了,然后过完年继续回学校学习,过了一个年,又忘记了一部分,然后就开始学习数据库,学习三大范式,数据库本来我是感觉挺简单的,也学得会,但是开始学函数,学子查询,学游标时,我又蒙了,后来我也明白,这个东西需要看多方面的资料,需要在使用中慢慢感悟,死劲看,死劲想是无法明白 的。这个时候还要学习IO操作类TextReader,TextWrite,StringReader,StringWrite,SteamReader,SteamWrite;文件操作类File ,Directory,FileInfo DirectoryInfo;XML操作XmlDocument,XmlNode等;还有序列化特性还有其他特性学习;这个时候我非常搞不明白特性这个东西,我感觉它很丑陋,后来慢慢明白它就是个标记,要给一个类加上点额外信息,不用特性用什么呢?就顺理成章了。

这里提一下,这一块学的差不多的时候,学校给了一个项目就是,模仿windows做一个资源管理器,要求实现树形菜单展示电脑上的资源,能实现新建,修改,复制,剪切,删除,序列化保存信息;时间是两周,这个项目我差不多以两周做完了,但是升级考试的时候,我怎么也考不过,这个是在线平台为了保证你不能随便跳着学习,防止好高骛远,然后我就考试不过去,然后就一直在前面耗着,当时我不知道这个考试可以作弊,可以试答案,现在看来那个考试的标准比较高,就像大学如果严格考试,题不要太简单,大专学校很多人要不及格一样,我当时怎么也考试不过去,因为难点我没学会也没理解,学会的也是死板硬套自己其实是没学会的,只是死板硬套的记住了一些东西。

卡住过不去,然后我就一边回头学习,一边深陷在事件,委托,多线程,序列化里面,一边慢慢迷失了方向,这个时候学校也没有继续找老师,因为以前的辅导老师离职了,完全没有老师指导了。学校网速一直没解决,经常掉线,应该是学校为了省钱,给我们三十多个学生拉了个10MB的网线,虽然不是人人都会同时看视频,但是,10MB让30个人分着用,网速自然也是一种折磨,我们当时也真傻不知道向学校抗议,还傻傻的尝试去练CMCC免费热点,我当时还掏钱开了半个月。然后很多同学都开始三天打鱼两天晒网,经常回到家中打游戏,说不去就不去了。

当时70多个学生报名学习.net编程,最后坚持下来的不到15个,我还是一直在苦苦挣扎的一个这个时候已经到六一了,后来知道我们是郑州北大青鸟第一批实验对象,学士后我们是河南在线平台的第一批学员,当时学习时,平台课程也经常调整,青鸟的平台的老师讲课说话全部是平音,发音标准,声音温柔,规范的不得了,几十分钟讲下来不知道他讲的哪个是重点,听课中不知不觉注意力常常分散,导致学习效率非常低下。我到现在都感觉,在线平台的老师如果讲课发音过去规范化并不好,因为从小到大听惯了老师,抑扬顿挫的讲课吼声。2012年8月到9月的时候我还在学xml,学习DataSet的结构,学习sqlServer,Ado.Net的对象,学习连接查询,资源释放。再后来我常常在家打魔兽,我把RPG地图都打边了,一边受了良心煎熬,练习下打字,偶尔看看平台的课程。总之是怎么也进入不了asp.net部分的学习,自然也就不谈就业工作了。12年底我提前回家了,我告诉我爸我在郑州玩了一年,我不想再玩了,我要到北京去学习,我要到传智播客去学习,因为我无意中学习了传智官网的入门视频,一下子明白了以前我怎么也不明白的东西,我发现没有好的老师,自己模仿视频是不行的。

到现在我一直不太愿意提及2012年这个黑暗的经历,面试我常说是2013年到北京培训,13年10月正式工作。再说2013年2月19号到郑州租住的黑暗房子收拾完退房,坐火车20号我到了北京,21号开始正式上课,.net培训,北京育新金燕龙办公楼。

2013年在北京培训,一直都还可以,但是6月9号毕业时,我的asp.net学的很糊涂,那个时候刚学完,老师上课讲,我什么都明白,然后以冷静下来,我怎么也进入不到那种融汇贯通的思路,然后对就业还是忐忑不安,因为东西是学完了,但是没有消化。然后我复习了,又学了一遍13年9月底30号结课。10月12号我到了第一家公司,面试官是传智播客的学长,看我培训经历是一个学校,问我session存放在哪?说下它的原理,就说没什么问的,然后我就到第一家公司上班了。

第一家公司是一家小公司,程序员在我在的大部分时间里是3个,后来是两个,最多的时候是六个还有两个是搞苹果开发的。

公司主要做医药行业的企业网站;

医药数据系统,内部的数据录入查询系统,还有对外产品,医药查询的,有客户端用winfrom做;

还有就是维护公司官网和合作伙伴的官网,做一些会议报名,社区文档下载,在线咨询预约等。

后来做公司微信开发;

行业商品展示网站开发;

医药行业电商网站开发;

后来14年12月股东闹矛盾,差不多公司都倒闭了,两个月不发工资,技术都走了,然后我就离开开始找第二家公司。

这家公司早期招的技术比较厉害,弄得东西都还可以,别的一般公司有的,我们都有,但是公司留不住人,慢慢的没有成长,一直是小公司;

这家公司开的工资是3.5但是包住,住宿条件还是挺好的。

说下技术:公司大部分是做网站,常用的框架就是三层,再加上工具层,通过类层。只要不是分布式,大量优化,别人能做的,公司也都能做。

第二家是医学教育公司;

主要做视频合成工具;

视频课件数据的分类,搜索;

这个公司给5.5,发到手里面4800多到4900多在北京,吃饭快一千省着吃,一千还要多点,然后交通费快三百,一个剩不下什么钱,也学不到东西就想找个更好的,然后九月就辞了,出来尝试找个好的。

说下面试的技术点吧:

1,对于数据库优化你有什么办法?

2,强制提高网站性能有什么办法?

3,千万级,亿级数据查询慢,有什么优化办法?

4,聚集索引,非聚集索引的区别是什么?怎么用?什么场合用?

5,常用的集合类是哪些?哪些效率高?效率高的原因是什么?

6,权限管理,具体到增删改查,你如何控制页面显示哪些操作功能?

7,Lucene.net建的索引,这个索引的结构是什么样子?索引为什么可以提高访问速度原理是什么?

8,说一说简单工厂模式应用场景是什么?

9,说一说垃圾回收的原理,讲一下过程?

10,说一下单利模式的应用场景,都有哪些模式,区别是什么?

11,iis如何实现一个简单的集群,Session存在哪里?如何实现共享?

12,说下HttpModule和HttpHandle的区别?

13,说下页面的生命周期?从浏览器请求到结束这个过程?

14,说下webForm与MVC分别的优势是什么?

15,有没有用过WCF?说下webService的基础技术是什么?它是靠什么支撑的?

16,说下NPOI你是怎么使用的?说下你用过的数据导入,导出?

17,说下你在项目中用的缓存数据怎么实现?说下常用方式?

18,Memcached的内部结构是什么?它的原理是什么?

19,有没有用过自定义控件,如何在自定义控件中做一些控制?这个就是和那个权限管理一起提出来的。

20,如何强制提高网站的性能?你有什么方式?

21,有没有用过除了Jquery以外的其他框架?

22,数据查询常考的那个笔试题,学生表,课程表,成绩表,查询学生平均成绩低于60分的?(2)所有课程成绩都低于60分的

23,如何实现固定行专列?如何实现动态行专列?

25,你常用的存储过程有哪些?为什么使用存储过程?存储过程的优势是什么?

26,你说说EntityFramework的效率与ADO.Net的效率哪个高?这个问题是个坑,要分情况,我也不好回答?

27,说说盘古分词的原理?说说Lucene.Net+盘古分词这个搜索的实现原理?

28,说一说数据分类的实现过程?

29,说一说session,session的分类,说一说登陆信息存储如何实现多服务器共享?你有什么方案?

30,说一说你为什么从上一家公司辞职?

31,说一说,你对新工作,新公司有一个什么期待,什么想法?

33,说一说你的技术优势是什么?  这个问题被问了很多次,我不知道怎么回答,因为我常常 写简单的css,+html布局,+JavaScript控制界面+ajax请求json数据,还有一些ajax操作+弹窗插件,+zTree+Jquery autocomplete+在线编辑器+百度Echarts+加数字分页+加用户控件+加模板页+加数组对比+加正则匹配+Lucene.net+盘古分词站内搜索+多图片上传插件+xml读取队列控制+ffmpeg命令行使用+多线程界面分类使用委托+HttpHandle实现请求截获,信息判断+sql数据合并stuff,xpath等+单例模式,+Global信息统计差不多就这些,两年经验没有特长。

34,有没有学习过其他语言?懂不懂java?

35,懂不懂非关系型数据库?

36,JavaScript作用域链说一说?继承如何实现?

37,jquery选择器都有哪些?

38,你们公司使用什么框架?后台框架使用什么?

39,多线程和锁的问题你是怎么解决的?

40,说一说抽象类和接口区别,你对类的理解?

41,做一个电商需要多长时间?一个人?多种在线支付。

42,你平常关注什么技术?你现在是否还在学习?你如何学习?说说你最近在博客园看的技术?

等等。

面试题比较杂,什么都有,大部分问题都开始有深度,当工作两年后,开始问比较深入的问题,数据在内存中操作的问题,一些数据对象的内存结构问题,大型网站高性能网站问题,数据库优化问题,学习接触其他数据库问题,接触其他学习语言问题,学习基础其他操作系统问题等。

写了这么多,我都不知道是什么主题了,总之就是编程并不像宣传的那样,三个月就可以学会,不可能。想理解一些东西必须经历一个很长的时间,还需要在使用过程中感悟。慢慢入门以后,还有非常多的东西需要学习。

领导都说我有点浮躁,我也确实感觉到了,但是每次被说在北京工作,一个月挣多少钱,剩余多少呀,一个月拿低工资都被刺激,所以就换了工作,决定到新公司放平心态,好好工作。

先说到这里,以后再说。

时间: 2024-11-09 01:48:27

.net程序员工作两年总结的相关文章

提高程序员工作效率的5个工具

提高程序员工作效率的5个工具 这份清单是我们期待已久的,这些高效的工具对于程序员是大有帮助的,你一旦开始使用,就会离不开它们. 1. Git   以前是有不少的版本控制工具,有好用的,同时也有不太好用的,但总的来说它们都没有很好的发展.这时候Git出现了,还有GitHub,EGit,一旦你用上了这个神奇的工具,估计你就很难再碰到更好的VCS了.还没用过Git?赶快试一下吧. 2. Stack Overflow   不开玩笑,2005年的时候你用google搜过技术相关的资料吗?又或者1995年那

什么方法可以显著提高程序员工作效率

注:也许你见到过一种人,好像同样没完没了的加班,却在你不知道的时候额外学习补充,几年过后晋级Boss.大牛,而你依然是个渣,虽然不尽是.但工作效率在这中间确实起到了重要作用.不要提EQ.IQ,现在还能靠敲代码吃饭,大部分人的智商差异都不大,特别和坐在你身边的那位.今天我们一起探讨下提高工作效率的方法,验证一下细节决定成败.本文多数答案来自知乎. 先分享一些:11个小技巧提高程序员工作效率,小习惯更重要(认可度很高哦) [facebook]程序猿提高工作效率的15点技巧 想提升工作效率应该注意的七

向外行介绍程序员工作的复杂程度

你的老板 如果你的老板是技术出身,那你很庆幸,他能理解你实现一个小小功能,修改一个小小功能所付出的辛苦劳动. 如果你的老板不懂技术,也许你就要无穷无尽的加班了.给你的忠告就是:做正确的事儿,等着被开除.这是一位谷歌工程师说的话. 你的产品经理 如果你的产品经理懂技术,那么你既是幸运的也是不幸的. 幸运的是,他可以理解程序员工作的复杂度.但是"不幸"的是,你再也不能为了偷懒找借口. 当产品经理提出一个方案时,你再也不敢坚定地说"技术不可行".因为你害怕产品经理自己写好

转载:简化IT程序员工作生活的4个窍门

如果可以简化你的生活——少做枯燥的任务,将时间真正地用于完成事情,你愿不愿意去尝试?下面就让我一起来学一下如何让程序员工作生活变得简单的小窍门. 如果你敢于倾听自己的心声,你会发现自己一天中的大多数时间所做的事情并不都是有趣的.然而,为了完成你喜欢的重要任务,你必须先完成那些单调又费时的必要职责.所以,要是能够简化任务,少做那些无聊又耗时的事情,将时间真正投入到喜欢的事情上去,那该多好?通过以下几个简单的技巧,你或许可以得偿所愿. 查找个人生活中的瓶颈 Stever Robbins,称自己为“任

程序员工作中的一些建议

一.尽早地添加日志记录和错误处理 在开发新系统时,我做的第一件事就是添加日志和错误处理,因为这两者从一开始就非常有用.如果系统不能照常工作,那么你就需要知道程序中发生了什么--这是日志的作用.错误处理也是如此--错误和异常越早处理越好. 二.在整体测试之前先进行模块测试 先进行部分模块测试可以节省时间.通常说来,我们在整合不同的模块时也会出现问题,例如模块之间的接口不匹配.但是如果我们能够信任各个组件的话,那么跟踪集成问题就会变得简单得多. 三.先了解现有的代码 大多数的编码都需要以某种方式改变

提高程序员工作效率的5个诀窍

提高程序员工作效率的5个诀窍现在有大量所谓提高程序员效率的诀窍和窍门充斥于网络,有些的确有用,但是有些却是误人子弟.然后我想,我不妨自己动手来写点关于这方面的内容,造福于社会,嘿嘿.好吧,扯远了.我写的窍门得既简单实用又立竿见影,我可不希望来个“5年计划”啥的,那太幽默了,这么长的时间,黄花菜都凉了.此次窍门与如何使用软件啊,还有什么颜色的主题最吸引人啊,一点点关系也没有,它致力于提高大家的开发效率.不过有一点要提前声明——对我有效的,不一定对你也有效,下面这些技巧可能有的非开发人员看了也会深有

程序员工作法则,避免成为程序猿

这篇说的是精神,比较务虚,不感兴趣的可以略过. 在国内有一个很特别的现象:高中打了鸡血一样使劲学习的人,到了大学往往会放松下来,跑去享受生活了,大学里打游戏.打牌.临考冲刺的大有人在. 这倒也在情理之中,高中不学真考不上大学,考不上大学真就完蛋了:大学不学,只要能毕业,大致还能找到工作.但人生是场长跑,稍一停顿,后面的人就嗖嗖的窜到你前面了,虽然你不一定能看得到到底是谁.这很像龟兔赛跑,但为了避免不成为那只兔子,单靠口号层次的主观意愿是不行的. 停下来的人其实很多,有的人停在了大学里,有的人停在

程序员工作中会遭遇的天花板 工作中不由你控制的一些地方(转)

在我看来,程序员做的是开创性的工作.互联网的发展不但推动了技术的发展,而且带来了技术的普及.因此程序员不比以前,现在要找某方面的资料是很easy的事情了.看过大量的资料,各种新颖的技术方案和解决思路,不心动那是不可能的.OK,想用某某某框架,想用某某某技术,但是,因为各种原因,没办法应用到自己开发的项目中.这就是一个天花板. 在工作中往往有各种各样的天花板,比如绩效考核,项目进度,被打断的思路,技术架构.因为你不是做决定的那个人,所以你就有天花板. 绩效考核 很多公司都有绩效考核,在我看来绩效考

与傲慢的程序员工作只会让我们更加谦虚

一年多前我加入团队的时候,公司是一个有着超过25年的非常成功的行业软件和解决方案提供商,位于德国.行业软件的本身是基于Windows和OSX的客户端平台解决方案以及服务器接口,由于HTML5的崛起,公司决定要把行业软件的功能逐步转移到Web上,甚至是手机,平板等智能设备上. 这种行业软件开发的背景决定了团队的软件工程师,是优秀的桌面软件开发程序员,他们能够熟练的驾驭此类行业软件的开发,并且在自己的工作领域都有着丰富的经验和出色的作品.这些都是我开始和他们一起做开发的时候所没有设想的地方,通常而言