网站程序员笔试题目

2024-04-21

网站程序员笔试题目(精选8篇)

篇1:网站程序员笔试题目

网站笔试题目

寻找一些网站笔试题目,题型不限,

下面是由本站整理的一些与网站相关的笔试题目,请看

1.谈谈对mvc的认识(1分)

MVC (Model-View-Controller)模式,即模型-试图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分,具体的功能如下:

模型(Model):业务逻辑层。实现具体的业务逻辑、状态管理的功能。

视图(View):表示层。就是与用户实现交互的页面,通常实现数据的输入和输出功能。

控制器(Controller):控制层。起到控制整个业务流程的作用,实现View层跟Model层的协同工

2.写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

#define MIN(A,B) ((A) <= (B) (A) : (B))

这个测试是为下面的目的而设的:

1). 标识#define在宏中应用的`基本知识。这是很重要的,因为直到嵌入(inline)操作符变为标准C的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。

2). 三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的,

3). 懂得在宏中小心地把参数用括号括起来

4). 我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事?

least = MIN(*p++, b);

3. 预处理器标识#error的目的是什么?

如果你不知道答案,请看参考文献1。这问题对区分一个正常的伙计和一个书呆子是很有用的。只有书呆子才会读C语言课本的附录去找出象这种

问题的答案。当然如果你不是在找一个书呆子,那么应试者最好希望自己不要知道答案。

死循环(Infinite loops)

4. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?

这个问题用几个解决方案。我首选的方案是:

while(1) { }

一些程序员更喜欢如下方案:

for(;;) { }

这个实现方式让我为难,因为这个语法没有确切表达到底怎么回事。如果一个应试者给出这个作为方案,我将用这个作为一个机会去探究他们这样做的基本原理。如果他们的基本答案是:“我被教着这样做,但从没有想到过为什么。”这会给我留下一个坏印象。

第三个方案是用 goto

Loop:

...

goto Loop;

应试者如给出上面的方案,这说明或者他是一个汇编语言程序员(这也许是好事)或者他是一个想进入新领域的BASIC/FORTRAN程序员。

数据声明(Data declarations)

篇2:网站程序员笔试题目

姓名:

一.选择题

1.业界常说的宏观经济“三驾马车”是指哪三个:()

A、GDP 进口出口B.投资 消费出口

C、CPI内需外汇储备D、GDPCPI 外汇储备

2.我国的反洗钱行政主管部门是:()

A、公安部B、国有商业银行总行C.中国人民银行 D、中纪委

3.国际通行的衡量和监测商业银行抵御风险的能力指标是:()

A.存款准备金率 B.资本充足率C.偿付能力 D、流动性

4.物价上涨受到普遍关注,国家提出的2011年CPI 调控目标是多少?()

A、8%B、5%C、4%D、10%

二:简答题

1怎样理解通货紧缩?(请用自己的语言解释)

2.您平时阅读或观看的财经类媒体有哪些?请用一两句话评论其优缺点。(列举两个即可)

3.请写出两位你熟悉的经济学家并且举出其主要言论或者著作

三:标题诊断(请诊断下列新闻标题是否有问题,如果认定没有问题,在相应括号中打勾即可;如果认定有问题,请选择,并在空白处写请错误理由,同时给出你做的标题。

1.郑州公安局规定刑讯逼供致死领导须辞职诊断:有问题()没问题()

2.劳动保障部:年底基本消除城镇现有零就业家庭诊断:有问题()没问题()

四:汉语应用(请你在阅读完后给此文章制作一个标题,并撰写200字左右的向境内读者推荐此文的编者按。)

标题:

编者按:

经过持续下跌之后,美股上周结束了连续4周下跌的局面。道琼斯工业指数上周累计上涨4.32%,之前的4周累计下跌15%;标准普尔500指数和纳斯达克综合指数分别累计上涨4.74%、5.89%。

巴菲特增持银行股和美联储主席伯南克的讲话无疑是上周的焦点。

上周前3个交易日,美股呈现温和上涨态势。上周四开盘前,受巴菲特旗下的伯克希尔公司斥资50亿美元购买美国银行股票的消息刺激,美国银行股价一度飙涨24%。与此同时,所有被过度打压的银行股也纷纷反弹,标普500指数盘中一度拉升1.1%。不过,好景不长,由于美国劳工部公布的美国首次申请失业救济人数意外高于预期,股市再次承压。

上周五伯南克讲话之前,美股低开。在伯南克发表讲话后,一度大跌221点,之后形势却又逆转。上周五收盘,道指涨1.21%,标普500指数涨1.51%,纳指涨2.49%。

分析师人士认为,伯南克未如市场期望的那样宣布新一轮货币刺激措施,被市场解读为利空。但伯南克却暗示他准备进一步采取措施来提振持续疲软的经济,让市场紧张情绪得到释放。

“伯南克的表态留给投资者对于美国未来经济政策足够的遐想空间。未来美国刺激经济的政策可能不会仅限于货币政策,财政政策也可能加入。”美国复兴资本一位分析师称,美联储这样的表态,也意味着美股震荡走势将延续,直至经济复苏的迹象再现或政策明确。

如果说经济政策是远虑,那么正在美国东海岸各州肆虐的飓风艾琳则是美股的近忧。随着伯南克讲话结束,投资者将注意力转移到美国当前的经济风险上来。此前市场预计,本次飓风来袭将会给美国经济造成100亿美元的损失。这对陷于困境的美国经济来说,无疑是雪上加霜

五:综述与表达

题目:专业能力与职业精神(请点明你心目中理想的终身职业,并简述对此进行的专业能力储备,并由此阐述你对于专业能力与职业精神的理解,请真实描述,切忌假大空)

篇3:网站程序员笔试题目

随着互联网的发展, 很多计算机专业学生除了利用课堂获取知识以外, 用好网络资源是他们取得进步的关键所在, 于是, 各种教学网站越来越受欢迎, 建立一个安全、可靠、开放、高效的网络教学平台很有必要。

《C语言程序设计》作为一门计算机基础课程[1], 很多高校除了对计算机专业学生开设这门课程, 一些非计算机专业理工科学生也需要学习这门课, 为此, 设计并开发了C语言网络课程网站。本站的特色就是资源共享, 可以把所拥有的学习资源传到网站上与别人一起分享, 也可以与其他爱好者进行沟通和交流。

在分析需求的基础上, 通过比较分析不同开发模式优缺点, 决定本网站采用PHP+NGINX的基于浏览器/服务器的模式构建, 使用MySQL作为后台数据库, 提供对数据库的查询、添加、修改、删除等操作, 实现远程信息管理, 并对管理功能进行了详细的分析和测试, 以实现动态转换、数据交互、高效的网络化信息管理。本网站采用业务流程图, 展现前端、后端两大项目。前端主要是信息展示、上传、下载, 后端主要是对本站数据进行管理。

1 可行性分析

传统的教学模式是以教师为中心, 以教室黑板为信息展示方式, 由一个教师领导几十个学生进行某一课程的学习, 这种教育模式已不能完全满足具有不同基础的学生的学习需要。《C语言程序设计》作为一门基础课程, 有些学生在中学阶段就已经具有了较好的学习基础, 而有些学生在上课之前却从未接触过。因此, 设计和开发一个较好的课程网站是非常必要的。

经过分析, 确定C语言课程网站[2]应具有以下功能:界面设计美观大方, 操作方便、灵活;可以提供新闻动态, 及时展示相关的最新信息、最新公告;可以分享学习方法给其他人借鉴;荣誉展示, 将学生在大赛中取得的优异成绩与人分享;网上视频教学, 提供链接, 供大家学习;资源共享, 把资源放在网盘中, 供同学下载;代码分享, 每个学生都写有自己的独特代码, 把代码贴出来, 让大家学习等。

本网站采用PHP+NGINX+MySQL技术组合, 以B/S结构完成部署, 包括前端应用程序的开发以及后端数据库的建立和维护两个方面。对于前者要求具备功能完备、易于使用等特点, 对于后者则要求能建立一致性和完整性强、安全性好的数据库。网站开发采用PHP语言, 关系型数据库MySQL, 开发工具为NetBeans。

2 系统设计

2.1 系统结构模式

本系统采用Browser/Server模式设计[3], 即基于Web的浏览器和服务器端结构, 由前端显示和后端管理两大功能组成。

前端主要显示网站的各种信息数据, 包括最新公告、新闻资讯、教学内容、教学实践、教学成果、视频教学、资源下载[4]等, 这些显示模块均由后台控制, 可在后台动态改变。

后端分为超级管理员和普通管理员登陆, 更好地控制了权限管理, 特别是用户数据的管理, 提高了安全性。

2.2 系统功能结构

网站前端展示的功能设计[5]如图1所示。

网站后端管理系统功能设计如图2所示。

2.3 文件夹结构

每个项目都会有相应的文件夹组织结构, 如果项目窗体的数量很多, 可以将所有的窗体及其资源放在不同的文件夹中。如果不多, 则可以将图片、公共类或程序资源文件都放在相应的文件夹中, 而窗体可以直接放在项目的根目录下, 本网站系统就是按照后者的文件夹组织结构进行排列的。

2.4 数据库设计

C语言精品课程网站数据库clang主要包含13个表, 如图3所示。

由于篇幅所限, 列举其中的public_practice (教学实践) 表, 功能为存储经典程序、学生设计、重点、难点等基础信息[6], 如图4所示。

3 结语

设计和开发《C语言程序设计》课程网站的目的是为学生提供一个学习交流平台, 便于自学, 享受程序设计带来的乐趣, 进而提高教学质量、增强教学效果。该课程网站的运行, 对于笔者学校学生参加诸如“蓝桥杯”全国软件设计大赛多年取得不俗成绩起到了一定的作用。

参考文献

[1]易云飞.C语言程序设计教程[M].第2版.北京:清华大学出版社, 2014.

[2]王绚.浅谈高职院校C语言学习网站的设计与实现[J].现代计算机, 2012 (6) :39-42.

[3]张健, 高振栋.C语言智能学习系统设计与开发[J].软件导刊, 2014 (5) :119-120.

[4]吴云, 顾保磊.精品课程网站关键技术研究[J].软件导刊, 2014 (3) :195-120.

[5]方晓.基于Asp.net的C语言课程学习网站的设计与实现[J].计算机光盘软件与应用, 2014 (10) :95-98.

篇4:网站程序员笔试题目

关键词:课程资源;网络程序设计;四维模型;Aiax;MVC

1引言

网络程序设计是计算机科学与技术专业一门重要的专业核心课程,其教学目标是为了培养学生面向对象程序设计的思想,提高学生程序设计的能力。该课程组主要讲授Java语言的基础知识、面向对象程序设计方法、多线程、GUI、文件操作等内容,在Java EE平台架构的学习过程中扮演了非常重要的作用。然而.传统的网络程序设计课程教学存在一些不足之处,如讲得多、练得少,注重语法知识、轻视编程思想;注重课堂学习、轻视课外自学;教材内容滞后于技术发展等。为此,如何改进网络程序设计课程的教学方法和手段,受到广大任课教师的关注。

随着教育技术的迅速发展,特别是基于Internet技术的广泛应用,基于Web的课程资源建设与利用是改革教学手段、提高教学质量的重要途径。课程资源是课程要素来源以及实施课程的必要而直接的条件,对课程资源的开发利用,是课程教学改革的重要内容之一.也是教学质量提高的途径。构建网络程序设计课程资源网站,利用Internet环境中具有针对性的数字化资源进行有效的教学活动.充分发挥学生在学习过程中的主观能动性,将更有利于教学目标的实现。

2网络程序设计课程资源网站的设计

2.1课程资源的四维模型构建

根据网络程序设计课程的特点及需求,以课程平台为载体,构成以信息、人员、过程、技术为核心要素的循环往复的有机整体.建立网络程序设计课程资源四维模型,彼此相互补充、共同发挥作用。网络程序设计课程资源四维模型如图1所示。

(1)信息资源

以课程知识框架为基础,以多媒体形式呈现与知识内容密切相关的信息,主要包括基本信息、导航信息、内容信息、参考信息等,如课程标准、学习指南、教学录像、电子教案、课件、试题库、参考文献、推荐站点等。

(2)人力资源

学习者在学习过程中维持可持续发展的外部动力源泉,主要包括教师、同学、专家等,这三种角色在学习过程和问题解决过程中答疑、交流、互动、合作。

(3)过程资源

学习者在利用网络进行学习的过程中与他人或机器进行交互时产生的一切再生资源,也是监控、记录、评价学习者在学习过程中做什么、怎么做、做的怎样的重要依据。

(4)技术资源

既包括教育教学活动中所运用的物质工具资源,主要包括技术设备、教学系统等资源,同时包括在解决教育教学问题过程中所运用的技巧、策略、方法,以及蕴涵在其中的教学思想、理论等,如编码规范、常见问题、常用工具、安装演示视频等。

2.2网络程序设计课程资源网站的架构设计

网络程序设计课程资源网站可充分发挥其在课堂教学和课外辅助教学中的作用.提供丰富的优质教学资源、良好的反馈机制和高校的互动功能,包括资源库、教材、互动交流以及后台管理四大模块,网站架构如图2所示。

①资源库

在多年的理论、实验以及课程设计的教学过程中.课程组教师通过在教学第一线对学生的指导,充分了解学生在学习和实践中常见的典型问题,根据实际需要,进行了资源库建设,其中包括根据教学标准制定的各种文件、针对初级阶段和实践教学的试题库、进行项目开发实践的工具库、基于项目驱动的教学案例库、进行课后练习及自评自测的习题库等。所有资源通过文本、图形图像、动画、音频、视频等形式展现,供学生阅读、理解和掌握。

值得一提的是,在进行案例库建设时,我们将优秀的学生作品进行展示,让学生在实践的过程中体会学有所用,很好地激发学生的学习兴趣。

②教材

课程组教师在积累了多年教学经验的基础上,积极进行教材纸质教材以及电子教材的开发。其中,自编教材已于2008年出版,精心制作的多媒体课件也在“全国多媒体课件大赛”中获奖.同时实验指导书、实训指导书等历经多次修改也已日臻完善,还精心制作了视频演示文件以及教学录像,作为课堂教学的有力补充,方便学生课后自学。

③互动交流

主要分为两个模块:辅导答疑和心得交流。在课堂教学中,由于学时限制,不可能用过多时间进行交流讨论,网上的互动交流区可以成为学生之间以及学生与教师之间进行教学交流的重要园地。教师和学生可以经常就一些热点及前沿问题进行提问,启发学生思考。

④后台管理

通过本网站教师能够有效利用平台提供的技术手段对学生的学习情况进行监控。教师可以统计学生登录的次数、上交作业情况、提问次数以及在线考试的成绩,全方位的了解每一个学生的真实学习状况.从而有根据地对学生的学习进行指导调节。

3网络程序设计课程资源网站的实现

网络程序设计课程资源网站由课程的相关教学资料和为学生自学提供教学资源的教学服务与管理支撑体系构成。针对网络程序设计课程资源网站的相关需求,我们采用面向对象的软件工程方法,采用MVC三层架构,以SQL Server2005为数据库服务器,以Tomcat为web服务器,以Rational Rose为建模工具,进行网站的设计与开发。

3.1界面设计

进行界面设计时,在主功能窗口和首要导航位置突出了课程的内容以及学习导航,一级导航主要包括:课程介绍、课程资源、课内练习、实战演练、教学视频、互动交流以及相关资源.具体如图3所示。

3.2数据库设计

结合数据库概念模型、数据结构以及实体之间的关系,形成本课程资源网站的数据库结构.具体包括以下6张表:

(1)用户信息表.表名users=(用户ID、密码、权限)

(2)上传文件信息表.表名uptask=(文件编号、文件名、存储路径、上传时间)

(3)帖子信息表,表名talk=(帖子编号、标题、内容、发帖时间、发帖人、所属模块)

(4)学生成绩信息表,表名score=(用户ID、考试名称、考试成绩)

(5)留言信息表,表名message=(留言编号、标题、内容、发表时间、发表人、回答)

3.3关键技术

网络程序设计课程资源网站在设计与实现过程中采用了Ajax、MVC等关键技术,具体如下:

(1)Ajax技术

Ajax技术是一种创建交互式网页应用的网页开发技术.可用于创建更好更快以及交互性更强的Web应用程序。本网站的设计大量的采用了Ajax技术,以此提高系统的性能,实现页面无刷新,增添了系统的智能化。

(2)基于MVC的三层架构

MVC包括Model、View、Controller三部分,其中,Model层实现系统中的业务逻辑,通常用JavaBean实现;View层用于与用户进行交互.通常用JSP来实现;Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。网站基于MVC三层架构进行设计,使得整个系统更加灵活,伸缩性强,便于日后升级和修改。

4网络程序设计课程资源网站应用实践

通过2年的教学实践,利用网络程序设计课程资源网站辅助课堂教学,取得了良好的教学效果,许多同学通过了Sun公司的SCJP认证以及全国计算机技术与软件专业技术资格考试,学生在各级各类比赛中频频获奖,在各级ACM大赛中也取得了优异的成绩,学生一次性就业率明显提高,用人单位评价学生职业素质、职业能力较强,上手快、后劲足。

利用Internet环境中具有针对性的数字化资源和有效的教学活动,可以帮助学生有效的开展学习,不仅提高了课程的信息化水平,而且有效地解决了传统教学中存在的许多问题,从而提高了教学质量。同时,该网站有望在其他程序设计类课程中得到进一步的推广,对课程的教学改革与实践具有一定的指导和借鉴作用,具有良好的应用前景。

参考文献:

[1]刘淳,章强,武齐阳等.交互式网络教学平台的研究与实现U].南京大学学报:自然科学版,2006(1):29-31

[2]蔡文青,梁斌.网络教学平台在c+十程序设计课程教学改革中的运用.计算机教育,2011(1):76-78

篇5:GIS程序员笔试题目

1.什么是元数据?

2.简单列举常用的地理坐标系统、投影坐标系统和地心坐标系统?并简要描述他们的区别。

地理坐标系统:WGS84;

投影坐标系统:北京54,西安80。地理坐标系统与投影坐标系统的区别:

1).地理坐标系统是以经纬度为地图的存储单位,确定一个可以量化计算的椭球体,还有一个可以将该椭球体定位的大地基准面。2).投影坐标系统是以长度单位(通常是米)来进行地图的存储,要确定一个投影坐标,首先要有一个球面坐标,然后就是转化过程,即通过一定的算法(高斯克吕格就是一种投影算法),将该球面坐标投影成为平面坐标。

3.简要描述一下矢量数据结构和栅格数据,以及各自应用的领域。

a.栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。

b.矢量数据结构是通过记录坐标的方式尽可能精确地表示点、线和多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义。c.栅格数据操作总的来说容易实现,矢量数据操作则比较复杂;

d.栅格结构是矢量结构在某种程度上的一种近似,对于同一地物达到于矢量数据相同的精度需要更大量的数据;在坐标位置搜索、计算多边形形状面积等方面栅格结构更为有效,而且易于遥感相结合,易于信息共享;

e.矢量结构对于拓扑关系的搜索则更为高效,网络信息只有用矢量才能完全描述,而且精度较高。对于地理信息系统软件来说,两者共存,各自发挥优势是十分有效的。

4.有哪些空间数据的索引方法,有哪些优点和缺点?简要说明其中一种。

a.简单网格空间索引:把空间划分为大小相同的网格。根据每个实体的空间范围把实体网格划成不同的部分,每个梅岭记录落入该格内的空间实体的编号,每一部分对应的网格分别增加新的记录以反映当前处理实体;

b.KD树:是一种基于点的动态索引方法。在二维坐标下,根据插入结点的X,Y坐标对空间进行交叉分割,把数据递归地划分为一个二叉查找树; c.R树:R树由中间结点和叶结点组成,实际数据对象的最小外接矩形存储在叶结点中,中间结点通过聚集其低层结点的外接矩形形成,包含所有这些外接矩形。。

5.试简要叙述一下空间数据建库的主要过程以及需要注意的主要问题。

完整的数据建库过程包括:数据库建模过程、数据监理过程、利用各种工具将各种数据入库的过程。

A.数据库建模过程。这一过程主要是根据行业应用特点及对其的理解,制定出比较规范的数据规范,在逻辑上建设数据库。

B.数据监理过程。这一过程主要是检测数据的正确性,从而保证建库的准确性。C.狭义上的建库主要是指利用各种工具将各种数据入库的过程。在这个过程中最重要的是多源数据的集成问题。数据格式转换模式格式转换模式是传统的GIS数据集成方法,也是入库的基本思想。在这种模式下,其他数据格式经专门的数据转换程序进行格式转换后,就可以进行入库了。这是目前GIS系统集成的主要办法。基本上每个GIS平台都提供了一些数据转换工具,以ESRI公司的ArcGIS平台为例子,其提供了ArcToolBox工具箱,功能比较完善和强大,基本上支持所有市面上主流的各种GIS数据

6.试述坐标变换的基本原理?写出仿射变换的主要处理过程。

坐标变换的基本原理是:是通过改变对应的参数,如基准面,椭球体,或者投影计算方法,实现由一种坐标系统向另一种坐标系统转换转换的过程。(找不到相关的资料,自己总结的)仿射变换:是空间直角坐标变换的一种,它是一种二维坐标到二维坐标之间的线性变换,保持二维图形的“平直线”和“平行性”,其可以通过一系列的原子变换的复合来实现,包括平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和剪切(Shear)。

7.基于网络的三维GIS已成为当前GIS应用的一个热点,结合你对三维GIS的了解,试叙述一下Google推出的Google Earth或NASA推出的WorldWind系统涉及到三维GIS中哪些关键技术。

14.简要叙述一下优化ArcGIS Server Application性能的方法。

海维公司GIS程序员笔试部分题目:(凭记忆)

1.SQL查询语句。(南方数码公司SQL查询也是重点考查内容)

2.给定一个变量IFeatureClass:fcs,另外一个变量IPolygon:poly。要求从fcs中获取与poly相交的所有要素的集合。请用代码实现上述过程。

3.ArcGIS Server切片缓存格式有哪几种?试评价它们的优缺点?

a.ArcGIS Server缓存瓦片文件格式一般来说有三种:JPEG、PNG32及PNG8。

b.这三种文件格式在一些方面上有些不同,这些不同就决定了他们主要应用的方向。以下详细看看主要的差别:

1)、是否支持透明:JPEG不支持透明底色,PNG32与PNG8支持透明底色。也就是作为最低层的底图可以使用JPEG,其他地方最好使用PNG格式。

2)、支持的颜色级别:JPEG与PNG32支持16万色,而PNG8支持256色。对于需要丰富颜色表达的图层,建议采用JPEG或者PNG32,对于简单的要素渲染的需求,则选择PNG8比较合适。

3)、存储方式 :JPEG为有损带高压缩比的文件格式,能支持55-90的压缩比例。而PNG32和PNG8都是无损的。图片精度高,同时占用磁盘空间较大。

c.综合上述的特点一般来说JPEG比较适合用于影像切片,PNG32则适中与影像与矢量的切片。由于支持的颜色数较少及透明的特点PNG8更适合用于矢量数据的切片。

4.地理坐标与投影坐标有什么区别和联系。

1).地理坐标系统是以经纬度为地图的存储单位,确定一个可以量化计算的椭球体,还有一个可以将该椭球体定位的大地基准面。2).投影坐标系统是以长度单位(通常是米)来进行地图的存储,要确定一个投影坐标,首先要有一个球面坐标,然后就是转化过程,即通过一定的算法(高斯克吕格就是一种投影算法),将该球面坐标投影成为平面坐标。

5.用递归算法计算第30个数字。

1,1,2,3,5….6.ArcGISSever中可发布的服务有哪几种?分别适用于什么情况?

7.认为身为一个GIS程序员,需要掌握的各方面素养是什么?

8.如何管理一个软件项目,你认为一个软件开发项目重点应该放在哪一部分?

9.你认为现今GIS的发展热点是什么?GIS的发展趋势会是怎样?

ArcGIS Server知识:

1.Caching作用,Map Service Cache包括哪些类型。

·ArcGIS Server在发布地图时可以使用缓存来显著提升性能。在服务端响应客户端的地图请求时,不需要动态生成地图图片,只是将储存在地图缓存中的地图切片返回给客户端。

·地图服务缓存类型:

·单个融合缓存模式:在每个比例尺下所有图层融合在一起,创建地图切片,这时融合的缓存显示为一整体图层,不允许单独设置某个图层的可见性,以及选择要素与调整注记。

·多图层缓存:在某个比例尺下为每个图层单独创建地图切片,这时客户看到的是图层集合,可以控制每个图层的可见性,注记及要素选择。

2.什么是SOM?什么是SOC?它们分别有什么作用?

SOM:(Server Object Manager)服务器对象管理器。管理着运行在服务器上的服务,当客户端请求一个服务时,SOM负责分配一个服务给客户端使用。

SOC;(Server Object Container)服务器对象容器。可以装在多台机器上,是服务对象的宿主。所有客户端请求通过SOM分配以后都是由SOC来负责完成的。

3.什么是pooled GIS Services,什么是nonpooled GIS Services?应该如何选择?

池化:在客户端请求间共享对象,支持无状态的交互,支持很多用户,对象在启动时初始化,使用完毕并不销毁,而可以被下一个使用。这样提高了使用效率,使性能提升。非池化:使用的对象不能被共享,为每一个客户端创建新对象,支持有状态的交互,支持较少的用户。由于每个用户仅对自身的Edits集起作用,他人编辑时不能被见,所以Edits时需要非池化。

4.试述DataSource与Resource,Functionality的联系。一个数据源(DataSource)包含一系列的资源(Resource),一个资源包含一系列的功能(Functionality)

5.在WebGIS中,就如何提高SDE的效率问题,简单的谈一下你的感想。

ArcEngine知识

1.数据库的三种形式:

a)Mdb数据库形式

b)文件形式(如shp,Tin,Raster)c)SDE数据库形式 2.打开数据库的一般流程:

a)定义IWorkspaceFactory变量pWsf;b)创建具体的WorkspaceFactory,如

pWsf=new ShapeWorkspaceFactory;pWsf=new AccessWorkspaceFactory;c)利用Open或者OpenFromFile打开数据库,产生IWorkSapce对象,即为数据库对象。

3.如何理解ILayer,IFeatureClass,IFeatureLayer与IFeature的关系。

IFeayureLayer是ILayer的子类,IFeature是IFeatureLayer中的一个要素。可以 从IFeatureLayer中得到IFeatureClass 再利用游标IFeatureCursor就可以把这些IFeature一个个遍历出来了!

ArcGIS Desktop知识:

1.利用ArcGIS桌面软件:给一个广东省的土地利用现状图和一个行政区划图,如何统计得出各个行政区内各种地类土地面积的总和。简单描述实现步骤和使用工具。a.做相交,得出每一个要素图斑的行政区划所属。(如属于哪一个镇,字段名为“镇名”)b.通过select by attributes ,“镇名”=’XXX’,运行出结果后,在“地类名称”字段上右键点击“Summarize”,在下面选择“area“,选择sum(也可选择最大值,最小值等)。然后确定输出表;

c.所得的表即是XXX镇包含有多少个图斑,以及各个镇的图斑面积总和。d.再依上述2,3步做出其他镇结果。

2.简单描述拓扑检查的整个流程:

(答案为个人总结)

a.建立一个Geodatabase,将需要检查的图层导入; b.在库中新建一个拓扑图层,定义拓扑规则;

篇6:网易网站测试工程师笔试题目

网易网站测试工程师笔试题目:

1.编程:费不垃圾数列,f(0) = 0, f(1) = 1, f(n) = f(n-1) + f(n-2) n>1。给定n,求f(n),要求越快越好。

好吧,现在想想,我没有考虑到返回值越界问题。ft,该死的越界。

2.给字符串str,将其倒序。例如“abcdef”变为“fedcba”,要求空间复杂度为O(1).

3.写出下述协议的端口号: HTTP 80 POP3 110 FTP 21

4.列举写黑盒测试用例的几种方法,至少三个: 等价类,边界值,不会了

网易网站测试工程师笔试题目分享网易网站测试工程师笔试题目分享

5.软件测试在软件工程中的位置

6.白盒测试的覆盖形式很多,从覆盖范围的弱到强来列举出来

7.让你作为项目测试负责人,说明从需求开始到项目上线所要做的全部工作

8.怎么做浏览器兼容性测试?怎么测试乱码问题?

a.ie内核浏览器+不同版本flash ie6、7、8,360等

b.非ie内核浏览器+不同版本flash chrome、ff等

乱码问题要考虑编码方式

a.单字节编码

b.双字节编码

c.UTF-8、GBK等编码的交界产生的二义性

列举常见编码问题作为case,供日后测试便利使用。

9.一段java程序,写测试case,来满足条件覆盖。

其实跟java没太大关系,c c++都差不多,我大概写一下题目:

我用了等价类和边界值,level要注意的值是0 1 2 10 11,grade要注意的是0 1 2 3 5 6。分为能否进入第一个if;如果进入了第一个if,能否进入第二个if。大概写了15个case。

【职业前景】

在外界环境大好的情况下,软件测试却面临着自身的严峻考验――人才紧缺。在国外,一般软件测试人员与软件开发人员的岗位设置比例是1:1,像微软在开发windows时测试开发人员比例高到1.7:1,由此可见软件测试岗位重要性的一般。据前程无忧调查显示,国内120多万软件从业者中,真正能担当测试职位的不足5万,人才缺口已超20万,并随需求逐年增长。

篇7:程序设计相关笔试题目

一: 写入如下程序的运行结果

1、

public class Test {

int i = 1;

int j = 3;

public Test(int m, int n){

this.i = m;

this.j = n;

}

public Test{}

public static void main(String[] args) {

new Test().test();

}

public void test(){

new Test(4,2);

System.out.println(“i=”+i+“,j=”+j);

}

}

我写的是 i=2, j=4, 而实际上的`运行结果为i=1, j=3。

2、

public class A {

public int Avar;

public A(){

System.out.println(“AAA”);

doSomething();

}

public void doSomething(){

Avar = 1111;

System.out.println(“A.doSomething()”);

}

}

public class B extends A {

public int Bvar = 2222;

public B(){

System.out.println(“BBBB”);

doSomething();

System.out.println(“Avar=”+Avar);

}

public void doSomething(){

System.out.println(“Bvar=”+Bvar);

}

public static void main(String[] args) {

new B();

}

}

我写的运行结果为:

AAA

A.doSomething()

BBB

2222

1111

而实际运行结果为:

AAA

Bvar=0

BBB

Bvar=2222

Avar=0

3、 Interger integer;

if(integer==42){ do something ... }。 次代码片段在运行时抛 空指针异常。 因为Integer为非基本类型的变量, 其默认值为null, 所以 .... ...

4、

/**

* 测试 string 的

*/

public static void main(String[] args) {

String str1 = new String(“A”);

String str2 = new String(“B”);

operateString(str1, str2);

System.out.println(“str1=”+str1+“,str2=”+str2);

int x=10;

operateInt(x);

System.out.println(x);

StringBuffer str3 = new StringBuffer(“A”);

StringBuffer str4 = new StringBuffer(“B”);

operateStringBuffer(str3, str4);

System.out.println(“str3=”+str3+“,str4=”+str4);

testOperator();

}

public static void operateString(String a, String b){

a.concat(b);

b=a;

}

public static void operateInt(int x){

x = x+100;

}

public static void operateStringBuffer(StringBuffer a, StringBuffer b){

a.append(“B”);

b=a;

}

输出结果为:A, B, 10, AB, B. 此题给出了正解,

5、 String 类型的变量也支持重载符: “+=”。

6、 编程题, 实现 归并排序算法:

public class MergeSort2 {

public int[] sort(int[] data) {

int[] temp=new int[data.length];

mergeSort(data,temp,0,data.length-1);

return data;

}

private void mergeSort(int[] data,int[] temp,int l,int r){

int mid=(l+r)/2;

System.out.println(l+“, ”+mid+“, ”+r);

if(l==r) return ;

mergeSort(data,temp,l,mid);

mergeSort(data,temp,mid+1,r);

for(int i=l;i<=r;i++){

System.out.println(“i=”+i);

temp[i]=data[i];

}

int i1=l;

int i2=mid+1;

for(int cur=l;cur<=r;cur++){

if(i1==mid+1)

data[cur]=temp[i2++];

else if(i2>r)

data[cur]=temp[i1++];

else if(temp[i1]

data[cur]=temp[i1++];

else

data[cur]=temp[i2++];

}

}

/**

* @param args

*/

public static void main(String[] args) {

int[] datas={1,21,34,79,98,23,68,2,3,8,6,33,6,7,87,32,24,6,776};

MergeSort2 mergeSort=new MergeSort2();

datas=mergeSort.sort(datas);

for(int i=0;i

System.out.print(datas[i]+“,”);

}

}

篇8:网站程序员笔试题目

char 一个字节 1 byte int 两个字节 2 byte(16位系统, 认为整型是2个字节)long int 四个字节 4 byte float 四个字节4 byet double 八个字节 8 byte long double 十个字节 10 byte pointer 两个字节 2 byte(注意, 16位系统, 地址总线只有16位)第1题: 考查对volatile关键字的认识 #include static jmp_buf buf;main(){ volatile int b;b =3;if(setjmp(buf)!=0){ printf(“%d “, b);exit(0);} b=5;longjmp(buf , 1);} 请问, 这段程序的输出是(a)3(b)5(c)0(d)以上均不是 第2题:考查类型转换 main(){ struct node { int a;int b;int c;};struct node s= { 3, 5,6 };struct node *pt = &s;printf(“%d” , *(int*)pt);} 这段程序的输出是:(a)3(b)5(c)6(d)7 第3题:考查递归调用 int foo(int x , int n){ int val;val =1;if(n>0){ if(n%2 == 1)val = val *x;val = val * foo(x*x , n/2);} return val;} 这段代码对x和n完成什么样的功能(操作)?(a)x^n(x的n次幂)(b)x*n(x与n的乘积)(c)n^x(n的x次幂)(d)以上均不是

第4题:考查指针,这道题只适合于那些特别细心且对指针和数组有深入理解的人 main(){ int a[5] = {1,2,3,4,5};int *ptr =(int*)(&a+1);printf(“%d %d” , *(a+1), *(ptr-1));} 这段程序的输出是:(a)2 2(b)2 1(c)2 5(d)以上均不是

第5题:考查多维数组与指针 void foo(int [][3]);main(){ int a [3][3]= { { 1,2,3} , { 4,5,6},{7,8,9}};foo(a);printf(“%d” , a[2][1]);} void foo(int b[][3]){ ++ b;b[1][1] =9;} 这段程序的输出是:(a)8(b)9(c)7(d)以上均不对 第6题:考查逗号表达式 main(){ int a, b,c, d;a=3;b=5;c=a,b;d=(a,b);printf(“c=%d” ,c);printf(“d=%d” ,d);} 这段程序的输出是:(a)c=3 d=3(b)c=5 d=3(c)c=3 d=5(d)c=5 d=5 第7题:考查指针数组 main(){ int a[][3] = { 1,2,3 ,4,5,6};int(*ptr)[3] = a;printf(“%d %d “,(*ptr)[1],(*ptr)[2]);++ptr;printf(“%d %d” ,(*ptr)[1],(*ptr)[2]);} 这段程序的输出是:(a)2 3 5 6(b)2 3 4 5(c)4 5 0 0(d)以上均不对 第8题:考查函数指针 int *f1(void){ int x =10;return(&x);} int *f2(void){ int*ptr;*ptr =10;return ptr;} int *f3(void){ int *ptr;ptr=(int*)malloc(sizeof(int));return ptr;} 上面这3个函数哪一个最可能引起指针方面的问题(a)只有 f3(b)只有f1 and f3(c)只有f1 and f2(d)f1 , f2 ,f3 第9题:考查自加操作(++)main(){ int i=3;int j;j = sizeof(++i+ ++i);printf(“i=%d j=%d”, i ,j);} 这段程序的输出是:(a)i=4 j=2(b)i=3 j=2(c)i=3 j=4(d)i=3 j=6 第10题:考查形式参数, 实际参数, 指针和数组 void f1(int *, int);void f2(int *, int);void(*p[2])(int *, int);main(){ int a;int b;p[0] = f1;p[1] = f2;a=3;b=5;p[0](&a, b);printf(“%dt %dt”, a, b);p[1](&a, b);printf(“%dt %dt”, a, b);} void f1(int* p , int q){ int tmp;tmp =*p;*p = q;q= tmp;} void f2(int* p , int q){ int tmp;tmp =*p;*p = q;q= tmp;} 这段程序的输出是:(a)5 5 5 5(b)3 5 3 5(c)5 3 5 3(d)3 3 3 3 第11题:考查自减操作(–)void e(int);main(){ int a;a=3;e(a);} void e(int n){ if(n>0){ e(–n);printf(“%d”, n);e(–n);} } 这段程序的输出是:(a)0 1 2 0(b)0 1 2 1(c)1 2 0 1(d)0 2 1 1 第12题:考查typedef类型定义,函数指针 typedef int(*test)(float * , float*)test tmp;tmp 的类型是

(a)函数的指针, 该函数以两个指向浮点数(float)的指针(pointer)作为参数(arguments)Pointer to function of having two arguments that is pointer to float(b)整型(c)函数的指针, 该函数以两个指向浮点数(float)的指针(pointer)作为参数(arguments),并且函数的返回值类型是整型 Pointer to function having two argument that is pointer to float and return int(d)以上都不是

第13题:数组与指针的区别与联系 main(){ char p;char buf[10] ={ 1,2,3,4,5,6,9,8};p =(buf+1)[5];printf(“%d” , p);} 这段程序的输出是:(a)5(b)6(c)9(d)以上都不对

第14题: 考查指针数组的指针 void f(char**);main(){ char * argv[] = { “ab” ,”cd” , “ef” ,”gh”, “ij” ,”kl” };f(argv);} void f(char **p){ char* t;t=(p+= sizeof(int))[-1];printf(“%s” , t);} 这段程序的输出是:(a)ab(b)cd(c)ef(d)gh 第15题:此题考查的是C的变长参数,就像标准函数库里printf()那样,这个话题一般国内大学课堂是不会讲到的,不会情有可原 #include int ripple(int ,);main(){ int num;num = ripple(3, 5,7);printf(” %d” , num);} int ripple(int n,){ int i , j;int k;va_list p;k= 0;j = 1;va_start(p, n);for(;j{ i = va_arg(p , int);for(;i;i &=i-1)++k;} return k;} 这段程序的输出是:(a)7(b)6(c)5(d)3 第16题:考查静态变量的知识 int counter(int i){ static int count =0;count = count +i;return(count);} main(){ int i , j;for(i=0;i <=5;i++)j = counter(i);} 本程序执行到最后,j的值是:(a)10(b)15(c)6(d)7 详细参考答案 第1题:(b)volatile字面意思是易于挥发的。这个关键字来描述一个变量时, 意味着 给该变量赋值(写入)之后, 马上再读取, 写入的值与读取的值可能不一样,所以说它“容易挥发”的。

这是因为这个变量可能一个寄存器, 直接与外部设备相连, 你写入之后, 该寄存器也有可能被外部设备的写操作所改变;或者, 该变量被一个中断程序, 或另一个进程 改变了.volatile 不会被编译器优化影响, 在longjump 后,它的值 是后面假定的变量值,b最后的值是5,所以5被打印出来.setjmp : 设置非局部跳转 /* setjmp.h*/ Stores context information such as register values so that the lomgjmp function can return control to the statement following the one calling setjmp.Returns 0 when it is initially called.Lonjjmp: 执行一个非局部跳转 /* setjmp.h*/ Transfers control to the statement where the call to setjmp(which initialized buf)was made.Execution continues at this point as if longjmp cannot return the value 0.A nonvolatile automatic variable might be changed by a call to longjmp.When you use setjmp and longjmp, the only automatic variables guaranteed to remain valid are those declared volatile.Note: Test program without volatile qualifier(result may very)更详细介绍, 请参阅 C语言的setjmp和longjmp 第2题:(a)结构题的成员在内存中的地址是按照他们定义的位置顺序依次增长的。如果一个结构体的指针被看成 它的第一个成员的指针,那么该指针的确指向第一个成员 第3题:(a)此题目较难.这个程序的非递归版本 int what(int x , int n){ int val;int product;product =1;val =x;while(n>0){ if(n%2 == 1)product = product*val;/*如果是奇数次幂, x(val)要先乘上一次,;偶数次幂, 最后返回时才会到这里乘以1*/ val = val* val;n = n/2;} return product;} /* 用二元复乘策略 */ 算法描述(while n>0){ if next most significant binary digit of n(power)is one then multiply accumulated product by current val, reduce n(power)sequence by a factor of two using integer division.get next val by multiply current value of itself } 第4题:(c)a的类型是一个整型数组,它有5个成员。&a的类型是一个整型数组的指针, 所以&a + 1指向的地方等同于a[6], 所以*(a+1)等同于a[1] ptr等同a[6], ptr-1就等同与a[5] 第5题:(b)题目自身就给了足够的提示 b[0][0] = 4 b[1][0] = 7 第6题:(c)考查逗号表达式,逗号表达式的优先级是很低的, 比 赋值(=)的优先级 低.逗号表达式的值就是最后一个元素的值

逗号表达式的还有一个作用就是分割函数的参数列表..E1, E2, …, En 上面这个表示式的左右是,E1, E2,… En的值被分别计算出来, En计算出来的结构赋给整个逗号表达式

c=a,b;/ *yields c=a* / d=(a,b);/* d =b */ 第7题:(a)ptr是一个数组的指针, 该数组有3个int成员 第8题:(c)f1显然有问题, 它返回一个局部变量的指针, 局部变量是保存在stack中的,退出函数后, 局部变量就销毁了, 保留其指针没有意义, 因为其指向的stack空间可能被其他变量覆盖了

f2也有问题, ptr是局部变量, 未初始化, 它的值是未知的, *ptr不知道指向哪里了, 直接给*ptr赋值可能会覆盖重要的系统变量, 这就是通常说的野指针的一种 第9题:(b)sizeof 操作符给出其操作数需要占用的空间大小, 它是在编译时就可确定的, 所以其操作数即使是一个表达式, 也不需要在运行时进行计算.(++i + ++ i)是不会执行的, 所以i的值还是3 第10题:(a)很显然选a.f1交换*p 和 q的值, f1执行完后, *p 和 q的值的确交换了, 但q的改变不会影响到b的改变, *p 实际上就是a 所以执行f1后, a=b=5 这道题考查的知识范围很广,包括typedef自定义类型,函数指针,指针数组void(*p[ 2 ])(int *, int);定义了一个函数指针的数组p,p有两个指针元素.元素是函数的指针, 函数指针指向的函数是一个带2个参数,返回void的函数, 所带的两个参数是指向整型的指针, 和整型

p[ 0 ] = f1;p[ 1 ] = f2 contain address of function.function name without parenthesis represent address of function Value and address of variable is passed to function only argument that is effected is a(address is passed).Because of call by value f1, f2 can not effect b 第11题:(a)考查–操作和递归调用,仔细分析一下就可以了 第12题:(c)建议不会的看看C专家编程

从左往有, 遇到括号停下来, 将第一个括号里的东西看成一个整体 第13题:(c)考查什么时候数组就是指针.对某些类型T而言, 如果一个表达式是 T[](T的数组), 这个表达式的值实际上就是指向该数组的第一个元素的指针.所以(buf+1)[5]实际上就是*(buf +6)或者buf[6] 第14题:(b)sizeof(int)的值是2,所以p+=sizeof(int)指向 argv[2],这点估计大家都没有什么疑问(p+=sizeof(int))[-1] 指向 argv[1],能理解吗, 因为(p+=sizeof(int))[-1] 就相当于(p+=2)[-1] ,也就是(p+2-1)第15题:(c)在C编译器通常提供了一系列处理可变参数的宏, 以屏蔽不同的硬件平台造成的差异, 增加程序的可移植性。这些宏包括va_start、va_arg和va_end等。

采用ANSI标准形式时, 参数个数可变的函数的原型声明是:type funcname(type para1, type para2, …)这种形式至少需要一个普通的形式参数, 后面的省略号不表示省略, 而是函数原型的一部分。type是函数返回值和形式参数的类型。

不同的编译器, 对这个可变长参数的实现不一样 , gcc4.x中是内置函数.关于可变长参数,可参阅

上一篇:医院工作者思想汇报5则范文下一篇:材料作文三忌