首页 > 代码库 > 网上一些过来人对GIS的看法
网上一些过来人对GIS的看法
GIS学生编程不如计算机的,搞测绘不如学测绘的,搞地理不如学地理的,我现在开始学习编程再怎么学也赶不上学计算机的怎么办?
这个问题简单,如果现在去睡觉能赶上他们的话,完全可以去睡觉嘛。
1、家人问你学什么专业,别说地理信息系统,他们听不懂,说你是学计算机的。
你就是学计算机的,做GIS,就要有良好的计算机基础,面向对象,数据结构、数据库,计算机网络,操作系统,软件工程,设计模式等,这中间涉及的东西太复杂,其实又很简单,做计算机,要的就是基础,很多东西不是看一遍会做就行,C++的书看过不下十遍,Thinking in Java 在看第6遍了,但感觉还是掌握的不好,SQL语句,看许多笔试题的时候,感觉还是很难,用C++写个树遍历,快速排序,肯定不行,很多大公司都很看重这些,其实良好的基础对自己的发展很重要,是你日后工作中“良好的学习能力”的根本,你要出去找工作,一定要多看看数据结构。
2、要有良好的GIS基础
最多的一个问题,什么是地理坐标系和投影坐标系?BeiJing84属于哪一个?呵呵!本人第一次被问的时候就答错了,GIS最多的就是地图投影,就基本是地图学的东西,GIS原理就那么点,烂在心里了,再就是空间数据库的东西了,SDE,没了,GIS的东西也就这些了,也许自己GIS的知识没太关注,也不知道还有些什么了,做开发的也就这些了。想起来了,ArcGIS Desktop,呵呵!精通嘛当然好,至少得很熟悉很熟悉了,没这个东西,开发很是困难的了。其实很多CS系统很多余,用ArcMap什么不能做。
现在做GIS二次开发,基本方向有桌面GIS,webGIS,移动GIS这些。3DGIS感觉算底层,也顺带说一下吧。
1) 桌面GIS二次开发,语言无疑C#是最佳选择,感觉很多人都在做这个,个人觉得做这方面要学习:C#,SQLServer,网络编程,数据库编程,最后才是学习AO,AE。
2) WebGIS:这个近来很热,内容也很多,可深可浅,我觉得要想做webgis,一定要先把web做熟。你可以等到毕业之后再去学arcgis server,只要你会做网站,有项目经验,绝对能找到工作,但你绝对不可以自以为学会了arcgis server,人家问你css的东西你都不会,问你javascript的东西,你一头雾水,这样出去是没人要的。有人一开始就学asp.net,与此同时,直接上手arcgis server,好像拖拖控件,改改属性,和桌面软件开发也没啥区别似的。Asp.net虽然上手快,但我觉得不是学习web的最佳语言,它把很多web细节给隐藏了,这样对初学者来说是很不好的,我建议学习web先学习前台,从html,css,javascript开始,这些学好后,能做一些简单的页面,能写一些脚本,了解一些web原理和标准之后,再选一门后台语言进行学习。做web最好是能去一些公司实习,短短两个月,就能让你水平飞涨,因为做web的公司加班起来都是玩命的,而且web本身并不难,有人带着学,非常快。能做一些简单的网站后,再去做webgis,我想应该会好的多。
3) 移动GIS:这个目前好像也挺火,不过感觉对开发者来说,移动GIS还是桌面GIS区别可能不是太大,因为移动GIS的平台基本都是wm系统上的,wm系统上的开发和windows开发有很多相似之处,只是各方面的资源变的紧缺了。我感觉做移动平台,最关键的就是数据传输,无线通讯这块。移动GIS也主要和导航、GPS定位联系在一起。所以,做移动平台,我认为要关注的重点就是:
通讯和数据传输。如蓝牙、GPRS、socket编程、webservice等。
GPS定位。GPS原理,和wm系统对GPS的接口等。
导航、实时路况等具体的应用可以多了解一些,能做一些相关的项目最好。
最后一个3DGIS,了解不多,算是底层开发,C++和C应该是要精通的,opengl是必须要会的。3维图形算法和数据结构也要多研究。
写的有点乱,大家将就着看吧
找工作的途径:
肚子里有货,再去找工作,就容易多了。了解找工作的途径也很重要,很多学生都是等着工作来找自己,如果你在武大这种GIS专业很出名的学校,那要恭喜里,坐着确实能等到工作来找你,如果不是,那就要自己主动出击去找工作了。
1)招聘会。对于GIS专业,普通的招聘会都没啥对口的单位。所以尽量去那些GIS专业比较好的学校里挤,或者像一些GIS专场招聘会。一般的招聘会就别去浪费时间了。
2)网投。专业性论坛,应届生,自己学校的BBS等,这些网站是要天天去点的。对了,有csdn的论坛,偶尔也会出现一些招GIS开发的程序员,也要经常看看。看到了合适的就投。我说的合适不是指你能符合他的要求,那样的话没什么可投的公司了。而是它能符合你的要求,而你只要能符合它的其中的一小部分就可以投了。像51job,chinahr之类的网站,就别浪费时间了,这上面投简历跟往水里投石头没区别。除了看招聘启事,还可以搜集GIS方面的公司,然后到公司网站上去投。
3)老师、学长学姐、家里,同学、朋友,甚至网上认识的同行业的朋友等等。不但要动用一切你能用的人际关系去找,还要尽量去挖掘潜在的,可能会对你找工作有帮助的人。这种途径往往找到的工作比你自己去瞎撞的好。
3、简历。
1)一定要控制在一页里面,针对招聘要求来修改你的简历,他要你会什么,你就写会什么。他没要的,你觉得公司会感兴趣的,也可以写上。但是离题万里的就别写了。比如你应聘程序员,别写你熟练office,还会装电脑,还会photoshop等等。
2)简历最显眼的部分,也就是一张纸的中上部,要写最有用的东西,比如你的技能和项目经验、相关的奖励等。什么自我介绍,兴趣爱好,入职宣言之类的都放到后面充字数。什么当过课代表班干部就别写上去了。
3)如果是应聘国企和事业单位,如果你是党员的话,写上去。不是就算了。私企和外企你是不是党员都不用写了。
4)适当的夸大自己水平,但是一定要经得住问,你先假想一下自己是面试官,拿着你这份简历,你会怎么问,然后看看自己是否能答的出。
5)把自己的做过的项目和作品,做一份汇报PPT。有时会用到。发简历时也可以附上。不要和简历打成一个压缩包,分开上传,这样别人只想看里简历时,不用下PPT,因为PPT很大,网速不好的话都不一定下得动。
6)不是投外企,而且不要求英文简历的情况下,别用英文简历。
4、笔试、上机和面试。
公司招聘选拔的过程大致有这几种。只面试、笔试后马上面试、笔试筛选后另行通知面试。
一般的,小公司不笔试,去了就直接聊,这种情况都是对着你的简历问,面试前一定要把自己的简历弄熟,自己写上去的技能比较生疏的,抓紧时间在面试前看一看,囫囵吞枣的混个眼熟,然后能说就行。简历上写的项目,回顾一下整个过程,用到了哪些知识,做了哪些事情,实现了些什么功能,怎么实现的等等。面试过程中,尽量多谈自己熟悉的东西,回避不熟悉的东西。小公司面试过程中可以瞎扯,可以聊一下与面试无关的话题。聊聊公司的发展前景啊,做什么产品啊,聊一些自己的兴趣爱好啊什么的都可以。除非面你的人很严肃,否则自己不要显得太严肃。
GIS公司都会笔试或上机考些什么东西呢。编程方面的,我只能提供C++的笔试经验,其他方面没怎么做过。C++一般都是林锐的那本高质量C/C++编程,那本书弄熟了,C++笔试基本都能过。专业方面的,既然是GIS专业,当然要考点除计算机以外的东西,一般来说,大点的公司,或是好点的事业单位,会考基本功,一些基本的GIS算法和原理,典型的,折线的缓冲区生成,多边形面积计算,坐标转换等等。小公司一般会考针对特定技能,如C#和AE,数据库等。还会碰到一些算法扫盲题目,冒泡排序、查找、字符串处理算法等。
还碰到的一种面试方式是,直接做汇报,自带电脑,演示你做过的项目。像这种,最好是做一份PPT,然后在需要的时候运行你的程序。这个做汇报,前面讲过了,只拣最重要的讲,时间要控制好,一般5分钟到10分钟,讲的过程中注意观察面试你的人的表情,他感兴趣的可以多讲一点,不感兴趣的尽快跳过。
因为我现在是做C++的,如果相学的话,我可以提供一个大致的学习路线和学习的书籍。
学习路线基本上是:C -> C++ -> windows程序设计 -> MFC
各阶段的书:
C就无所谓了,学校教的就行,或者就是谭浩强那本书吧,但是C是C++的基础。
C++ 推荐C++ primer和高质量C++编程
Windows程序设计,有一本书,就叫windows程序设计。我看不下去,但我 知道这本书非常好。
MFC,孙鑫的VC深入详解,候捷的深入浅出MFC,我也看不下去。也是非常好的书。
网上一些过来人对GIS的看法