【技术试题】C++开发工程师面试题库 200~250道

199 MFC中SendMessage和PostMessage的区别? 答:PostMessage 和SendMessage的区别主要在于是否等待应用程序做出消息处理。PostMessage只是把消息放入队列,然后继续执行;而SendMessage必须等待应用程序处理消息后才返回继续执行。这两个函数的返回值也不同,PostMessage的返回值表示PostMessage函数执行是否正确,而SendMessage的返回值表示其他程序处理消息后的返回值。 202.改错 #include #include class CBuffer { char * m_pBuffer; int m_size; public: CBuffer() { m_pBuffer=NULL; } ~CBuffer() { Free(); } void Allocte(int size) (3) { m_size=size; m_pBuffer= new char[size]; } private: void Free() { if(m_pBuffer!=NULL) { delete m_pBuffer; m_pBuffer=NULL; } } public: void SaveString(const char* pText) const { strcpy(m_pBuffer, pText); } … Continue reading “【技术试题】C++开发工程师面试题库 200~250道”

【技术试题】C++开发工程师面试题库 150~200道

151.简述需求分析的过程和意义   152.网状、层次数据模型与关系数据模型的最大的区别是什末   153.软件质量保证体系是什末 国家标准中与质量保证管理相关的几个标准是什末 编号和全称是什末号和全称是什末   153文件格式系统有哪几种类型?分别说说win95、win98、winMe、w2k、winNT、winXP分别支持那些文件系统   154.我现在有个程序,发现在WIN98上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?   155.有关P2P点对点文件传输的原理   156.一台计算机的IP是192.168.10.71子网掩码255.255.255.64与192.168.10.201是同一局域网吗?   157.internet中e-mail协仪,IE的协仪,NAT是什么,有什么好处,能带来什么问题?DNS是什么,它是如何工作的?   158.PROXY是如何工作的?   169.win2k系统内AT命令完成什么功能,Messenger服务是做什么,怎么使用?   170进程,线程的定义及区别   171,32位操作系统内,1进程地址空间多大,进程空间与物理内存有什么关系?   172.网络攻击常用的手段,防火墙如何保证安全.   173.如何配静态IP,如何测网络内2台计算机通不通,PING一次返几个数据包?   174.WIN9X与WINNT以上操作系统有”服务”吗,服务是什么,如何停止服务?   175.AD在WIN2KSERVER上建需什么文件格式,AD是什么?XP多用户下”注销”与”切换”的区别.   176.UDP可以跨网段发送吗?   177.最简单的确认远程计算机(win2K以上)某个监听端口是正常建立的?   178. 找错 void test1() { char string[10]; char* str1=”0123456789″; strcpy(string, str1); } 答:表面上并且编译都不会错误。但如果string数组原意表示的是字符串的话,那这个赋值就没有达到意图。最好定义为char string[11],这样最后一个元素可以存储字符串结尾符’\0′; void test2() { … Continue reading “【技术试题】C++开发工程师面试题库 150~200道”

【技术试题】C++开发工程师面试题库 50~100道

51. New delete 与malloc free 的联系与区别? 答案:都是在堆(heap)上进行动态的内存操作。用malloc函数需要指定内存分配的字节数并且不能初始化对象,new 会自动调用对象的构造函数。delete 会调用对象的destructor,而free 不会调用对象的destructor. 52. 有哪几种情况只能用intialization list 而不能用assignment?   答案:当类中含有const、reference 成员变量;基类的构造函数都需要初始化表。 53. C++是不是类型安全的? 答案:不是。两个不同类型的指针之间可以强制转换(用reinterpret cast)。C#是类型安全的。 54. main 函数执行以前,还会执行什么代码? 答案:全局对象的构造函数会在main 函数之前执行。 55. 描述内存分配方式以及它们的区别? 1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。 2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集。 3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc 或new 申请任意多少的内存,程序员自己负责在何时用free 或delete 释放内存。动态内存的生存期由程序员决定,使用非常灵活,但问题也最多。 56.struct 和 class 的区别   答案:struct 的成员默认是公有的,而类的成员默认是私有的。struct 和 class 在其他方面是功能相当的。 从感情上讲,大多数的开发者感到类和结构有很大的差别。感觉上结构仅仅象一堆缺乏封装和功能的开放的内存位,而类就象活的并且可靠的社会成员,它有智能服务,有牢固的封装屏障和一个良好定义的接口。既然大多数人都这么认为,那么只有在你的类有很少的方法并且有公有数据(这种事情在良好设计的系统中是存在的!)时,你也许应该使用 struct 关键字,否则,你应该使用 class 关键字。 57.当一个类A 中没有生命任何成员变量与成员函数,这时sizeof(A)的值是多少,如果不是零,请解释一下编译器为什么没有让它为零。(Autodesk) 答案:肯定不是零。举个反例,如果是零的话,声明一个class A[10]对象数组,而每一个对象占用的空间是零,这时就没办法区分A[0],A[1]…了。 58. 在8086 汇编下,逻辑地址和物理地址是怎样转换的?(Intel) 答案:通用寄存器给出的地址,是段内偏移地址,相应段寄存器地址*10H+通用寄存器内地址,就得到了真正要访问的地址。 59. 比较C++中的4种类型转换方式?   请参考:http://blog.csdn.net/wfwd/archive/2006/05/30/763785.aspx,重点是static_cast, dynamic_cast和reinterpret_cast的区别和应用。 60.分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。 … Continue reading “【技术试题】C++开发工程师面试题库 50~100道”

【技术试题】C++开发工程师面试题库 1~50道

1.    指出以下变量数据存储位置 全局变量int(*g_pFun)(int);g_pFun=myFunction;g_pFun存储的位置(A ) 为全局的函数指针 指向空间的位置( B) 所有函数代码位于TEXT段 函数内部变量 static int nCount;       ( A) 静态变量总是在DATA段或BSS段中 函数内部变量 char p[]=”AAA”;  p 指向空间的位置( C) 局域变量的静态数组,空间在Stack中 函数内部变量 char *p=”AAA”;  p 指向空间的位置( E) ,”AAA”为一字符常量空间,不同编译器有不同处理方法,大部分保存在TEXT(代码段中),也有编译的rodata段中 函数内部变量 char *p=new char; p的位置(C ) 指向空间的位置(D ) 所有malloc空间来自于heap(堆) A.    数据段 B.    代码段 C.    堆栈 D.    堆 E.    不一定, 视情况而定 以上知识参见C语言变量的作用域相关课件   2.    以下程序的输出结果为 ( ) … Continue reading “【技术试题】C++开发工程师面试题库 1~50道”

【技术试题】互联网it行业求职面试要点

1.软硬件维护 对设备硬件进行检测,故障检测和维修协调。 通过设备的使用状况和外观判断设备的运行情况,对于可能出现的问题,与用户进行沟通,在不影响用户工作的情况下,安排保养或维修的日程。 对计算机的软件系统进行必要的检查及维护。 承担软件售前支持与用户安装实施。 对已经建立的软件库进行更新。 2.技术支持 对常用应用软件或者客户端操作系统进行调试、管理、更新、升级、故障检测及排除。 接听技术支持电话,尽快判断故障并进行排除。 客户公司的呼叫中心系统的安装与维护。 所有IT基础设施的支持及维护,确保IT系统的平稳运行。 3.设备维护管理 处理办公设备在使用中出现的异常状态,比如打印机,传真机等。如无法排除故障及时与经销商联系,尽快解决。 注意耗材的使用情况,及时更换,确保设备的正常使用。 4.数据整理 协助相关人员完成相关设备的信息资料收集、统计等。 提供技术支持及系统运营支持的问题反馈报告。 编写和维护信息系统日常管理的技术文档。 5.病毒防护系统管理 安装、管理、维护客户端计算机的病毒防护系统。 培训用户计算机病毒的防护知识以及防病毒软件的使用,定期对服务器上的病毒库进行更新。 建立用户的防病毒意识,升级、更新、优化用户已有的病毒防治系统。 定期提供病毒检测、告警及最新预防措施,提供紧急病毒故障处理服务,对突发的新计算机病毒进行及时响应。

【技术试题】程序员笔试宝典

程序员的面试一般都要经过笔试,电话面试,面试三个过程。三关全过才能顺利签约,只要有一关没能通过,就会被“刷”掉。 笔试是程序员面试三个过程中最重要的一个环节,也是最难以提升的一个环节。本文中主要叙述的也是程序员的笔试经历。不论你有多么大的才干,多么广博的知识,如果未能通过笔试,则无缘下面的进程。下面是一个表,描述了各种IT公司笔试所考题目的类型。 1、Trend 网络公司 C++ 或Java,网络,数据库,设计模式,智力测试,英语阅读 2、SAP 软件咨询,ERP,CRM C++,概率问题,设计模式,智力测试 3、Advantech 硬件,自动化公司 C++(尤其是指针问题),嵌入式编程 4、Synopsys 电子类公司 C++(尤其是指针问题),数据结构 5、NEC 综合软件公司 C,数据结构 6、金山 综合软件公司 C++或PHP,数据库,数据结构,设计模式 7、华为 通信公司 C++或Java,数据结构,数据库 8、中兴 通信公司 C++或Java,数据结构,数据库 9、VIA 硬件公司 C++(尤其是指针问题),嵌入式编程 10、华为3COM 网络公司 C++,网络 11、SPSS 数据统计软件公司 C++(尤其是继承、多态问题),数据结构 12、Sybase 数据库公司 C++,Linux,UNIX 13、Motorola 网络公司 C++,网络 14、IBM 综合软件公司 C++或Java 15、Oracle 数据库公司 Java,数据库 16、HP 综合软件公司 C++ 17、腾讯 综合软件公司 C++ 18、Yahoo … Continue reading “【技术试题】程序员笔试宝典”

【技术新闻】创业环境差,被迫“走西口”:一位台湾码农的心路历程

我是个半路出家的资讯人员(类似于大陆的信息技术人员,编辑注),说起来很见笑,我没有深厚背景,也不是正规本科或大学,只是个专科毕业的,补个二技/科大文凭,大学毕业后连一个像样的国立研究所也考不上。台清交成(台湾大学,新竹清华大学,交通大学,成功大学,编辑注)没有一家我敢投,最后只好报效“国家”二年去,还顺便去外岛进修。 从“巨匠”开始 对,你没看错,当你大学毕业又什么都没有的时候,年轻人是很好骗的。我记得很清楚,那时巨匠(巨匠是台湾最大的IT培训学校,台湾巨匠电脑子公司,编辑注)有所谓的 SCJP/MCSE 说明会。反正毕业了,没工作又刚退伍,收到这一类的某某进修广告,又免费,当然就去了。 不得不配服巨匠的讲师,详情我忘了,反正我当天听完那门课,只觉得一股热血。觉得有为者亦若是,整个讲题跟技术无关,讲师一堆引经据典,反正简单的讲:“取得认证你就发了,百万年薪等着你。” 当时回家,硬是跟爸妈要了五万多元,办了巨匠白金卡,买了上课卷,然后开始了我的 MCSE + SCJP 课程。至于结果怎么样,我想大家心里有数。我不怪那个说明会的讲师,我自己后来也和不少在巨匠兼任的讲师变成好友。一小时的说明会领不了多少钱,他如果不是报喜不报忧,我看以后就没人请了,人家不过是混一口饭吃。当然,这是好几年后才了解的。 其实巨匠帮了我很多,但巨匠最大的问题是,你报名时,报的是课程,至于谁教你,你永远不知道。巨匠有不少的好老师,举个例来说,曹祖圣老师。他讲过很多次 Technet,我也听过他一、二次课,很推荐。可惜的是,因为讲师调度或是节省成本,其实一门 200 小时的课,很有可能只有 1/7 是好老师,剩下的很普通,甚至很糟。我也遇过很差的老师,把电脑课当成英文课在上(英翻中),有上过认证课程就知道我在讲什么(原文教材嘛!)。 当时年轻的我很拼,上课前一定预习。不懂的单词早就查完,上课只想拼命吸收。当你遇到一个很糟的老师,那种挫折感真的很难形容。我和班主任反应了好几次,每次都是得到“喔~我会跟老师沟通”这一类的回应。别闹了好吗,不会教就是不会教,烂老师就是烂,他不会因为一句话就改变。就算他要改变也要时间,不是马上的。 好像有点离题了,总而言之,对不起我爸妈。家里没什么钱,硬是标会借了五万给我上课,最后我放弃了。一直到今天,我还是觉得很欠爸妈这份恩情。总而言之,我想分享的第一件事就是。不管你去巨匠,去 uuu 还是去 iii,最重要的是跟对讲师。如果一门课程的讲师不事先确定(或是讲师不好),不如不要上,真的是好的老师让你上天堂,不好的老师就…。 其实写程序这种东西如果有热情,肯读书,多多少少、或快或慢都会进步。我的第二个建议就是,不要放弃进修,靠自己虽然慢,但是扎实。话说回来,很多中文书很糟糕,这也不能怪作者。多年后我自己也出版了一本书(卖得很烂),不过作者的稿费其实不高。一刷 1500 本,写一本书如果花半年认真写,1500 本卖了 1000 本,然后一本订价 500 (新台币,约107元人民币,编辑注),可能连饭钱都不够。至于比较高的稿费是那种“大师”,像是侯捷老师(台湾著名C++技术专家,编辑注)等级才有可能拿到的价码。也许大家可以试着打给出版社问问,就知道了。要卖到二刷?那你大概要上TOP榜才有可能。 那时我评估过一些选项,也试过不少,不过下场都不这么好。我试过开公司,然后倒掉(没赔多少钱,就当做白工)。写程序容易,找客户难。那时很傻,以为到处都需要 ERP。到 104 接案网(台湾外包网站,编辑注)去找案子,后来发现做的要死要活其实没什么钱,还要应付客户。 也试过人力派遣,薪水不错,一个月可以有六万。不过对不起,没退休年资,案子结束就走人,短期打工(半年~一年)可以。但后来想想,你以为你赚,其实你只是没亏,公司只是把你未来的退休金先付给你而已。当然,不算差,很多人中年被资遣更惨,连退休金都没了。 我摸摸自己的良心,二十几岁的我最大的本钱就是年轻的心。花了二、三年就存了一桶金(一百万),反正就是二份工作(甚至三份),IT人的好处就是兼职容易。除了体重直线上升,然后缺乏运动,然后有一天就过劳进医院了。因此,最后报个科大混个硕士,毕业后考了个铁饭碗,反正日子也就这样过了。其实铁饭碗的日子挺不错的,钱虽不多,中油、台电、中华电信、一类的,我想公司倒掉到不至于。虽不是公务员的钢饭碗,但其实不要太混、准时上下班还是过的去。 下定决心走出台湾 我问问我自己,是有一些优点的: 年轻,然后肯拼(那时 26~27 岁);认份,有责任感;肯读书,想进修。 但我其实对未来感到很迷惘,直到有一天,过到了一个外商的经理(听说月薪 40 万),是一个香港人,刚好和我在一个政府标案里合作。我常常在想,为什么他可以领 40 万,他很厉害,但没有我十倍厉害吧?我也想月领 40 万,谁不想…… 总之,回头看回去,下面是我当时的结论(冒犯请见谅): 台湾是没有「软件」产业的,这几年好一点,有地图日记、appworks 一类的软件(or 创投),顶多有 TrendMicro,或是一些接标案为主的IT公司。IT最大的需求大概都在金融业(需要资讯人员)。最大的需求大概都是架网站一类的,这种市场竞争很激烈,然后没美工合作很难生存,就算是架个网站购物车一类的,也只是跑单帮,很难长久。 想领 40 … Continue reading “【技术新闻】创业环境差,被迫“走西口”:一位台湾码农的心路历程”

【技术新闻】干掉你程序中的僵尸代码

随着万圣节越来越流行,我感觉有必要跟大家讨论一下一个在软件开发中非常普遍的问题:僵尸代码。几乎所有我接触过的代码库里都四散着很多小段的,甚至大片大片的被注释掉的代码。这就是僵尸代码。 //目前禁用这项功能。Jimmy在写这段代码时肯定是喝醉了。 //你可能以为这里发生了恐怖的代码凶手案…不,不,我只是把它们注释掉了… 为什么称它们为僵尸代码?你知道,僵尸不并不是真的死的。就像恐怕电影里告诉我们的,尽管僵尸看起来是死人,但它们仍有能力四处出没袭击我们。相同的道理,僵尸代码也是处于不生不死之间…它们在伺机搞砸我们的工作。注释掉的代码还活着,它们就存在我们的代码库中。程序员在维护和重构代码时会和它们遭遇,通常是滚动屏幕时和它们擦肩而过,或是在进行关键词搜索时和它们撞个满怀。但这些代码也确实是死的,因为它们在软件产品中并不执行。因此,这些僵尸就应该被烧掉,立刻。 僵尸代码不死之躯 我认为,有两个原因导致了僵尸代码的肆虐:懒和害怕风险。懒程序员对代码有收藏癖。他们缺乏确信的勇气和清楚的认识去删除无用的代码,于是他们就把它们隐藏在注释里,期望有朝一日它们能复活来再次祸害人。代码需要经常的、有计划的删除,因为优秀的程序员都知道:代码就是债务。越少越好。当然,被注释掉的代码仍然是代码。 烂程序员也许会争辩说,他们注释掉这些代码是为了“万一”以后有人会需要它们。事实上,这好心反而是害了大家。这实际上说的是害怕风险,缺乏对版本控制系统作用的信任。有版本控制系统在,删除的代码永远不会真正的死掉。它们被埋到棺材里但却活着。所以,注释代码的方法没有多大实际效用。 对于程序来说,注释掉的代码跟删掉的代码一样,不起任何作用。让代码半死不活,以僵尸的形态存在,造成技术债务,最终会让你的团队受害。要果断,删掉它们。 僵尸代码降低信噪比 当写程序时,我们一定要努力使代码里有效信息的比率越高越好。这有助于人们理解程序,更快的阅读代码,防止我们因为误解而写出有问题的代码。僵尸代码直接的对抗代码的可理解性。它拖延我们阅读和维护代码的速度,因为它使我们在屏幕上看到更少的有效代码。它们就是视觉噪音,干扰人们的正常阅读。处于某些原因,有些程序员会接受这种妥协的做法,可是在现实中,谁会接受这种乱糟糟的画面。想象一下,如果纽约时报看起来像这个样子: 如何阅读这断断续续的文字?噪音的增加就是对可理解性的损害。对这些被注释掉的部分,尽管它们毫不相干,甚至会误导,但你却无法对它们视而不见。有人会说,这不是最终发布的产品,这些代码存在于开发过程中,拿它们跟发布的产品做对比,这就像拿苹果比桔子。但是请记住,被写出的每行代码平均都要被阅读10次。没错,你的代码的阅读人数没有纽约时报多,但是,你拥有的是一个最重要的忠实的阅读群体。就是我们。 Knuth对此关切进行了精辟的总结: “编程是一种一个人告诉另一个人他想让计算机做什么的艺术。” Donald Knuth 而僵尸代码让你讲话讲不清楚。一个程序员需要去阅读被注释掉的代码吗? 僵尸代码造成歧义妨碍调试 注释掉的代码会带来歧义,人们会怀疑这些代码是否该注释掉。试想一下,你是一个来维护程序的程序员,突然看到了一片注释掉的代码,而程序就在这附近出了问题。这个程序员的任务会变得更棘手。他需要阅读和理解这些注释掉的代码,了解注释它们带来的影响。是因为测试而注释这些代码但忘了恢复吗?也许注释这些代码的人可以提供帮助,但他是谁?调查行动开始。多余的歧义会消耗你的时间,增加你的思考负担——本来可以是一次轻松的调试过程。 僵尸代码影响关键词搜索 在大型程序库中,grep/find命令将会是你锁定某些特定的代码片段的雷达。然而,如果程序库里到处散布着僵尸代码,很有可能你捕捉到的目标都是被注释掉的。这是干扰。浪费时间。 僵尸代码影响代码重构 反省(重构)能修复我们的灵魂。我们应该以小孩scout的做事原则为荣,永远把代码收拾得比你想象的要整洁。然而,当一个类或方法包含有大量的僵尸代码时,事情就不好处理了。如果重构这段程序,我是否还要参考注释掉的代码?它们近期将会被重新使用吗?它会影响我的新版的实现吗?这些问题对于维护的程序员来说本该不需要回答的。 此外,集成重构工具根本不会考虑这些注释掉的代码。因此,当方法,变量,类被重命名或修饰符改变时,这些注释掉的代码就不会同步做修改。当你再想把注释掉的代码复活时,它们很可能根本不能编译。 有例外吗? 没有。很明确。有人会说“我现在注释它们是因为我过会儿就要恢复它们。”OK,假设你是个家庭妇男,你走到起居室,看到: 想想你内心的对话。这是个漂亮的房子,但这个东西又丑且怪异。我想开灯,但怎么会有胶带?如果我撕掉胶带去开灯,会发生什么事情?你很可能最终决定找贴胶带的人。“哦,我想打开吊扇,但它启动时来回摇摆,掉了下来,我想修理它….”当然,这是应该的。而在你没修好它之前,胶带一直贴在开关上。我们当然不该让这些只修了一半的东西存在屋内。同样,我们也不接受这样的代码。 说的更明白些,任何被注释掉的代码都是僵尸代码,都应该被删掉。不管有多少。不管是在发布的产品中还是在开发环境中。僵尸代码有时会在生死之间摇摆。如果代码被注释掉,这很有可能有东西没有完成。经常是配置需要来回切换或逻辑分支左右摇摆。注释代码可能会做实验性的来回切换,删除这些代码,建一个记事贴,记录下需要做的事情。在记事贴中记下哪次提交版本时删除了这些代码。或者,新建一个版本分支专门做这事,合并时删除它们。这样,维护工作就不会受到干扰。 心里的核对表 如果你打算要注释一段代码,请先问问自己: 如果有可能的话,什么时候会取消注释? 是否能删掉它,如果日后有需要,从版本控制系统里找回? 对这些未完成的、有可能会回滚的代码,能否用版本分支来处理? 这种需要来回切换注释的功能可否通过配置实现? 重构时也需要重构这些注释掉的代码吗? 让我们开启第一次年度万圣节僵尸代码大清剿。 Jhonse技术博客说明: 本文英文原文链接:Kill the Zombies in Your Code 译文链接:http://www.aqee.net/kill-the-zombies-in-your-code/  

【技术新闻】“Java之父”高斯林现在在做什么?

现在,他站在了新的浪潮之巅:海洋机器人科学。下面,我们将将跟Gosling,看一看现在他在做什么,并将再一次见证,Java作为一种神奇的语言,始终站在科学最前沿。 出生于Calgary的计算机天才James Gosling,因“Java之父”而享誉世界,而Java,这个“一次编写,到处运行”的编程语言已经被应用于数十亿移动设备和互联网服务器之上。 在过去的20年中,他为其他人编写Java应用程序,现在,这位已经57岁计算机科学家终于有机会为自己编写程序了。在经过Sun公司的26年,以及最近5个月在Google工作经历之后,Gosling在2011年8月决定从世界最大的IT公司辞职,投身海洋世界。 10个月前,Gosling加盟了硅谷的一家小型创业公司, Liquid Robotics,该公司生产机动式、全自治的海洋研究机器人。这种机器人用太阳能感应器在海洋中重刷,收集科学数据。作为Liquid Robotics的首席软件架构师,Gosling负责设计后端存储系统。随着名为“Wave Gliders”部署到全球的舰船上,收集到的数据量将大大增加,后端存储系统就是为管理和展示这些数据而设计的。 “还能比什么是海洋机器人更酷的?”在一次会面中,Gosling这样问我。 确实,他们的产品完全无需燃料,由洋流推动前进,真正做到了“无碳”驱动。Wave Glider由两部分组成。第一部分漂浮在水面上,看起来就好像是在冲浪板上嵌入了几个太阳能板。冲浪板的下面,通过一根6米长的,类似脐带一样的绳索与水下的一个具有多个侧翼的设备相连接,这个设备称为水下滑翔机。 波浪使设备像冲浪板一样在水中上下浮动。在冲浪板上设计侧翼是为了将上下浮动的作用力转换为前进的动力。设备的导航可以远程控制,也可以预先在机器人中写好代码。 “很多人都想用波浪来发电,事实证明这真的很难。”Gosling和我说到,“前进?我们干的非常棒。” Liquid Robotics确实干的不错,在3月份,它创造了一项吉尼斯世界纪录,4台Wave Glider各自前进了6000公里,跨越了太平洋,沿着曲折的航线,从旧金山达到了夏威夷。上一个无人驾驶的波浪驱动设备创造的记录是4630公里。两周前,Wave Glider开始了最后16700公里的航行,从夏威夷出发,其中两台会驶向日本,另外两台驶向澳大利亚。它们会在2013年初或更早一点到底目的地。 Gosling说,在近距离接触Wave Glider之前,人们还没有充分意识到它是多么强悍。“当你看到它们的图片时,你可能会因它们简单的外形而轻视它们。但是,它们可以应对各种异常气候。” 海上的风险包括8米高的浪、狂风和洋流。但对Wave Glider来说,真正的危险是鲨鱼的攻击。“鲨鱼对Wave Glider很感兴趣,”Gosling说,“它甚至掉了一颗牙齿。它对此耿耿于怀,但它能做只是撕扯而已。” 那么,这次雄心勃勃的太平洋远征是什么目的呢?机器人携带的传感器会收集并传送回大量的海洋信息,这是前所未有的。这其中包含了海洋的温度、浪高、气候条件、水质、化学组成,以及其他很多信息,所有这些可以为分析全球气候变化以及环境污染提供了依据(尽管任何一个传感器都可以完成工作,但这么做是为了科学与商业上考虑)。 任何科学家、教育家和学者、甚至公众,都可以访问到Liquid Robotics收集的数据。其中称为PacX Chanllenge的小组及其赞助者悬赏50000美元,以奖励那些将数据用于最佳科学研究的组织或个人。这个主意提升了Wave Glider的研究能力,促进了海洋科学的研究。 Gosling自认是个环保主义者,但并不是正式成员,他也承认,在像Liquid Robotcs这样的公司中工作很惬意。他说,海洋本身正在变化,而气候也正慢慢变糟。关键是要使人们意识到问题的所在,以及理解这些问题所带来的影响,和知道如何应对。 他说,:“如果我们有10000台这样的设备,在预测天气方面,就能做得好得多。及时我们现在只有100台设备部署在大西洋,我们对飓风的预测已经比以前准的多了。” “地球上发生了这么多事,我们真的无法想象将来会变成什么样。” 使用可再生能源的机器人探寻世界变化,用他的话说是,“酷毙了”。 Tyler Hamilton,《Mad Like Tesla》的作者,每周会在Toranto Star上发表一篇关于绿色能源和清洁技术的文章。你可以访问Liquid Robotics Blog,他们会在那里发一些非常酷的文章,如果你对科学研究有兴趣,那更不应该错过。 英文原文:Where is the “Father of Java”,翻译:ImportNew – 曹旭东