‘壹’ 女朋友做亚马逊产品开发是一种什么体验
讲真,有一个程序员的女朋友是一件很美妙的事!
她跟你讨论的是这个bug还没修好,那个功能还没实现,彼此的话题永远是和技术挂钩的。
不过除此之外,她和别的女生没区别。她也爱逛淘宝,闲暇之余也会画画妆,做做瑜伽,做下美甲;她甚至也会小鸟依人的跟我撒撒娇,卖卖萌。
不过有时候她逛淘宝,看看看着就会说:“安然,快过来,快!”我以为发生了什么大事,结果她竟然是要跟我讨论淘宝的特效是怎么实现的。
她写的代码讲真确实比我写的干净,整洁,容易看懂,对于工作她比我更加认真谨慎。只是在一些逻辑问题上,她会让我给她讲讲思路。
有一次,她加班到很晚,我就给她买了她爱喝的红豆奶茶,还带了给她做的饭。
她的同事调侃:“我见过最浪漫的事,就是你带着男朋友一起加班!”
她笑的差点没把奶茶喷出来,不过她笑着笑着眼睛突然噙着泪,而且动情的说:“我有code,还有book!”
“那我是你的啥?”我一脸无奈。
“你是我的code啊!”她一脸认真的说。
“合着我就是你生命中的bug呗!”我表示不解。
“你不知道bug虐我千百遍,我待bug如初恋吗?你傻不傻!”她着急的涨红了脸。
“你们酸不酸,我下班了!让我一个单身狗实在看不下去了,又是爱心晚餐,又是秀恩爱的!”小林提着包就走了。
我的无奈变成了感动,这‘孩子’总会带给我意想不到的结果。
我们经常调侃对方说我们是看透世界的人,每天都有改不完的bug,每天都有加不完的班。
她说:程序员就是看透了世界的黑暗,却依然兴致勃勃地想去拯救世界的人!
之前有一个98年的小朋友加我,问我是不是程序员都喜欢抠脚,喜欢穿个拖鞋,留着长发,不怎么洗脸,甚至还秃顶。我能说你说的那是犀利哥吧!
这样的程序员或许是有的,但是我和她都不是。她有轻微的洁癖,家里的东西一定要整整齐齐,东西用完要归于原处;她一直都在和自己的头发做抗争,只要地上有头发,她都会去捡起来,然后扔掉;受她的影响,我也拥有了和她一样的习惯。
她有时候也会感慨怕自己老得太快,我总会跟她讲:“美丽的容貌千千万,有趣的灵就你一个。就让我陪着你熬到地老天荒,海枯石烂吧!”
她总会被我的“甜言蜜语”感动得红着脸...
我们有时候也吵架,不过总会以出去旅游的方式告别争吵,回来之后就好像什么都没发生过。
时间过得很快,三年就好像那么一瞬间,我们也曾差一点分手,可是最终还是挺了过来。
她说她想有个家,于是我们就在成都按揭买了房,婚纱照也是前几天刚拍完的。年底我们就要结婚了,作为程序员准夫妇,我真的很满足,我有她,就有家。
我曾说以后千万不能让孩子再学敲代码了,不然一家三口都是程序员,俨然成了程序员联盟。
她笑着说:一定要学,这样就可以一起组队打英雄联盟了!
这是我好朋友安然和她做程序员女朋友的故事,终于写完了,真心祝愿他们海枯石烂,地久天长。
‘贰’ 如何招到一个靠谱的程序员
1. 简历看人
阅读简历永远是面试的第一步。好的简历一定是正确、清晰并且能够体现候选人最有价值一面的。我首先会过滤掉那些包含错别字,文句不通或没有逻辑性的简历,因为如果一个程序员连自己的简历都不愿意去仔细检查并完善的话,很难想象他写出来的代码质量会如何。接着,我便会重点阅读简历中的项目经验部分,在这里我能够看到面试者的开发经验,技能栈,并且判断他们熟悉的技术框架、工具是否与目前公司要求相匹配。
这里,我还会特别关注面试者是如何来写这部分项目经验的,你需要用尽可能简练的文字来描述项目的背景,你在项目中承担的角色、参与项目的时长,你用到的技术、以及你在项目中的亮点等信息。优秀的程序员们往往有一个共同的特质,那就是善于归纳,并能够一针见血的发现问题或把一个问题说清楚。我经常看到面试者在简历中像写故事一般地描述他们的项目经历,光这一个章节就有好几页,其实这反而会给你减分,因为这会让面试官判断你缺乏必要的归纳能力。
最后你的一些与编程有关的社会化活动,如:你在GitHub上的开源项目,在知乎、V2EX中给他人的解答以及你的个人技术博客等等都会给你加分,因为这说明你对所从事的工作有着极大的热情,并愿意在业余时间去学习和提高自己,就像在我之前的 “给职场新人的10点职业建议” 一文中提到的,如果你要成为一个领域的专家,那你必须花费超过10,000小时,而这光靠工作时间是远远不够的。
2. 给面试者10分钟介绍自己最擅长的
当面试者通过了笔试和HR面试之后,你就需要面对面地对候选人进行面试。我远不是什么面试专家,但我有一些自己的独特方法。我讨厌问一些很个人的问题,比如你的职业规划是什么?你为什么想换工作?等等。我更愿意给面试者10分钟时间,让他介绍自己最擅长和最感兴趣的领域。这往往能帮助我很快作出下面的判断:
这个人对他所做的事情是否充满激情
他们是否能在团队中很有效地进行沟通
他们是否在专业领域足够擅长
你的团队是否会乐于和这个人一起工作
这一招我在面试中用得很多,而实践证明也确实非常有效。
3. 基础打牢了吗?
一般,有一定规模的公司都会为面试者安排机考或笔试,从而能首先筛掉一批未能通过的面试者。另一些规模较小的或初创公司则会让面试官直接进行技术面试。其实,我觉得这两者的差别不大,有经验的面试官往往能够通过几个最简单的技术问题,判断出面试者的技术基础是否牢固,这不是为了证明他有多优秀,而是用来判断他是否是一名合格的程序员。对于我来说,并不看重机考的成绩,因为机试的考题很多能够在网上得到,特别对于一些外包公司,他们总是能够通过各种途径得到考题,从而使得他们推送的外包能够顺利通过笔试。
下面是我经常会问的几个问题(java):
HashTable与HashMap有什么区别?
Servlet是线程安全的吗?
JSP中 @include跟jsp:include的区别
HTTP的response code 403和500分别代表什么
......
这些问题都很简单,但一些基础不牢的程序员往往会在这个时候露馅。当然,根据面试岗位的不同,你还可以有针对性地问一些问题,例如,你需要找一个能写核心算法的程序员(比如 银行的总账计算,或者保险公司的保费计算),那么你可以问一些算法相关的问题。
4. 技术深度够吗?
具备牢固的技术基础,一般就可以满足项目中普通程序员的要求了,但如果你需要找的是一个资深程序员,那么你还需要对面试者的技术深度进行考察。我们现在做项目时都会大量使用框架,这能使我们的开发效率和质量都得到提升和保障,但同时也降低了对于程序员开发技能的要求。因此我一般会询问面试者下面的问题,来考察他对所使用框架的掌握程度。
请你描述一下,在这个项目中,从一个HTTP请求发起,到最终的Response返回,它在你的系统和框架内部是如何流转的?
这个问题往往能够判断出面试者对于相关技术掌握的深度。较初级的开发人员描述的层级往往比较浅,比如使用Spring MVC框架的,只能说到实现一个Controller继承BaseCommandController(甚至很多开发人员只知道继承了一个公司内部框架的基类),至于再往下Spring框架是如何进行内部流转的,就再也说不清楚了。而更资深的开发人员,往往能说出框架内部的实现机制,以及如何调用和处理的。在面试者描述的过程中,你还可以穿插询问一些比较有深度的问题,比如框架中某个类这样设计是哪一种设计模式的体现,采用这样的设计有什么好处等等。这比让面试者默写一个设计模式代码要有效、自然得多。
除了技术层面上的考察之外,对于资深开发人员,还需要考察他们的设计能力。说到软件设计,大部分面试者都能熟练地背出面向对象的三个基本特性:继承、封装、多态,也能把它们的概念描述清楚。但我一般会问下面的这个问题来考察他们的面向对象设计能力。
请用一段程序代码描述我们所在的这间房间。
我惊讶地发现至少有一半的面试者都很难准确使用Interface和Class来给房间建模,也有一些人会将最基本的代码语法或关键字写错。
5. 选择适合所在企业文化的人
这一点也曾是我经历的一个误区,我总是希望能为团队招到技术能力最强的人,而忽略了他是否与整个公司和团队的文化相匹配。这往往会造成,虽然招到了人,但没过多久就因为理念不同不欢而散的结果,反而给公司带来了损失。让我们看看GitHub的负责人是怎么说的。
我们很严肃地看待我们自己关于招聘流程的哲学。我们希望每一个GitHub员工都了解他们所要面对的环境,并保证他们是能够很好适应的。这包括我们所创造的文化、哲学、计划、错误甚至是晚餐。比起他们的技能是否满足要求,我们更看重他们的潜力以及是否能够适应我们的企业文化。
我曾在具有鲜明文化差异的不同公司或团队工作,看到许多崇尚开放、开源的程序员在一个相对封闭,具有很多流程以及规范限制的公司中很难发挥,最终选择离开。因此在招聘程序员时,选择合适的往往比选择最优秀的更重要。
6. 行为面试法
行为面试法可能是我在整个面试过程中唯一用到的教科书面试方法。一个程序员是否能够很好地工作,不仅取决于他能否顺利地完成开发任务,更重要的是在遇到一些特殊场景或问题时,他能否合理有效地处理和解决。行为面试法能够帮助我们从面试者描述的过去某一具体事件中,预测未来他在工作中可能的表现。下面便是一个我经常用到的问题。
请谈谈你在这个项目中遇到的最大困难或挑战是什么,你是如何解决的。
从面试者对上面这个问题的回答中,我能够很好地判断他是否有较强的独立解决问题的能力,而我认为这是除技术能力之外,程序员最应具备的能力。
7. 给他们一个虚拟任务
经过上面的这些环节,你可能对面试者的整体情况已经比较满意,但先别急着下结论。我曾见过能够顺利通过上面所有面试步骤,并且被雇佣的程序员,当他们进入实际工作后却没能把事情做好。
在你确定是否录用他们之前,可以给他们一个虚拟任务。我不是说一个抽象的程序问题,而是指一个真实的,可能就存在于你当前项目中,并且需要在一两个小时之内完成的一个开发任务。我曾经出过这样的考题:
写一个小程序将一个以特定格式(如CSV)存储的文本文件转换为XML格式,并存储为另一个文件。
你可以给他一台已经配置好开发环境以及IDE的电脑,让他当场编写代码。当然如果时间有限,你也可以直接询问面试者的实现思路,并简单用伪代码来描述处理过程。通过这个测试,你能够看到很多细节,比如面试者是否有良好的编码习惯,异常处理是否规范,代码逻辑是否缜密高效,以及他的开发效率是否足够高。如果面试者给出了非常优秀的解答,那么你就应该能够判断他确实是一个优秀的候选人了,因为我从没碰到过能够通过上面的测试,却在实际工作中无法做好的人。
‘叁’ 程序员会跟传统技术工程师一样,越老越吃香吗
随着大数据的爆发,中国IT业内环境也将面临新一轮的洗牌,不仅是企业,更是从业人员转型可遇而不可求的机遇。
中关村,被称为中国硅谷,此间程序员比比皆是。然而一眼望去,大多数一线程序员的年龄均在20至30岁左右,40、50岁的人在这个行业内颇为罕见。相较于国外五六十岁仍奋斗在一线岗位的老程序员,国内为什么会出现这种现象?
国内四五十岁的程序员去哪儿了?
造成这种现象的原因是多方面的。首先,程序员的工作大致可划分为两类:开发和研发,相对应的岗位则是开发工程师和研发工程师。开发工程师直接为产品贡献代码,以达成产品功能为主要目的,有比较多重复性工作。而研发工程师则更注重研究工作,任务目标一般没有前车之鉴,多数情况下要靠自身研究创新。
在国内,大多数大型互联网公司的程序员被称作研发工程师,但实际情况是国内几乎没有研发项目,只能称之为开发。开发程序员的工作大多是重复性劳动,容易产生疲惫感,薪资也许在工作2-5年内能达到一个峰值,但较难提升,导致很多程序员最终放弃写代码,转行做了其他。
此外,程序员多处于长时间加班、熬夜和超负荷的工作状态,而年纪大的程序员往往在体力上疏于年轻人。若想继续在IT行业内打拼的程序员便只能追求成为更高技术水平的架构师或转至管理层这两方面寻求职业生涯的突破。一旦转型失败,也只能黯然退出这个为之奉献青春的行业了。一个行业内没有老员工,这其实是病态的。雷军曾在自己的一篇文章中提到,96年时美国主力工程师以30、40岁为主,国内开发的主力是35岁以下的年轻人,近20年过去,情况仍然没有转变。
但是越来越多的IT从业者发现,大数据技术来临之后也许这个现象就能有所改变。
大数据时代,程序员的春天?
首先,大数据从事的是开源工作,更倾向于“研发”,能够重新激起程序员研发程序的热情,职业生涯有了新的追求,这意味着大数据会成为值得程序员长期奋斗不断突破的工作;其次,由于大数据属新兴领域,专业人才比较缺乏,高端人才更是企业争抢的对象。薪资上升容易,职业发展潜力巨大。
《华尔街日报》称:数据已经成为一种新的经济资产类别,就像黄金和货币一样!鉴于大数据巨大的商业价值,大数据专家在企业非常受重视,阿里巴巴集团就已设立首席数据官岗位(ChiefDataOfficer),直接向集团CEO汇报工作。
在大数据行业内生存的时间越久,其经验也会越得到肯定,这也是大多数资深IT人士猜测大数据或将带来50、60岁的“老”专家的原因。面对如此光明而诱人的前景,很多IT从业者试图向大数据转型。
随着大数据的爆发,中国IT业内环境也将面临新一轮的洗牌,不仅是企业,更是从业人员转型可遇而不可求的机遇。如果将IT人士统一比作一条船上的海员,大数据就是最大的浪潮,借浪潮之势而为之,可成功从IT程序员转型成为大数据专家。
世界正从IT时代走向DT时代,未来是大数据的时代,企业最有价值的资产就是数据,你所拥有的数据越多你就越有说话权,因此未来企业里最牛逼的员工应该是和数据有关的职位,比如CDO(首席数据官)、数据科学家、数据分析师、数据工程师等,这些职位或将成为程序员又一个美好的出路。
首先我们来理解一下这几个职位。
CDO主要负责利用数据推进企业与社会的对话,挖掘企业海量数据中潜在的价值,并运营和管理好数据,为企业战略、营销和管理决策提供参考,CDO的能力不仅仅是大数据领域的范畴,他需要同时具有IT、市场营销、运营管理等综合素质。
“数据科学家是指运用统计分析、机器学习、分布式处理等技术,从大数据中提取出对业务有意义的信息,以简单易懂的形式传达给决策者,并创造出新的数据运用服务的人才。
数据分析师能洞悉一个方程式的商业意义,他们知道如何提出正确的问题,非常善于数据分析,数据可视化和数据呈现。
数据工程师是能运行基本数据模型,充分了解文件系统,分布式计算与大型数据库,他们是能提供可建模数据所需平台的人。“【以上三个职位的定义来源于互联网】
如何转型为大数据工程师?
那么,程序员如何转型成为优秀的大数据工程师呢?广州中星信息老师认为,主要是从两者所要求的能力上来分析。首先,大数据工程师是需要有计算机编码能力的,因为面对海量的非结构化数据,你要从中挖掘出有价值的东西,需要设计算法与编写程序去实现,而程序员最牛的能力就是编写简洁高效的代码,去实现人们许许多多美妙的梦想,编码能力越强的程序员越有可能成为优秀的大数据工程师。
其次,大数据工程师需要统计学与应用数学相关的能力背景,数据挖掘与分析是需要设计数据模型和算法的,应该说程序员是有这个基础的,我见过最牛逼的程序员一般都不是科班出来的,通常是数学专业,因此提高算法设计能力是程序员转型大数据工程师的关键因素。
第三,大数据工程师需要具备某一行业的业务知识,大数据的挖掘与分析最终都要服务于市场,并对产品的销售与企业的发展起到重大推动作用,那才是有价值的大数据分析,因此大数据是不能脱离市场的,它必须与某一行业的应用想结合起来才容易产生更大的价值,通常程序员都是在做某一行业的软件,经过多年的学习与磨练,对某一行业的业务知识是有积累的,因此从来这一点上来看,程序员是很容易过渡到大数据工程师的。
当然,以上都只是粗略的分析,真正要成为一名优秀的大数据工程师,程序员还需要更多的学习与努力。
在美国,大数据工程师平均年薪达17.5万美元,在中国顶尖的互联网公司里,大数据工程师的薪酬比同级别的其他职位高出30%以上。DT时代来得太突然了,国内发展势头很猛,而大数据相关的人才却非常地有限,在未来若干年内都会是供不应求的状况。
‘肆’ 程序员美女说:建模一点都不难!做3D模型,这一步才是最难的
闲来无事逛推特,发现竟然有大神 开发了一个建模神器。在 像素网格 绘制好平面图,再设置下相关参数,就能生成一个3D锤子模型了,妙啊…
其实Windows10系统也有类似的傻瓜式建模软件,叫“ 画图3D ”,它能帮你秒速建好3D模型。比如我们点击右侧栏的那个狗头,再在面板上画出自己所需的轮廓、大小,一只可爱的3D狗狗就出现了。
除了一键傻瓜建模,如果你数学水平不错,用基础的 数学公式 也能构建出一个像模像样的3D模型来。
最近比较火的 VR建模 ,甚至只用手柄就可以直接进行虚拟建模了。
你只要入了3D坑就会发现,建模是可以条条大路通罗马的,3D行业 现阶段真正的技术难点 其实是 模型处理和二次开发应用 。
能得出这个结论,还要从行业内主流的建模方式讲起。3D行业内如今有 4种主流建模方式 ,分别是多边形建模、曲面建模、体素建模和逆向建模,它们都各自有优缺点,同时也对应着自身的模型处理难点。
业界有一句话“你可以用多边形为任何事物建模”。多边形就是由多条边围成的一个闭合的路径形成的一个面, 只要你使用足够的细节,你可以创建任何表面。 这也是多边形建模成为主流建模方式的原因,做任何模型都 不会有限制 。
但多边形建模也有缺点,它 只是一副空壳 ,虽然可以构建物体的表面,但无法反映现实物体的内在结构,与现实物体还是有不小差距。
而且建模师很容易过于精琢细节,导致 模型面数过多 ,以至于后面对模型做烘焙、渲染、展UV,几乎会搞到崩溃, 二次开发的可操作性也变得很低, 造成一种模型做完了,但并不能良好应用的尴尬局面。
多边形建模用直线构建平面,而曲面建模就是用曲线构成曲面的一种建模方式,它非常适合用来 创建光滑的物体 。比如看起来就很丝滑的 数码产品、 汽车 和一些 人物细节 。
但这种建模方式缺点也很明显,一来是比较麻烦,再一个是 很难精准参数化 。所以这种建模方式一般做视觉展示用,用来生成视频或者图片。
同时它对贴图的美观度和清晰度,要求比较高,而当这个模型拥有 大量高质量的贴图 之后,就会导致 模型数据量变大 ,这就是它无可避免的缺点。
体素其实就是三维的 像素块 ,最典型的体素建模的例子就是那款家喻户晓的 游戏 “ 我的世界 ”,每个物体都是由一个个六面体像素块堆叠成的。
用这种方式构建的模型,每个六面体都有自己的 体积 ,不像多边形建模只有一个空壳。
不过体素建模有一个非常明显的缺点: 内存太大 。它是由一个个立方体构成的,当然需要占用立方体的内存,所以这也是一般体素 游戏 内存都特别大的原因,在一般的电脑设备上可能根本无法承载。
前面几种建模方式可以没有实物,靠构想进行建模,而逆向建模是 先有实物 ,再为它进行建模。逆向建模包括 照片逆向建模、三维扫描逆向建模 等一系列相关技术。开头提到的 VR建模 用的就是逆向建模方式。
现阶段国家力推的 倾斜摄影 也属于逆向建模,它是对实景进行全方位地拍摄扫描,从而建模。
逆向建模生成的模型通常 面数都很高,而且贴图数量也非常多 ,这就导致了整个模型体量巨大,连做最基础的展示都十分困难,更别提二次开发了。
基于以上建模方式与生俱来的缺憾,所以我们必须对模型进行再处理加工,以满足 不同的场景对模型的精度、内存、格式等等的不同需求 。
企业需要一辆车的3D模型。
对 汽车 制造行业来说,他就会对模型的精度要求非常高,甚至需要做到不差分毫,这样才能实际投产。
而同样是这辆车如果在 游戏 中被应用的话,就需要较高的贴图质量、较好的流畅度和较小的数据体量来支持画面。
现阶段处理模型一般靠两种方式:一种是人工,一种是机器算法。 人工 操作比较繁杂且 耗时耗力 ,很可能本想处理一个体量较大的模型,搞大半天只减下去几兆,最后精度还损失了,得不偿失。
而 机器算法 只要技术过硬,就可以达到事半功倍、甚至 解放双手 的效果。
而且进行轻量化之后,不仅可以尽可能保障模型的精度。
还能最优化减面和展uv,达成适用于应用场景的最佳效果。
所以如果你有模型处理的难题,一定要先试一下对其进行 轻量化 处理,说不定问题就能迎刃而解啦。
‘伍’ 名校计算机专业出来的只能当苦逼的程序员吗
计算机专业毕业并不是只能做程序员,可以做的事情很多,在以后的生活中,专业给你带来的思维方式会给你很大的帮助。
我就介绍几个与计算机相关,但不需要编程的非技术岗位:
1: 产品经理
产品经理负责整个产品从0到1的规划,设计,产品后期的营销策略,依据大数据分析对产品功能不断迭代完善等产品全生命周期的活动,是产品的最重要负责人。虽然产品经理不需要编程,但是对于产品经理的综合素质要求还是很高的,除了完成大学计算机基础和专业课外,还要自己补充如下知识: 管理类: 计算机信息系统项目管理,敏捷开发,表达与沟通类的课程 市场营销类: 产品文案设计,传播学基础,市场营销,尤其是互联网营销等 认知与心理学类: 社会心理学,产品设计心理学,消费心理学,互联网思维系列,大数据思维系列,逻辑学基础,版权法律等法律通识课等等
2 销售
需要不断拜访客户,维护客户关系,有时还需要挖掘出客户的需求和痛点,反馈给技术部门,不断完善公司软件产品。
3 运营
可分为: 用户运营,市场运营,数据运营,内容运营等。运营工作在互联网公司尤其重要,大家熟知的淘宝,在互联网届公认的是靠运营不断发展壮大的公司。
‘陆’ 程序员的自我介绍
程序员的自我介绍(通用13篇)
当进入一个新环境,时常需要我们进行一个自我介绍,自我介绍可以唤起他人对我们的兴趣。怎么写自我介绍才能避免踩雷呢?以下是我收集整理的程序员的自我介绍(通用13篇),欢迎大家分享。
我叫张xx,是xx技术学院xxx级的一名专科生,就读于计算机技术与应用专业。主修课程:计算机组成原理,数据结构,java网络编程,c++编程基础,单片机基础,路由/交换机配置,jsp编程基础,计算机网络,sql server数据库设计,xml编程实现,编译原理。
大学四年来,我学习刻苦,成绩优异,曾多次获得奖学金。在师友的严格教益和个人努力下,我具备了扎实的基础知识。在软件方面,系统掌握了C语言,数据结构,Power Builder,数据库原理,汇编语言,软件工程等,并对面向对象的DELPHI和VC 等Windows编程有一定了解。课外我还自学了VB,VF编程及网页制作。现已能独立编写专业的数据库管理系统。在硬件方面,通过参与单片机设计,组装收音机,网络工程的规划与管理及组建等实践活动,我掌握了计算机的工作原理及计算机网络原理技术。
面对当今激烈的人才竞争,我很清楚自己知识有限,但我更清楚我有着不甘落后的精神和不断学习,不断提高的愿望。乐于进取,不怕挫折是我的人生信条,给我一次机会,让我去实践,去闯,去干,因为能力要在实践中培养,也终究要在实践中体现。我信心十足,相信我所具备的专业技能,积累的知识,加上有良好的人际关系,会帮助我掀开生活中的新一页。
我来自xxxxxx学院xxxx系xx技术xx班的学生,我将于明年7月完成大专学业,真正步入社会,开始人生路上的新一段征程。
我这次写求职信的目的是应聘贵公司的c#程序员。
两年多来,在校领导和老师的引导下,我努力很认真的学好专业知识,训练专业技能,专业水平每一年都有明显提高。在校期间,我学习了c语言,java,c#,winform,sqlserver,oracle,有较强的实践能力。
两年半的大专生活教我学会了冷静的思考问题、以及如何面对问题,使我能在人生的坐标上找寻适合自己的位置并不断修整自我,更让我深刻认识到人要用心地去做每一件事,认真、踏实地面对人生的每一步。所以我诚挚地希望加入你们这支优秀的、富有生命力的群体,在大家的指导和帮助下,共同携手,在人生的道路上不断进取。
“天生我材必有用”,后附本人的简历,希望贵公司能给我一个发展的平台,我会好好珍惜它,并全力以赴,为实现自己的人生价值而奋斗,为贵公司的发展贡献力量
我叫xxx,今年21岁,毕业于xx解放军信息工程大学计算机科学与技术专业,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+JavaBean模式的WEB开发;熟悉Struts,Hibernate,Spring等开源框架,了解EJB; 熟悉Tomcat,Jboss服务器等,熟悉基于linux及Unix环境下的软件开发;
在校期间有多次社会实践经历,曾参与过学院大学生上虚拟实验室开发的需求分析,大学期间多次担任多课程的课代表。虽然实际工作经验不是很足,但军校四年培养了我充分的自信心和敬业精神以及扎实的学科基础知识和较强的专业技能,四年军校生活中,我严格要求自己,自觉、遵纪、守时。本人坦诚且有责任心,有独立进取的品性,勤于动手、善于动脑,适应新环境能力很强。能在最短时间内完成从学生到职业工作人员的转型,尽自己最大的努力融入新的工作生活。
请各位考官多多指教,谢谢!
1、熟悉网站开发流程,开发文档格式;
2、熟悉MVC体系结构模式、C/S模式,掌握面向对象的设计开发思想;
3、熟练掌握JSP、Servlet、JavaBean、Struts、Hibernate等相关建站技术,熟练运用HTML、CSS、xML、JavaScript等页面控制技术;
4、熟悉UML,了解PowerDesigner等建模工具;
6、熟练掌握SQL语言,MySQL的设计和构建过程及相关维护,了解Access、MSSQL、Oracle等常用数据库;
7、熟练运用Eclipse等开发工具,Apache、JBoss等服务器开发平台;
8、能在WindowsServer、操作系统,上搭建网站平台及进行相关维护,了解RedHat、FreeBSD等Linux操作系统。
本人叫小冰,今年22岁,现在是吉林大学软件开发与信息管理专业方向的三年级学生,对软件开发怀有浓烈的兴趣,且对JAVA语言尤其熟悉,能熟练使用jsp、struts、struts2、sring2和hibernate3等流行的编程技术,并且不断学习新技术来继续丰富自已的知识,目前已经独自编写了好几个项目,例如:基于J2EE的图书管管理系统,网络商城和库存管理系统等,基于J2SE的教师管理系统,生产线故障管理系统等。
拥有一定的实践经验。但仍觉得经历甚浅,希望通过与社会接触,了解社会与软件之间的需求关系,通过更多的项目实践来提高自身的软件设计能力和编程技术。
我是xx工业工程职业技术学院0x届计算机网络专业应届毕业生。即将面临毕业,我渴望找到一份适合自己并值得为其奉献一切的工作。
我有较好的计算机知识和应用能力,能熟练的进行windows20xx和linux操作,并能使用vb,delphi等语言编程。能运用网页三剑客photoshop等软件进行相关工作。
我的专长是数据库开发,我希望能从事这方面的工作。我曾开发过多个系统,基中有,成绩管理系统,人事档案管理系统,工资管理系统等等。
在大学期间,每个学期都获得了奖学金,在学习理论的同时,我还培养自己的动手动力,先后的参加过专业技能和电脑操作等比赛,在校12届文化艺术节中四项全能获得三等奖。还担任过班长,具有很强的组织和协调能力。很强的事业心和责任感使我能够面对任何困难和挑战。
我叫xx,今年22岁,是北京xx大学计算机系统维护专业的学生。
大学四年的学习,积累了丰富的专业知识,广泛的人际关系,培养我成为一个敢于承担责任,对待生活乐观积极,吃苦耐劳的青年。
在专业方面我的主攻方向是计算机工程。
能熟悉掌Windows98/2000/xxp/2003Server等系统,对Linuxx、Unixx、有一定的了解。
同时能熟练操作Dreamweaver、Flash、Fireworks、Photoshop、Authoware,能较熟练操作C、Foxxpro、VB、Access、ASP、JSP等语言,同时对SQL、Oracle也有一定程度上的认识。
作为一名计算机专业的大学生,我热爱我的专业并为其投入了巨大的热情和精力。
在学习生活中,我所学习的内容包括了从计算机的基础知识到运用等许多方面。
通过对这些知识的学习,我对这一领域的相关知识有了一定程度的理解和掌握。
大家好,我叫xxx,今年29岁,xxxx年七月毕业于华侨大学计算机科学与技术系,毕业至今一直就业于厦门力泰科技有限公司,从事j2ee企业信息化管理系统的开发,曾经的岗位是项目经理,负责带领一个3-5人的小团队进行系统开发。今天来贵公司面试的职位是软件开发。
参加工作以来,本人先后独立或主持开发过10几个企业信息化管理系统。其中,xx电力有限公司的电费充值卡管理系统、xx集团的人力资源管理系统以及移动办公管理平台,这三个系统运行以来深受使用单位的一致好评,为企业节约了人力成本,提高了工作效率。
本人对软件开发具有浓厚的兴趣,工作之余经常钻研技术,关注it技术的发展趋势。对业务需求分析比较透彻,在客户端界面操作的易用性上考虑得比较周全。工作至今,我从一个学徒成长为项目工作组成员,再到现在的项目经理,这几年的提升已让我具备了系统开发独挡一面的能力,而且已连续两年被评为企业优秀员工,这不仅是因为本人在工作岗位上长期都本着刻苦努力、虚心好学的态度,也是领导、师傅耐心教导的成果。
优点:本人具备丰富的工作经验、扎实的技术能力以及优良的代码编写风格,刻苦认真、虚心好学,对业务需求分析比较透彻,不仅能够独立完成任务,也能带领团队完成任务,具有良好的团队协作精神与沟通能力。
缺点:在带领团队完成项目的时候,有时会因为太过与善而显得魄力不足。
希望各位领导能给我一个机会加入贵公司。
各位领导:
你们好!我叫xxx,来自xx大学计算机系,今天很高兴能有机会来面试前端开发的岗位。
我喜欢篮球和乒乓球,曾担任大学校篮球队队员。在篮球队中深刻体会到在大家共同努力下击败对手的.成就感!
对于计算机有着狂热的喜爱,虽掌握软件众多,但对编程情有独钟!在每一次解决了问题后都有一种成就感!我喜欢这种感觉,让我能沉迷于我的代码的世界中!
爱好程序设计,喜欢开发自已的小型产品,追求技术上的满足感;稳固的架构,健壮的代码,团结的合作,是我的不懈追求。
有良好的编程习惯,以及程序错误控制和解决能力,我爱程序员这个岗位,当每天敲着代码,听着音乐,是很快乐的。
用心工作,用心生活!我可能不是的,最合适的,我觉得我是最有潜力的!xx,一起加油!
女士们,先生们:
早上好!
很荣幸有机会参加此次面试。我希望今天我能有好的表现。我希望此次面试能够成功。现在,请允许我自我介绍一下。我今年26岁,出生于山东省。我毕业于青岛大学电子专业。我在去年毕业获得学士学位。大学期间,我努力学习,通过了大学英语六级考试,掌握了基本的专业知识。成为电子程序员是我长期渴望的梦想。我渴望有机会施展我的才能。
今年七月,我就职于青岛一家小的私人公司担任技术助理程序员。由于我的才能得不到足够的施展,我决定更换工作。我前往北京为一家外资企业工作担任自动软件测试程序员。因为我想更换一下工作环境,想找一个更具挑战性的工作。而且我认为摩托罗拉公司是一个国际公司,我可以在这样的工作环境里收获更多。这就是我来这里面试的原因。我觉得我是一位具有良好团队精神、诚恳的人。而且,我能够在高强度压力下进行工作。我非常有信心我有能力胜任该公司的程序员职位。
感谢各位给我此次机会。
考官好,我是计算机专业的面试者xxx,我此次应聘的职位是IT行业的软件工程师,这份工作不仅与我的专业对口,同时也是我的特长与兴趣所在。现在我就从以下三个方面介绍自己:
1)学习能力:我有较强的科研能力,能熟练的进行Windows2000与LINUx操作,并能使用VB,DELPHI等语言编程。能运用网页三剑客Photoshop软件进行相关工作。
2)实践能力:我的专长是软件开发,我希望能从事这方面的工作经验,并且我曾经发过多个系统,如人事档案管理系统,工资管理系统等等。
3)交际能力:我的性格沉稳,能坐得住,对IT行业的工作,具有非常好的适应能力,而且为人谦与,具有很强的组织与协调能力 ,富有的事业心与责任感使我能够面对任何困难与挑战。
从以上的简单自我介绍,我希望公司能给我一个展示自己能力的机会,让我我可以学以致用,同时我也很欣赏xx公司的企业文化与工作环境。我愿意成为企业一员,为企业的发展贡献自己的一份力量。 我的职业生涯目标是,做一个既懂技术,又懂业务的复合型人才。
我是xx工业工程职业技术学院xx届计算机网络专业应届毕业生。即将面临毕业,我渴望找到一份适合自己并值得为其奉献一切的工作。
我有较好的计算机知识和应用能力,能熟练的进行windows 2000和linux操作,并能使用vb,delphi等语言编程。能运用网页三剑客photoshop等软件进行相关工作。
我的专长是数据库开发,我希望能从事这方面的工作。我曾开发过多个系统,基中有,成绩管理系统,人事档案管理系统,工资管理系统等等。
在大学期间,每个学期都获得了奖学金,在学习理论的同时,我还培养自己的动手动力,先后的参加过专业技能和电脑操作等比赛,在校12届文化艺术节中四项全能获得三等奖。还担任过班长,具有很强的组织和协调能力。很强的事业心和责任感使我能够面对任何困难和挑战。
各位评委大家好,我是一名即将毕业的计算机系本科生。大学的四年,给我奠定了扎实的专业理论基础,良好的组织能力,团队协作精神,务实的工作作风还有良好的为人处世能力。
理论学习上,我认真学习专业知识理论,在学好专业必修课的同时,我还阅读了大量计算机书籍。同时对于法律、文学等方面的非专业知识我也有浓厚的兴趣。在校期间,在专业考试中屡次获得单科第一。获得院设奖学金一次,院三等奖学金五次。是个成绩优秀的学生,一致受到老师和同学的好评。
在专业知识上,我除了精通visual basic、sql server、asp,熟练使用linux、windows 9x/me/nt/2000/xp等操作系统,熟练使用office、wps办公自动化软件。还自学html 、frontpage 、dreamweaver 、fireworks 、flash等网页制作相关软件。对于常用软件都能熟练使用。运用自如。
工作上,曾担任院学生会成员、副班长等职,现任计算机系团总支组织部部长。多次组织系部、班级联欢会、春游等活动,受到老师、同学们的一致好评。思想修养上,我品质优秀,思想进步,笃守诚、信、礼、智的做人原则。
在社会实践上,四年的大学生活,我对自己严格要求,注重能力的培养,尤其是实践动手能力更是我的强项。曾多次参加社会实践活动,具有一定的实践经验和动手能力。
无论今后从事什么样的工作,我都会把新的工作当做一个新的起点,不断学习和加强专业技能,以我孜孜不倦的学习态度和踏实负责的作风把每一项工作做好。
非常荣幸能参加这次面试,我叫xx,来自xx(户籍),是大学专业本科得应届毕业生,希望通过这次面试能寻到我梦寐以求得职位。
在校期间我刻苦学习,不负众望分别获得两次二等奖学金,和一次得三等奖学金,用实际努力报答父母和师长得养育之恩。
除了学习之外,我还积极参加各种社会实践活动。.我曾担任班级得宣传委员,组织了几次班级和学院得公益活动:如青年志愿者助残活动,向孤儿院儿童献爱心活动等。.组织这些活动以及和活动中和成员得相处让我学到了很多东西,对培养自己得能力和人际关系得处理有很大得好处,为我更快得走向社会提供了良好得平台。
此外,计算机和篮球是我业余最大得爱好,我计算机过了国家2级,除熟悉日常电脑操作和维护外,还自学了网站设计等,并自己设计了个人主页。.我是班级得篮球队主力,我觉得篮球不仅可以强身健体还可以培养一个人得团队精神。
回顾自己大学四年得学习生活,我掌握了专业知识,培养了自己各方面得能力,这些对今后得工作都将产生重要得帮助。.除此之外,也应该看到我得一些缺点,如有时候做事情比较急于求成,在工作中实际经验不足等等。.但“金无足赤,人无完人”每个人都不可避免得存在他得缺点,有缺点并不可怕,关键得是如何看待自己得缺点,只有正视它得存在,通过不断得努力学习才能改正自己得缺点。.今后我将更严格要求自己,努力工作,刻苦学习,发扬优点,改正缺点,开拓前进。
;‘柒’ 如何成为一名程序员 6种方法来成为一名程序员
目录方法1:网络编程1、了解网络编程的含义。2、浏览不同的网站,了解它们的外观。3、学习至少一种头脑风暴技术/方法,并学习一个用来实现头脑风暴的软件。4、熟悉网站结构。5、赶紧学一门图形设计的课程。6、了解网络下部构造的基本情况。7、学习HTML和CSS语言。8、学习XML及其相关技术,比如XSL和XPath(不是必需,仅作推荐)。9、先建立简单的静态网站,直至你熟悉并习惯HTML语言。10、学习客户端脚本语言。11、熟悉你所学的客户端脚本语言。12、学习至少一种服务器端脚本语言。13、学完服务器端编程语言之后就开始创建一个试验项目。14、获得你的网站,开始用你自己的网页实验。方法2:桌面软件编程1、弄清楚桌面软件编程是怎么回事。2、了解不同的电脑硬件结构。3、学习一种入门级(小孩子学的那种)编程语言。4、学习程序化、面向对象、函数设序设计规范的入门。5、学习一种程序化程式设计语言的入门课程。6、学习至少一种高级建模技术,比如UML 或ORM。7、开始编写一些小的主控台应用程式或类似的应用程式。8、学习一门你选择的编程语言的更高级课程。9、应用你所10、至少再学习一门编程语言规范的入门课程。11、试着比较你所学的两门编程语言。12、利用你学过的一种语言来学习可视化编程概念。13、开始把你所学的知识运用到你设计的软件小工程中。14、创建一个虚拟的"毕业工程"。15、通过学习更高级的课程、更加注意细节以及在网上学习搭建架构的技巧,来加深对你学过的可视化架构/库/包的理解。16、搜索其他含可视化元素的包/库并学习它们。17、学习图形学课程(而非图形设计)。18、成为游戏程序员(不是必须的)。方法3:分布式程序设计1、处理分布式应用编程。2、快速了解通信系统及其硬件。3、熟悉网络硬件结构和设备,比如集线器、接线台和路由器。4、学习网络协议的课程。5、学习XML 语言,并熟悉它。6、开始学习一门shell脚本语言。7、开始时用上你学的脚本知识,只运用程序化程式设计。8、使用你所学的脚本语言,写出实现机器之间通信的脚本。9、转移到桌面脚本/编程语言。10、专注于语言的核心部分,尤其hi那些支持网络。11、学习分布式应用设计与结构的课程。12、使用你所学的编程语言来了解服务部分建构和服务。13、学习如下技术中一种或更多。方法4:库/平台/框架/核心编程1、了解什么是核心编程。2、学习一门支持创建可重复使用内容/包的编程语言,如果你还没学过的话。3、学习一门UML 和ORM的高级课程。4、学习软件工程的课程。5、学习至少一个模块,基于内容的、面对对象的和 事件驱动编程技术和概念。6、进一步了解不同的操作系统及其支持的编程架构。7、集中学习独立平台架构、编程语言和技术。8、如果到目前为止你学习的编程语言具有ANSI/ISO/EEE/W3C标准版本,那么掌握这些标准。9、尝试模拟简单的、已经建立的库,尤其是开源的库。10、在你的编程领域内寻找开源的包。11、学习不同方法。方法5:系统编程1、了解系统编程的定义。2、跟着"桌面应用程序员"的前三个步骤。3、学习线性代数的入门课程。4、学习微积分课程。5、学习逻辑学和/或离散数学课程。6、了解不同的"准操作系统"。7、学习计算机硬件结构的课程(或者作为替代,看看书)。8、深入理解不同的计算机硬件平台。9、初步熟悉你所选择的硬件平台/操作系统的汇编语言。10、学习ANSI C 和 C++ 语言,还有程序化程式设计的一些概念。11、在你选择的平台上理解并实践C/C++标准库。12、搜索网络资源、书籍和课程来理解你的平台独特的C风格。13、用C/C++练习编写高级代码。14、学习更高级的Assembly。15、学习操作系统设计的课程。16、寻找并阅读你所选择的平台的相关文章。17、练习你已经掌握的知识。18、以最有益的顺序学习语言。方法6:编程科学1、了解编程科学家是做什么的。2、累积和四年制计算机科学学历同等多的科学知识。3、选择特定的领域。4、考虑获取更高级的学历。5、了解你选择的编程领域的相关技术和编程语言。成为程序员是一个日积月累的过程,需要日复一日年复一年的技能增长。编程本身是有趣的,并且有回报(脑力层面、精神层面、经济层面)。这份指南不能保证你轻松当上程序员。不要神化下面这些步骤,从中你大概能了解在现今编程界如何成为一名程序员。
方法1:网络编程
1、了解网络编程的含义。网络应用是指设计在网络结构顶层的软件部分。这就意味着这些应用是通过诸如火狐或IE之类的浏览器来处理的。架构于网络结构的顶层并不一定要连接到网络。这就是说网络应用建立在如下标准网络技术的顶层:HTTP
FTP
POP3
SMTP
TCP
IP协议
HTML
XML
Coldfusion
ASP
JSP
PHP
ASP.NET
2、浏览不同的网站,了解它们的外观。(右击,选择"查看源"或按F12。)寻找网站类型/内容的多样性,而非数量。通常你需要访问以下网站类型中至少一种: 团体网站(商业公司,非营利机构/组织,政府组织)
网络索引引擎(搜索引擎,meta搜索网站,专业化搜索引擎,目录)
数据挖掘网站
个人网站
信息/网络全书式网页(维基,数据单,技术规格,人工列表目录,博客和日志,新闻和新闻机构网站,黄页,等等。)
社交网站(社交门户,书签网站,记录笔记网站)
合作网站(这包含了上面提及的目录,比如维基和博客)
3、学习至少一种头脑风暴技术/方法,并学习一个用来实现头脑风暴的软件。例如:头脑风暴图和微软Visio。
4、熟悉网站结构。指的是创建概念化网络范式、网络地图和导航结构。
5、赶紧学一门图形设计的课程。尽量学习至少一个图形编辑/操作软件包(不是必须的,但强烈推荐)
6、了解网络下部构造的基本情况。包括了解以下: 基本网络服务协议(HTTP,FTP, SMTP和POP3或IMAP4)
网络服务器软件(最好其中一个就是你以后主要工作的平台)
网络浏览软件
邮件服务器和客户端软件
7、学习HTML和CSS语言。或许你还想要"所见即所得"软件包来编辑HTML。
8、学习XML及其相关技术,比如XSL和XPath(不是必需,仅作推荐)。
9、先建立简单的静态网站,直至你熟悉并习惯HTML语言。
10、学习客户端脚本语言。多数人要么学Java,要么学VB,但也有一些人学习Perl和DHTML。
11、熟悉你所学的客户端脚本语言。潜意识里提醒自己只用你学的那个语言。只有在你熟悉你的客户端脚本语言之后才能进入下个步骤。
12、学习至少一种服务器端脚本语言。如果你只用一种服务器软件,那就学其中一种编程语言。否则,你得每个服务器软件都学至少一种编程语言。
13、学完服务器端编程语言之后就开始创建一个试验项目。
14、获得你的网站,开始用你自己的网页实验。
方法2:桌面软件编程
1、弄清楚桌面软件编程是怎么回事。多数桌面软件程序员都是编写商务需要的代码,所以好好了解一下商业及其组织和经济结构将对节省时间、提高效率大有裨益。
2、了解不同的电脑硬件结构。看看数字电路设计和电脑结构的入门级课程,但是也有人认为这对于刚起步来说太超前了,所以看两三篇说明的文章(比如 这一篇 和 这一篇)就够了。学完第一种编程语言后你可以再返回这个步骤。
3、学习一种入门级(小孩子学的那种)编程语言。不要因为你不是个小孩子就不好意思去学。这些入门级语言能大大减轻你正式学习第一门编程语言时的痛苦和压力。然而这一步也不是必须的。你也可以在上一步之前完成。
4、学习程序化、面向对象、函数设序设计规范的入门。
5、学习一种程序化程式设计语言的入门课程。无论你以后选择何种编程语言,在某种程度上它都要求程序化程式设计。此外,据多数程序员反映,程序化程式设计总的来说是了解编程的一个很好的切入点。
6、学习至少一种高级建模技术,比如UML 或ORM。
7、开始编写一些小的主控台应用程式或类似的应用程式。你可以利用编程书中的常见小练习。选择一个工具,用你所学的编程语言编写程序。
8、学习一门你选择的编程语言的更高级课程。确保进展之前先理解下列概念,并能熟练运用。对程序用户输入输出信息。
程式化设计语言写成的程序中的逻辑流程和执行流程。
声明、分配和比较变量
编程结构分支,比如if..then..else 和 select/switch..case.
循环结构,比如while..do, do..while/until, for..next.
创建、调用程序与函数的编程句法
数据类型及如何操控
用户定义数据类型(records/structs/units)及其使用
如果你的语言支持超载函数,理解它。
你选择的语言的内存处理方式(指针,变量窥视,等等。)
如果你的语言支持运营商超载,理解它。
如果你的语言支持delegates/函数指针,理解它。
9、应用你所学的高级技能 面向对象的规范
10、至少再学习一门编程语言规范的入门课程。推荐学习每种范式的编程语言,多数高级程序员确实是这么做的,然而,通常你开始时只学一种,应用所学知识训练了一段时间,获得了编程的鲜活经验,然后接着学习另一种。试试下面的语言: 逻辑编程范式
函数编程范式
面向对象的范式
11、试着比较你所学的两门编程语言。评估各自利弊。通常可按以下方法完成拿出你在学习第一门编程语言时编写的简单范例,现在用第二门语言重新编写。
创建一个工程,尽量用上两种语言完成它。有时取决于你选择的工程和语言,你可能仅用一门语言还无法完成这个工程呢!
写一份两种语言之间相似结构和独特之处对比的速查表或一览表。
尽量使用另一门语言找到模仿这两门语言中独特之处的办法。
12、利用你学过的一种语言来学习可视化编程概念。几乎所有的编程语言都具有支持可视化编程和其他支持控制台或类似控制台编程的版本/库。同时进行的包括: 初步了解事件驱动编程。在某种程度上,多数可视化编程依赖事件及事件处理(用上你选择的语言)。
尽可能多的尝试桌面软件,理解软件是做什么的。多数软件开发公司会提供产品的测试版,你可以拿来测试软件。在完善用户界面方面保持更新。
阅读关于图形用户界面的文章或教程。
13、开始把你所学的知识运用到你设计的软件小工程中。尽量把你的编程专业知识运用到你日常生活中的问题上。比如,编写程序,批量重命名文件,视觉上比较文本文件,复制目录里的文件名到内存/文本文件之类的东西。刚开始简单一点。
14、创建一个虚拟的"毕业工程"。把这个放到最后完成,用上你到目前为止学到的可视化编程技术。
15、通过学习更高级的课程、更加注意细节以及在网上学习搭建架构的技巧,来加深对你学过的可视化架构/库/包的理解。
16、搜索其他含可视化元素的包/库并学习它们。
17、学习图形学课程(而非图形设计)。对于想要写出吸引人的用户界面元素的程序员来说,这将大有裨益。
18、成为游戏程序员(不是必须的)。很大程度上游戏编程是被当作桌面编程的。如果你想成为游戏程序员,完成这些步骤后你需要进一步学习游戏编程。对于游戏程序员而言,图形学课程是必须的,后续步骤中第二门语言应该选择逻辑/函数编程语言(最好是Prolog或Lisp)。
方法3:分布式程序设计
1、处理分布式应用编程。分布式应用编程被许多人认为是最难学的一种,它要求计算机和通信技术中的不同知识。
2、快速了解通信系统及其硬件。这个步骤不是必须的,但是对于理解网络拓扑结构很有用。
3、熟悉网络硬件结构和设备,比如集线器、接线台和路由器。
4、学习网络协议的课程。在你开始分布式应用编程之前,你需要好好理解"开放系统互联 (OSI) "模型、以太、IP、TCP、UDP和HTTP 。
5、学习XML 语言,并熟悉它。
6、开始学习一门shell脚本语言。对基于Windows的编程,可以是任何能与Windows脚本宿主兼容的脚本。对基于Linux的编程,Bash脚本和 Perl就够了。对这两个平台都强烈推荐Java,原因如下: 几乎所有操作系统的都支持脚本宿主(Windows 脚本宿主默认支持java ,大多数Linux发行版都有支持java脚本控制的包)。
许多开发者认为它很容易学。
当你需要学第二门编程语言(C,C++,C#,Java和J#都有ALGOL开源句法)时,它拥有的ALGLO开源句法就能使你熟悉更多编程语言
通过学习java,你会熟悉网页的客户端脚本,这可谓一大福利!
7、开始时用上你学的脚本知识,只运用程序化程式设计。之后,根据你的脚本语言和它所支持的,你可以用上更高级的编程技巧和范式。所有的脚本语言在某种程度上都有程序化程式设计的一些方面。
8、使用你所学的脚本语言,写出实现机器之间通信的脚本。学习完成这个所必需的东西。简单的通信就足够了。
9、转移到桌面脚本/编程语言。一个比较好的是多范式语言,比如Python。简单了解第二门语言。有许多理由让多数程序员选择java。然而,在这个领域内C#正在获得多数优势。Java和C#被青睐的原因如下:它们是面向对象的编程语言,使大量程序员免遭实现细节之苦,因为它们都支持组成部分(代码单元、预编译,它们可以执行特定任务,并被用到其他程序中)。
它们支持事件驱动编程,在某种程度上还支持OO和程式化程序设计。
建立语言的架构按属性分布(比如Java)。
有许多现成的包来处理。社交网络同时作为开源代码和架构内置包,这使得程序员继续其他人工作更加容易。
10、专注于语言的核心部分,尤其hi那些支持网络。少注意用户界面元素,比如输出,窗口设计和技术等。
11、学习分布式应用设计与结构的课程。可以通过书本、网上教程或学术课程来完成。然而,十分有必要理解分布式应用的结构及其概念。
12、使用你所学的编程语言来了解服务部分建构和服务。
13、学习如下技术中一种或更多。推荐你每一种都了解以下。多数分布式应用程序员不会止于一两门编程语言,他们会每个操作系统各学至少一种语言。这是因为如果你希望你的应用"分布式",你应该至少为每个主要的操作系统各提供一个版本。公共对象访问代理体系结构(CORBA)
简单对象访问协议(SOAP)
异步JavaScript和XML(AJAX)
分布式组建对象模型(DCOM)
.NET远程处理
XML 网络服务
方法4:库/平台/框架/核心编程
1、了解什么是核心编程。核心程序员几乎都是高级程序员,已经从编写应用转变为给其他程序员编写代码汇编。
2、学习一门支持创建可重复使用内容/包的编程语言,如果你还没学过的话。
3、学习一门UML 和ORM的高级课程。多数库开发者使用其中一种,或两种都用。
4、学习软件工程的课程。
5、学习至少一个模块,基于内容的、面对对象的和 事件驱动编程技术和概念。你所学覆盖越多编程范式和语言,你就能成为越成功的库/包程序员。
6、进一步了解不同的操作系统及其支持的编程架构。
7、集中学习独立平台架构、编程语言和技术。
8、如果到目前为止你学习的编程语言具有ANSI/ISO/EEE/W3C标准版本,那么掌握这些标准。无论何时尽可能使用标准代码。
9、尝试模拟简单的、已经建立的库,尤其是开源的库。这在成为库/包程序员的早期阶段十分有用。从简单的包开始,比如单位转换和中间科学计算包。如果你是大学生,利用你的非编程课程,尝试把这些课程的方程式与核心科学用作库。
10、在你的编程领域内寻找开源的包。首先下载包的二进制/可执行文件。尽量去用,并发现它的利弊。之后,下载源,尽量弄明白它是怎么完成的。尝试再创造这些库或其部分。刚开始,看完代码再做;之后,先做再看代码。后期阶段,尝试完善那些库。
11、学习不同方法。给程序员分发、配送内容。通常,库/包程序员倾向于以递归和/或迭代的思想来思考他们面临的所有问题 。尽量把每个问题当作一个小问题的汇编(一系列更小的任务)或一个重复的不断缩小问题范围直至把这些更小的范围彼此堆到一起的处理过程去思考。
库/包程序员倾向于概括化。也就是说,当面临一个特定的简单的问题时,他们通常会想到一个更为概括的问题,并努力解决这个更概括的问题,如此,小问题便不攻自破。
方法5:系统编程
1、了解系统编程的定义。系统编程处理的是编程的"科学",而不是具体的编程实现。不要把你自己栓到特定平台上。
2、跟着"桌面应用程序员"的前三个步骤。
3、学习线性代数的入门课程。
4、学习微积分课程。
5、学习逻辑学和/或离散数学课程。
6、了解不同的"准操作系统"。这可以通过以下途径完成:了解操作系统是如何安装的。
了解在一台PC上如何安装不同的操作系统(不是必须的,但作为推荐)
安装不止一种操作系统。不要在系统中安装任何辅助包,相反,仅利用操作系统本身提供的函数。
7、学习计算机硬件结构的课程(或者作为替代,看看书)。
8、深入理解不同的计算机硬件平台。
9、初步熟悉你所选择的硬件平台/操作系统的汇编语言。稍后你会学习其他平台/系统的汇编。
10、学习ANSI C 和 C++ 语言,还有程序化程式设计的一些概念。
11、在你选择的平台上理解并实践C/C++标准库。尤其注意标准模板库(STL)和活动模板库(ATL)。
12、搜索网络资源、书籍和课程来理解你的平台独特的C风格。
13、用C/C++练习编写高级代码。
14、学习更高级的Assembly。
15、学习操作系统设计的课程。
16、寻找并阅读你所选择的平台的相关文章。如果你选的是基于Unix的操作系统就会容易得多。充分理解你今后将要用来工作的系统。
17、练习你已经掌握的知识。首先创建小的系统软件。如下通常很有用: 试着重创你系统中已有的小工具。
试着把其他系统中的应用移植到你的系统里。
18、以最有益的顺序学习语言。此处是唯一强调第一门编程语言的地方。首先学习ANSI C 而不是 C++、C#、Java 、D。然后学习 C++。限制你第一门语言仅为C是因为系统编程要求程序员熟悉如下概念:源代码真实、完全的编译
低级对象输出文件
链接二进制
低级机器语言/汇编编程。C语言被某些人认为是伪饰过的/更容易学习的汇编语言。只要你愿意,它还支持插入汇编语言代码,并且它只是程序化的(像汇编)。
方法6:编程科学
1、了解编程科学家是做什么的。编程科学家是十分高级的程序员,他们不开发程序,但他们研究计算科学,比如密码学、编程语言和数据挖掘算法。没有深入的学术研究是很难达到这个水准的。
2、累积和四年制计算机科学学历同等多的科学知识。可通过如下其中一种完成: 获得真实的学术学历(这也是通常情况)。
从现代大学中获得该学历要求的课程大纲,自学课程或 分开一门门学。理论上这样做也可以,但还是推荐第一种做法。
3、选择特定的领域。越具体越好。这取决于你的偏好。但是这里给出计算机编程领域中一些主要的课题:算法设计(例如搜索、分类、密码、解码、错误检测 等)
编程语言/编译器设计/最优化
人工智能领域(模式识别,语音识别,自然语言处理,神经网络)
机器人技术
科学编程
超级计算
计算机辅助设计/模式(CAD/CAM)
虚拟现实
计算机图形学(计算机图形学通常和图形设计或图形用户界面设计混淆,计算机图形学是研究如何表示和操控计算机系统中的图形的领域)
4、考虑获取更高级的学历。或许你想追求硕士学历或博士学历。
5、了解你选择的编程领域的相关技术和编程语言。
小提示不管你想尝试哪种编程,不管你想达到何种水平,考虑去学校或本地社区大学上课。不要被诸如“计算机科学”一类的术语吓到。你参加的任何不需要预备课程的课程都应该集中教一些编程的基础知识。在上课之前先咨询一下老师或客服,确保这门课是你想要的,像“计算机文化”这样的课很有可能更多地集中在教你更熟悉办公应用之类。
‘捌’ 放弃年薪88W的程序员转行从事3D建模,是什么造就了他
所有行业都是一样的,没有什么容易的,只不过这一行是偏向于技术的,一个有好的建模师月薪10k+是很常见的,这个需要有自己刻苦学习的成果。游戏建模前景在游戏模型行业,你基本不用担心找不到工作,因为游戏模型师人才缺口非常大。举个例子:游戏制作公司的人员配比大多数是这样的:比如100人的三维制作组,可能有60人在做模型贴图,10个人在K动画。只要你保证技能在手,一定是抢手的人才。在几年前游戏建模这个行业不仅仅缺人才,甚至连新手都非常稀缺,那个时候公司愿意招聘实习生,培养他们然后给公司干活,但是工资一定不会给开的很高,所以这些人全部跳槽了,成本牺牲太大。虽然到了今天转行做游戏建模的非常多,新手爆满,但是公司招聘一个有开发经验的人还是非常的难,现在的行情不会还像几年前一样,指望自学几个月还还有很多公司要你,现在公司都是要直接能干活,真正掌握技术的人。
游戏建模如今的市场竞争很大,工资很高,标准非常高,想要胜任一份高薪的工作不是那么容易。学习建模这是一个非常复杂的事情,它需要强大的解决问题的能力和思维能力,游戏建模是具有创造性,所有的东西都需要你去编写,你去创造,所以在学习游戏建模的过程中必须有一个指点你的人,这个人只要可以让你少走弯路,因为你不是天才,很多东西你怎么都是弄不明白的。加一些有质量的裙,找人帮你解决下初级问题,少走弯路。
游戏建模职业分类及发展:进入游戏模型行业你可以选择不同的发展方向,比如:手绘3D美术设计师:制作纯手绘风格游戏的所有3D物品如:色、道具、建筑、山体;次世代3D美术设计师:制作写实次世代风格游戏的所有3D物品。如:角色、道具、建筑、山体;关卡设计师:根据游戏风格要求,使用模型资源,搭建3D游戏世界。模型师:制作3D打印、影视动画中的所有模型。如:角色、道具、建筑、山体。
3D游戏建模要求dmax 游戏角色建模要求对美术有一定的基础,需要特别了解人体组织结构,但是由于人体或者常规的动植物体的组织结构是相同的,所以 3dmax 游戏角色建模是可以熟能生巧的,尽管进入的门槛或者不低,对于每月任何基础的同学来说,会有些吃力,但是后期上手熟练之后,就会省力许多。对于想学这行但是零基础的人来说,没有基础前期是会有点学得慢,但学到了一定基础之后,只要你能多练,那么每个人的起跑线都是一样的了。所以,想学这行的朋友不要害怕自己零基础就觉得很难才能学好,这个都是看你自己学这行的所需要付出的努力罢了。
加上这个问题很复杂,每个人有不同的答案,也许你今天对次世代感兴趣,想要接触一下,网上看了一些视频,自己跟着做一做。明天再看一看那个视频做一做,到头来过了把瘾,似乎是学到了一项可以拿得出手的技能,但实际到工作中就不一样了。公司里的招聘情况来看,很多人的作品乍一看还不错,导入到引擎里才发现连最基本的行业标准都达不到。有句话说砸钱才能赚钱,同样学到好的技术也是一样,就目前的这个社会来说。在公司,别人不会毫无保留教你技术,让你去和他分这一杯羹,除非是你好朋友。如果真的遇到好的同事,那算你走运,加油,抓紧学到手。这里强调的是一个模型的规范性。一个人把作品吹得天花乱坠,达不到要求,就是Pass,而那些初学阶段就受专业老师熏陶的人就是能符合要求。再一个就是系统性:试想一下,一个职业拳击手和业余的拳击手兵戎相见,谁更胜一筹?结果是肯定的,一个街头小混混无论是在技术上还是体能上都不可能打败受过系统专业训练的拳击手。
作为从事3D游戏建模多年的老司机,整理了不少学习资料,每天晚上都会开设游戏建模直播课,课程会讲到3D Max以及Zbrush软件的使用以及机械、道具、人物、怪物等模型的制作,想正儿八经学习技术的小伙伴,可以添加扣扣群:148095282领取海量游戏建模学习资料。
‘玖’ 建模师好还是程序员好哪个待遇好,哪个工作轻松
你可以先去“绘学霸”网站找“3d建模/游戏制作”板块的免费视频教程完整入门到精通视频教程列表:
想要系统的学习可以考虑报一个网络直播课,推荐在CGWANG的网络课。老师讲得细,上完还可以回看,还有同类型录播课可以免费学(赠送终身VIP)。
自制能力相对较弱的话,建议还是去好点的培训机构,实力和规模在国内排名前几的大机构,推荐行业龙头:王氏教育。
在“3d建模/游戏制作”领域的培训机构里,王氏教育是国内的老大,且没有加盟分校,都是总部直营的连锁校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合基础差的学生。
想随时随地观看对应的视频教程,建议大家到应用市场搜索:"绘学霸",把APP下载到手机里,方便碎片时间学习