(2015年9月) 最近换了工做,面试了不少家公司想总结下,以便之后回顾知道本身是怎么走过来的。css
入行背景:html
我是半路转行作软件开发的,2011年7月大学专科毕业,大学专业是:机械制造及其自动化;2011年1月到8月底,在合肥格力电器工做多半年,2011年9月份开始接触编程。java
原本只是看了《硅谷禁书》《李开复自传》书上有个观点,一我的千万不能年纪不大,就落后了时代,必定要学会用这个时代的先进技术,那就是计算机互联网技术。我深信不疑!jquery
原本我只是想学习下搜索技术,人人都是讲互联网是个知识宝库,你要学会使用,因此我就想学学搜索,学学办公自动化,学学绘图软件,学学报表制做,以便我能进入机械行业的工艺部门,能在办公室工做,而不是在一线生产线。在一线生产线时,每天被要求作俯卧撑,受班长组长的批评训话,说工做效率低,工做不努力,没有达到规定产量达标,天天下班后老是几个可怜虫和我被留下来,免费加班两个小时,甚至更长时间,真是感受很委屈很窝囊。我的性格腼腆,思的杂,想的多比较敏感,感受不适应工厂的那种军事化管理。而后7月份领毕业证时就到北大青鸟咨询了下,有没有电脑培训班,后来在工厂上班,经常接到老师电话邀请,机会可贵,速来报道。搞得我有点想离开工厂了,只差一个刺激,只要刺激了个人自尊心我立刻就离开。程序员
而后2011年8月27号左右,到郑州的北大青鸟翔天信鸽中心去学习编程去了。去以前老师告诉我.net很是简单,图形化界面拖拽后,设置下属性就好了,我在大学学过autoCAD,觉得就像画图同样,我认为我是能够学好.net编程的。北大青鸟有个学士后课程,在线学习,那个课程学习者扮演一个角色,升级学习。后来我才明白,学编程若是没有老师,上来就学那种纯视频引导的课程容易走上歧途,进入死胡同,没有经验的人很容易就卡着学不下去了。我也不能幸免,我卡住了,我卡到了2012年末。web
学士后课程号称三个月改变一辈子,三个月就就业变身白领,月薪6000以上,我当时也是自信满满,我在大学是规规矩矩的学生,没逃过课,也去过图书馆,没有特别擅长的方向,可是实验也都能作出告终果,班级综合成绩第二名,属于踏实型。我刚开始彻底就是模仿入门课程学习,学编程前我一点编程都没接触过,只学过单片机和PLC还有数控,PLC当时学的很好,单片机毕业时都忘完了。面试
开始培训了,没有老师,没有讲课,前两周我就是到学校连上网,装上vs2010,登录上学士后帐号,而后开始学习c语言,笔记作的很是详细,也都能运行处结果,本身感受很知足。两周后班主任老师,找我说你怎么不开始正式课程学习,我看你没有进度啊?我当时一愣我不是在学习吗?老师就说,你不要在那个入门C上徘徊了,你赶快开始学习C#,C#和C没有关系,你不须要看前面课程,而后我就开始学习C#。当时真是基础太差了,打字是一指禅,慢得特别很,而后我就开始学习C#的数据类型,if判断,while循环,for循环这些入门课程,那些在大学学过两年的同窗都是一周多点都学完了,我硬是学了快一个月,从定义一个变量,到数组,到各类逻辑判断,到类的定义,继承,方法,到集合,学的很是细,作各类练习题,我本身不着急毕业,我想学懂学会。(由于开始学编程我还比较小,我1991年出生)。ajax
后来班主任老师又找我了,说你不能这样啊,你的进度太慢了,都一个半月了,你还在基础这一块,要这样下去你怎么能过完年(2012年3-4月)就业呢?而后我就着急了,开始多看视频,不作练习题。这里回头提一下我用vs2010写练习时,刚开始我很是纠结于为何写一行,写一个语句后面要加分号,我企图搞明白为何,我常常漏写分号,而后就不到为何出错,由于我不太明白语句这个概念,有几回为了一个很小的错误,我须要等老师30多分钟他才能跑过来帮我看一眼,说:“这不是很明显吗?少了个分号,着你看不到吗?”当时真的感受本身太差了,老师不知道彻底无基础的人的无知程度,他不知道我在程序面前有多傻,我没法理解为何须要方法,我宁愿复制代码,我也不肯意写方法,当时我就是这么执拗,类型这个概念我也是后来好久才忽然明白,int类,和class Student 类,其实它们是同样的,都是一种类型而已,只不过在能存中不同,在存储或者表达数据方面不同。一我的没法明白,他没有理解的东西,当时我就是那样的状态蹒跚前进慢慢学习的。sql
而后快到十一了,当时在和一个女孩谈朋友,由于我从工厂辞职了,就没了收入,学习上也是困难重重,而后我就不想给她过生日,当时是真没钱给她过,由于从工厂了出来我又变为一个学生了,后来不怎么关心她就慢慢分手了,她也再也不理我。而后就是就是继续学习,在学到关键字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,你日常关注什么技术?你如今是否还在学习?你如何学习?说说你最近在博客园看的技术?
等等。
面试题比较杂,什么都有,大部分问题都开始有深度,当工做两年后,开始问比较深刻的问题,数据在内存中操做的问题,一些数据对象的内存结构问题,大型网站高性能网站问题,数据库优化问题,学习接触其余数据库问题,接触其余学习语言问题,学习基础其余操做系统问题等。
写了这么多,我都不知道是什么主题了,总之就是编程并不像宣传的那样,三个月就能够学会,不可能。想理解一些东西必须经历一个很长的时间,还须要在使用过程当中感悟。慢慢入门之后,还有很是多的东西须要学习。
领导都说我有点浮躁,我也确实感受到了,可是每次被说在北京工做,一个月挣多少钱,剩余多少呀,一个月拿低工资都被刺激,因此就换了工做,决定到新公司放平心态,好好工做。
先说到这里,之后再说。