【WebGIS面试经验】(一)本以为没戏却成功了的面试

本文分享了一次WebGIS开发工程师校招面试的经历,包括面试提问、回答技巧及面试后的反思,作者通过这次面试获得了宝贵的经验。

一、 前言

前天突然接到一个面试电话,说是我上周投递的一个WebGIS开发工程师的校招岗位可以参与线上面试了。我本以为面试会安排在10月中下旬(因为我看到很多企业是这样安排),当时我就感叹这个企业的工作效率真高。。。
首先要告诉大家:
这次是一面(技术面),一对一,腾讯会议进行。
面试时,我的WebGIS仅为入门阶段,
然后我的简历关于WebGIS部分是这么写的:
在这里插入图片描述

二、面试过程

我发现这次的面试,hr问的问题大多都是我上一句话提及的相关内容,或者从我做的项目中提问

下面是面试中提到的问题:

  1. 先用两只三分钟做一个自我介绍?
  2. 关于你搭建的平台,都用了哪些技术栈核开发工作?
  3. 你的平台用的是天地图,说一下这个服务是什么格式的类型,是怎么加载出来的?
  4. 说一下栅格切片的加载原理?
  5. WMTS服务是怎么加载的?
  6. 你刚刚有说到WMS,可以说一下WMS和WMTS的区别吗?
  7. 会在什么时候使用WMS,什么时候使用WMTS?
  8. 你现在使用的天地图坐标系是什么坐标系?
  9. 说一下投影坐标系和地理坐标系的区别?
  10. 除了使用天地图有没有自己发布一些地图来使用呢?
  11. 假如现在要在地图上画一个点活画一个线,用你现在的技术要怎么实现?
  12. 做这个项目之前与之后了解到的东西的对比?
  13. 对vue的框架是否有了解过?(我还没学vue,就回答了vue在我的学习计划中,但还没进行到这)
  14. 是否可以实习?(我说大四课程结束了就可以实习)
  15. 对我们这边有什么需要问的吗?(我问了企业的工作内容和对应的技术栈)

三、面试结束

我对这一次的面试挺不满意的,第一次面试有点紧张,而且因为学习WebGIS的时间太短,让自己特别没信心。(才学了一两个月,除了简历啥都还没准备)
最后,虽然这次面试大概率黄了,但还是感谢企业给我的面试机会吧,让我对面试有了一定的经验。并且深刻明白了自己完完全全还是个小白,离目标还远着呢。

这里我把我本次面试向hr展示的WebGIS平台分享一下:

技术面试3天后更新:
我居然被打电话了,而且直接在电话上进行了二面,耗时19分钟。HR当场告诉我说我通过了一二面,现在下一通电话就是谈薪资待遇了。我人都傻了,感觉通过得太简单,自己都有点心虚。

三面结束:因为是应届生,工作地点在广州,谈到的薪资是税前10K。


这里再往下呢,就是对这次面试HR问的问题的回答,虽然当时有些没答上来,或者没回答好,但是随着通过WebGIS的学习,有些问题已经有了一些比较模糊的答案,我会在随后的学习中慢慢完善的。



四、我的回答

  1. 关于你搭建的平台,都用了哪些技术栈核开发工作?

答:首先是Web前端的HTML+CSS,以及JavaScript基础,HTML DOM。然后平台的UI框架我是利用了一个叫做Layui的开源组件库,而地图主体我是用了OpenLayers。

  1. 你的平台用的是天地图,说一下这个服务是什么格式的类型,是怎么加载出来的?

答:采用的是OGC 网络地图瓦片服务(WMTS)标准,向天地图地图服务发出请求,从而调用到的在线瓦片地图,然后通过OpenLayers加载这些瓦片地图服务。
如果要详细的说,那便是分析关于Openlayers加载瓦片地图的过程了。

  1. WMTS服务是怎么加载的?

答:openlayers可以通过ol.source.WMTS、ol.source.XYZ等方式加载WMTS服务,ol.source.XYZ的方式标记简单,只需要输入修改url和xyz以及坐标系即可。而ol.source.WMTS,则需要配置原点、分辨率数组、分辨率对应的级别、坐标系的参数。

  1. 你刚刚有说到WMS,可以说一下WMS和WMTS的区别吗?

答:WMTS服务和WMS服务对客户端请求服务的响应不同,比如在接受客户端请求WMTS服务时,返回给客户端是固定大小的瓦片,客户端根据索引号来获取每一张瓦片,而后拼接成地图进行展示,其采取缓存技术来替代实时对数据进行可视化,用以提高地图响应能力。而当客户端请求WMS服务时,返回给客户端是一张完整的图片,客户端取到直接展示。

  1. 你现在使用的天地图坐标系是什么坐标系?

答:用的是CGCS2000,而投影类型有经纬度投影和web墨卡托投影

请问在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 面试常见问题及解答 #### 常见问题分类与解析 以下是常见的 WebGIS 开发工程师面试问题及其详细解答: --- #### 1. **什么是 WebGIS?它的基本组成是什么?** WebGIS 是指通过互联网发布和共享地理空间数据的技术体系。其核心目标是让用户能够访问、查询和分析地图及相关地理信息。 - WebGIS 的基本组成部分包括客户端、服务器端以及数据库[^1]。 - 客户端:负责展示 GIS 数据并提供用户交互界面,常用技术有 HTML5、JavaScript 和 Three.js 等[^4]。 - 服务器端:处理请求并将地理数据传递给客户端,常用的框架和技术栈包括 GeoServer、MapServer 或 ArcGIS Server[^3]。 - 数据库:存储矢量数据和栅格数据,主流产品如 PostGIS、Oracle Spatial 和 SQL Server。 --- #### 2. **如何实现不同坐标系之间的转换?** 在 WebGIS 中,经常需要将不同的地理坐标系进行相互转换。这可以通过以下方法完成: - 使用专业的 GIS 工具(如 ArcGIS、QGIS)内置的功能来执行投影变换操作[^2]。 - 利用开源库 Proj4js 实现前端的动态坐标转换功能。 代码示例: ```javascript // 示例:使用 proj4 库进行 EPSG:4326 -> EPSG:3857 投影转换 proj4.defs("EPSG:3857","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"); var point = [116.39, 39.9]; var transformedPoint = proj4('EPSG:4326', 'EPSG:3857', point); console.log(transformedPoint); // 输出转换后的坐标 ``` --- #### 3. **解释球面线段的概念及其应用场景。** 球面线段是指考虑地球曲率的情况下,在球面上连接两个点的实际最短路径。它也被称为大圆弧 (Great Circle Arc)[^5]。 - 在 WebGIS 场景中,当绘制航线或者计算两地间的距离时,通常采用球面线段模型以提高精度。 - Cesium 提供了 `Cesium.ArcType.GEODESIC` 来表示这种类型的线段。 --- #### 4. **谈谈你在项目中使用的 WebGIS 技术栈有哪些?** 对于初学者来说,可以从以下几个方面描述自己的技能树: - **前端开发**: 掌握 OpenLayers、Leaflet 或者 Mapbox GL JS 等轻量化地图库。 - **三维建模**: 如果涉及城市规划或地形仿真,则可能需要用到 Three.js 或 Cesium。 - **后端服务**: 学习 RESTful API 设计原则,并熟悉 GeoJSON 文件格式标准。 - **数据库管理**: 对于大规模矢量/影像资源存取优化方案有定了解即可满足大部分需求。 --- #### 5. **请举例说明个完整的 WebGIS 流程是如何运作的?** 假设我们要构建个简单的灾害预警系统: 1. 收集基础底图素材(卫星遥感图片),上传至云平台托管; 2. 创建 WMS/WMTS 图层定义文档以便按需加载分块瓦片图像; 3. 编写自定义样式规则突出显示危险区域边界轮廓; 4. 结合实时传感器采集的数据流更新状态图标位置属性字段值; 5. 用户最终可通过浏览器访问该应用查看全局态势分布情况图表统计结果等等。 ---
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值