WebGIS面试题(第三期)

WebGIS面试题(第三期)(某公司)上机笔试题

以下题目为南京某公司上机笔试题,题目仅为部分题目,全部题目在公众号{GISer世界},答案仅供参考,需要电子版在公众号{GISer世界}内回复“面试题3”获取PDF版本!!!

一、选择题

1、在java中,ByteMAXVALUE的二进制表示形式是
  • A 11111111

  • B 1000000

  • C 以上都不对

  • D 01111111

    在Java中,Byte.MAX_VALUE 表示一个 byte 数据类型的最大值,其值为 127。其二进制表示形式是 01111111,因此正确答案是:

    D. 01111111

2、GeOJSON格式,支持的Geomnetry类型不包括以下哪种
  • A LineString

  • B Polygon

  • C Polyline

  • D Point

    GeoJSON 格式支持的 Geometry 类型包括:

    A. LineString
    B. Polygon
    D. Point

    GeoJSON 不支持 “Polyline” 这个类型,因此正确答案是:

    C. Polyline

3、以下代码片段的空白处,应该分别填入什么内容可使得代码片段通过编泽?

public vold process()Exception {

Exception0);

}

  • A throws throws new

  • B throws throw new

  • C throw throws new

  • D throw throw new

    在给定的代码片段中,你需要填入异常处理代码以使其通过编译。正确的选项是 B:

    public void process() throws Exception {
        throw new Exception();
    }
    

    这样,process 方法声明了它可能抛出一个 Exception 异常,并在方法体中使用 throw 语句抛出了一个新的 Exception 异常。

4、使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应该集么处理?
  • A 在GROUPBY后面使用HAVING子句

  • B 先使用WHERE子句,再使用HAVING子包

  • C 先使用HAVING字句,再使用WHERE子句

  • D 使用WHERE子句

    为了去掉不满足条件的分组,你应该在 SQL 查询中使用 HAVING 子句。正确答案是:

    A. 在 GROUP BY 后面使用 HAVING 子句

    HAVING 子句用于筛选已经分组的数据,而 WHERE 子句用于筛选未分组的数据。因此,如果你想在分组后筛选分组,应该使用 HAVING 子句。

5、WMS服务提供的接口中,用于获取地瘤服务图层民张教据地是?
  • A GetFeatureInfo

  • B GetCapabilities

  • C GetLegendGraphic

  • D GetMap

    WMS(Web Map Service)服务提供了多个接口来满足不同的地图服务需求。用于获取地图图层的元数据信息的接口是 “GetCapabilities”,而用于获取地图图层上的特定位置信息的接口是 “GetFeatureInfo”。

    所以,答案是:

    A. GetFeatureInfo

6、以下的代码片段,违反了SOLID设计原则中的哪一条原则

package java sql;
public class Date extends java.util Date (@Override
public Instant tolnstant() {
throw new java.lang.UnsupportedOperationException();

}

}

  • A 开放闭合原则

  • B 里氏替换原则

  • C 接口隔离原则

  • D 单一职责原则

    给定的代码片段违反了里氏替换原则(Liskov Substitution Principle)。

    里氏替换原则要求子类必须能够替换其基类而不改变程序的正确性。在这里,你的代码片段尝试继承 java.util.Date 类并覆盖了 toInstant 方法,但在方法体内抛出了 java.lang.UnsupportedOperationException 异常。这违反了里氏替换原则,因为它改变了基类的预期行为,而不是正确地实现了基类的方法。

    所以,答案是:

    B. 里氏替换原则

7、下列哪个选项是es6中用于声明变量的关键字?
  • A let

  • B const

  • C 以上都对

  • D var

    在 ECMAScript 6(ES6)中,用于声明变量的关键字有:

    A. let
    B. const

    所以正确答案是:

    C. 以上都对

    ES6 引入了 letconst 关键字,用于声明变量,相较于之前的 var 关键字,它们提供了更好的变量作用域控制和不可变性选项。

8、"A cass should have only one reason to change”。这话常用于SOUD设计原则中的那条原则?
  • A 开放闭合原则

  • B 依赖倒置原则

  • C 接口隔离原则

  • D 单一职责原则

    “A class should have only one reason to change” 这句话通常用于单一职责原则(Single Responsibility Principle)中。因此,正确答案是:

    D. 单一职责原则

    单一职责原则要求一个类应该只有一个引起它变化的原因,即它应该具有单一的责任。

9、下列哪个方法可以将多个数组合并为一个数组?
  • A splice
  • B reverse
  • C shift
  • D concat
10、以下哪项,不是es6提供的新功能?
  • A 类

  • B 函数表达式

  • C 箭头函数

  • D 模块

    方法可以将多个数组合并为一个数组是:

    D. concat

    concat 方法用于连接两个或多个数组,并返回一个新数组,其中包含了所有连接的数组元素。这允许你将多个数组合并成一个大数组。

11、关于es6的Class,以下说法错误的是?
  • A 在Class中,通过类的名称来访问静态成员

  • B 在子类的构造方法中,可以在任意位置调用父类的构造函

  • C es6的class支持创建访问器属性

  • D 可在类中使用static关键字,定义静态成员

    ES6(ECMAScript 2015)引入了许多新功能,但其中的一个选项不是新功能。这个选项是:

    B. 函数表达式

    函数表达式不是 ES6 新引入的功能,它在之前的 JavaScript 版本中就已经存在。ES6 引入了类(A)、箭头函数(C)和模块(D)等新功能,但函数表达式是 JavaScript 的基本功能,不属于 ES6 特定的新增内容。

12、数据库事务ACID特性,其中A表示?
  • A 隔离性

  • B 一致性

  • C 持久性

  • D 原子性

    以下说法是错误的:

    B. 在子类的构造方法中,可以在任意位置调用父类的构造函数

    在 ES6 的类中,如果子类的构造函数中希望调用父类的构造函数,应该在构造函数的开头使用 super() 调用父类的构造函数。在构造函数的其他位置调用 super() 会导致错误。

二、简答题:

17、有以下几张表学生表Student(sid varchar(10)sname varchar(10)),课程表Course(cid varchar(10),cname varchar(10),成绩表SC(sid varchar(10)cid varchar(10)scoredecimal(18,1))。其中,sid为学号.sname为学生姓名、cid为课程号cname为课程名、score为考试成绩。请编写SQL语句,查询至少有两个学生考试成绩的课程的课程号和该课程的最高成绩。

答:

你可以使用 SQL 查询来找到至少有两个学生考试成绩的课程的课程号和该课程的最高成绩。以下是 SQL 查询的示例:

SELECT c.cid AS 课程号, MAX(sc.score) AS 最高成绩
FROM Course c
JOIN SC sc ON c.cid = sc.cid
GROUP BY c.cid
HAVING COUNT(sc.sid) >= 2;

这个查询会联接课程表(Course)和成绩表(SC),然后按课程号(cid)分组。通过 HAVING 子句,筛选出至少有两个学生考试成绩的课程,并计算每个课程的最高成绩。

18、Web Mercator投影以赤道为标准结线以本初子午线为中央经线,两者交汇处为坐标原点。其覆盖的经度范围为[-180.1801,已知赤道半径为6378137米,计算Web Mercator投影x坐标的覆盖范围。

Web Mercator 投影将地球表面的经度和纬度坐标映射到平面坐标系,通常使用经度范围从 -180 度到 180 度。在 Web Mercator 投影中,横坐标 (X) 的取值范围通常被规定为从 -20037508.34 米到 20037508.34 米。这个范围是由赤道半径和π(圆周率)以及一些调整因子计算得出的。

答:

Web Mercator 投影的 X 坐标范围是由以下公式计算得出:

X_min = -R * π
X_max = R * π

其中,R 为赤道半径,即 6378137 米。

计算 X 坐标范围:

X_min = -6378137 * π ≈ -20037508.34 米
X_max = 6378137 * π ≈ 20037508.34 米

所以 Web Mercator 投影的 X 坐标范围为大约 -20037508.34 米到 20037508.34 米。

此处只展示了部分面试题,剩余面试题请移步公众号【GISer世界】 欢迎您关注我的原创公众号【GISer世界】,不定期分享资源以及GIS面试题,本期分享到这里就结束了。

在这里插入图片描述
请添加图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
请问在openlayers中如何删除Layer中的marker 3 在层中加了一个标记怎么永久的存到地图上 3 OpenLayers 如何设死地图边界 3 谁写过openlayers解析xml 3 openlayer.popup 3 OpenLayers 怎么做字段标注 4 字段标注不是用OL做的,而是你在SLD中定义用数据表的哪个字段做标签就可以了 4 OpenLayers 中画最短轨迹 4 使用TileCache配合OpenLayers 4 openlayers如何准确测距 9 openlayers简单实用例子 9 关于TileCache函数 13 openlayers 有函数说明的类图 14 go 14 Maker 一多,客户端就死掉 15 OpenLayers 怎么实现 AJAX 16 openlayer 要怎么研究才会应用得比较自如 16 改良OpenLayers的Popup 16 在openlayers的地图中要添加地图搜索功能一般采用什么方法 17 openlayers中如何访问geoserver发布的图片 18 什么是TMS? 18 怎样设置瓦片的大小 18 画一条线,数据量太大,怎么办? 18 怎么在图层上动态画点 20 GeoExt集成google map ,地图偏移 21 用JavaScript为OpenLayers.Marker的加上单击显示详细信息的功能 21 改良OpenLayers的MousePostion 25 使用OpenLayers实现一个在鼠标点击处添加标记的效果 27 openlayers 利用google maps的卫星地图 29 openLayers集成google map ,点标注错位 30 openlayers可以做出谷歌效果的地图吗? 31 用OpenLayers API和类来画点、线、面 32 OGC标准术语介绍WMS、WFS、WCS 35 如何控制地图的放缩 37 openLayers链接WMS的代码探讨 37 openlayers 2.5 矢量层在ie下闪烁的问 38 openLayers 在地图上添加一个点并保存 39 openLayers 各个参数的意义 42 geoserver能搞出这种风格的图来吗? 43 关于SLD的线切割后的设置 43 GEOSERVE 标注铁路,使用 SLD 44 geoserver 发布.shp 中文乱码问 怎么解决啊 45 Geoserver怎么连postGreSql 数据库 48 Geoserver连Oracle Spatial 52 GeoServer架构浅谈 53 Geoserver发布地图无法显示问 57 WebGIS相关的OpenGIS规范 58 geoserver中地图以外的区域以自定义图片填充 62 怎样修改 geoServer 的用户名密码 65 GeoServer中的WMS服务生成的png图片背景色为透明 65 比例尺 65 需不需要一个layer对应一个store 66 如何部署shp 66 用GeoWebCache后Marker错位 66 标签太大导致不能显示? 67 geoserver把两个shapefile格式的图叠 67 GeoServer 能够集成 Google Map? 68 gwc地图切片的缓存路径在web.xml中设置么 68 如何实现地图查询? 68 sld文件怎么用 69 在sld中怎么控制路名的间隔? 69
以下是一些常见的webgis面试及其答案: 1. 什么是WebGISWebGIS是一种在线地理信息系统,它使用Web技术将地图和地理信息展示在Web平台上,使用户可以通过Web浏览器访问和使用地理信息。 2. 你使用过哪些WebGIS工具和技术? 回答应该包括一些常见的WebGIS工具和技术,例如ArcGIS Online、Google Maps API、Leaflet、OpenLayers、PostGIS、Geoserver等等。 3. 你如何处理大量数据和高并发请求? 可以使用分布式计算和存储技术,例如Hadoop、Spark、Cassandra等等。还可以使用负载均衡技术和缓存技术来处理高并发请求。 4. 你如何设计一个WebGIS系统? 需要考虑系统的架构、数据存储、数据处理、用户界面设计、安全性等方面。应该根据实际需求和用户需求进行系统设计和开发。 5. 你如何处理地图数据的可视化和交互性? 可以使用JavaScript库和框架,例如D3.js、jQuery、Bootstrap等等。还可以使用CSS和HTML来设计地图的外观和交互式元素。 6. 你如何处理地图数据的查询和分析? 可以使用空间数据库和GIS工具,例如PostGIS、ArcGIS、QGIS等等。还可以使用JavaScript库和框架来实现查询和分析功能,例如Turf.js、OpenLayers、Leaflet等等。 7. 你如何确保WebGIS系统的安全性? 可以使用SSL证书和加密技术来保护数据传输的安全性。还可以使用访问控制和认证技术来确保用户身份和权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值