面试经历存档(三)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近秋招热门,因为本人自身的专业是地图制图学与地理信息工程,目前在考公、找企业直接纠结,海投了也海投了不少,为了提升自己的面试经验,总结面试的经验教训,并且为之后的面试打基础,特此写下该系列博文,以供自己随时查阅。继之前的两家公司,今天再次面试了一家外包公司——北京数慧。


一、北京数慧

经过一轮百度,大概了解了一下这个公司,感觉和其他的GIS类公司差不多,都有着一些通病,即加班严重,绩效考核纳入工资范畴,领导目标不明确,发展前景堪忧等等。但是其还有一家数慧武汉中心,听说好像还可以,而且今天的面试总体来说感觉属于一个技术初面,为了我许多gis相关方面的知识,而且比较前沿,并且该公司好像已经有些弃用Cesium了(感觉研究生白读了),然后在逐渐转入游戏引擎、AI和遥感方向,也是主要和政府进行一些遥感GIS等方面的相关项目的合作,也属于一家中规中矩的外包公司。

二、面试经历

1.hr

面试前的hr还是很热情的,初面完之后就没再鸟过我了,让我感到落差,估计是裂开了吧。

2.面试问题

因为是技术初面,所以感觉也没问什么八股式的问题,倒是向我提出了一些新的概念,但是我都没咋听说过((:з」∠)),对此我需要进行一下记录总结:

Q1.矢量瓦片

矢量瓦片是一种用于存储和显示地图数据的格式。它将矢量数据分割成多个矩形区域,每个区域称为一个矢量瓦片。每个矢量瓦片包含了一定范围内的几何信息和属性信息。与传统的栅格瓦片不同,矢量瓦片以矢量形式存储,可以高度压缩,占用的存储空间比栅格瓦片小得多¹。
在客户端显示地图时,可以根据指定的样式文件对矢量瓦片进行渲染绘制。这种方式使得矢量瓦片具有许多优势。例如,它可以实现更快的渲染速度、更灵活的样式切换和更小的数据传输体积²。
常见的矢量瓦片数据格式包括GML、Cesium Vector Tiles、GeoJSON、TopoJSON和Google Protocol Buffers等¹。这些格式用于描述矢量要素的几何信息和属性信息。其中,GeoJSON是一种通用性强、易读取的格式,几乎所有的GIS引擎都支持该格式的动态渲染电子地图数据¹。
不同的在线地图服务提供商使用不同的技术和工具来生成和显示矢量瓦片。例如,Mapbox使用Mapbox Studio和Tippecanoe工具,OGC使用GeoServer工具,Esri使用ArcGIS Pro工具等³。
总之,矢量瓦片是一种用于存储和显示地图数据的格式,它具有较小的体积、快速渲染和灵活样式切换等优势。它在在线地图服务中被广泛应用,并逐渐取代了传统的栅格瓦片作为地图数据的存储和传输方式⁴。
(1) 聊一聊矢量瓦片的常识 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/272203128.
(2) 矢量瓦片概述 - SuperMap. https://help.supermap.com/iDesktop/zh/tutorial/MapTiles/VectorTilesOverview/.
(3) CAD/DWG图Web网页可视化技术之栅格和矢量瓦片 - 知乎. https://zhuanlan.zhihu.com/p/421554270.
(4) 矢量瓦片 (1)基础介绍 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/602601449.

在该专栏之中也进行了更加详细的描述,有空可以去看看,专栏底下有一个GeoCenter好像也实现了使用动态矢量瓦片实现对前端加载的优化和对属性表的关联,似乎是一个值得研究的技术。

相比之下,3DTiles不知道能否与其结合,需要后续研究:
3D Tiles 是一种用于存储和显示三维地理空间数据的格式。它是一种矢量瓦片格式,与栅格瓦片不同。3D Tiles 可以存储和传输三维模型、点云、地形和其他类型的三维数据。它使用了一种层次化的数据结构,可以高效地渲染大规模的三维地理空间数据。

总之,3D Tiles 是一种矢量瓦片格式,用于存储和显示三维地理空间数据。它使用层次化的数据结构,可以高效地渲染大规模的三维地理空间数据。CesiumJS 是一个流行的 JavaScript 库,用于加载、渲染和交互式浏览 3D Tiles 数据。

虽然Cesium还有一个3dtiles next,不过网上相关的资料太少,不太好进行学习:
3D Tiles Next是一种开放规范,用于流式传输大量异构3D地理空间数据集。它是3D Tiles标准1.0的重大更新,旨在更好地流式传输语义元数据、通过空间索引运行大规模模拟和分析,并与glTF软件和扩展生态系统集成。3D Tiles Next的核心仍然是在规模上流式传输交互式3D。它是一组扩展,允许开发者社区更好地:高效地流式传输语义元数据、通过空间索引运行大规模模拟和分析,并集成glTF软件和扩展生态系统。3D Tiles Next的扩展支持跨设备的向开放元宇宙类似于游戏流式传输的地理空间体验,包括当今和未来的VR和AR可穿戴设备。¹²

这个规范的核心是在规模上流式传输交互式3D。3D Tiles Next是一组扩展,允许开发者社区更好地:高效地流式传输语义元数据、通过空间索引运行大规模模拟和分析,并集成glTF软件和扩展生态系统。¹

这个规范的目标是提高三维地理空间体验,利用5G、云端边缘计算,在开放和可操作的生态系统中提供更好的三维地理空间体验。²

(1) Introducing 3D Tiles Next, Streaming Geospatial to the Metaverse. https://cesium.com/blog/2021/11/10/introducing-3d-tiles-next/.
(2) cesium之3D Tiles Next(下一代的3D Tiles)介绍 - CSDN博客. https://blog.csdn.net/weixin_45782925/article/details/124360666.
(3) FOSS4G 2022 分享 “3D Tiles Next” 最全的 3D Tiles 技术文档,先收藏 - 知乎. https://zhuanlan.zhihu.com/p/558568547.
(4) GitHub - bertt/3dtiles-next. https://github.com/bertt/3dtiles-next.
(5) undefined. https://github.com/CesiumGS/3d-tiles-samples/tree/main/next.
(6) undefined. https://github.com/CesiumGS/3d-tiles/blob/main/next/README.md.

Q2. AI参与数据处理(如点云数据切割)

网上稍微找到一片相关的教程:
https://www.giserdqy.com/gisapp/40117/?amp=1

https://blog.csdn.net/shebao3333/article/details/133301150

还有什么PointNet++技术,反正看起来是挺牛逼的吧。
https://www.zhihu.com/question/488371299

Q3.数据库的事务

数据库事务具有以下四大特性(ACID):

1. 原子性(Atomicity):事务是一个原子操作单元,要么全部执行成功,要么全部回滚到事务开始前的状态。事务中的所有操作要么都执行,要么都不执行,不会出现部分操作成功或失败的情况。

2. 一致性(Consistency):事务执行前后,数据库的数据必须保持一致性。事务的执行不能破坏数据库中的完整性约束,如唯一性约束、外键约束等。

3. 隔离性(Isolation):事务的执行应该相互隔离,每个事务的操作应该与其他事务的操作相互独立,互不干扰。即使多个事务同时并发执行,每个事务也应该感觉不到其他事务的存在。

4. 持久性(Durability):事务一旦提交(或者说已经成功执行),其对数据库的修改应该是永久性的,即使系统发生故障,数据也不会丢失。数据库系统需要提供恢复机制,以确保事务的持久性。

Q4.与Cesium类似的三维引擎,游戏引擎

鉴于现在Unity的风评,感觉其前途也不太光明,先暂时不考究其应用。

Cocos成立于2010年,核心产品包括开源引擎框架Cocos2d-x、编辑器Cocos Creator、游戏加速框架Cocos Runtime、智能座舱解决方案Cocos HMI、互动课件编辑器Cocos ICE、XR方向创作工具Cocos Creator XR等等。
Cocos在游戏领域代表案例有《开心消消乐》、《欢乐斗地主》、《梦幻西游》、《热血传奇》、《传奇霸业》、《问道》、《剑与远征》、《列王的纷争》、《动物餐厅》等,国外则有《Puzzle & Dragons》智龙迷城、《Fire Emblem Heroes》火焰纹章英雄等多款游戏使用Cocos开发。

Godot游戏引擎是Juan Linietsky [1] 和Ariel Manzur [1] 发起的,是一款制作游戏的软件,可以制作2D和3D游戏。通过基于节点的架构来设计游戏,3D渲染器设计可以增强3D游戏的画面。具有内置工具的2D游戏功能以像素坐标工作,可以掌控2D游戏效果。面向团队的设计从架构和工具到VCS集成,Godot专为团队中的每个人设计。编辑器可在Windows、Mac OS和Linux系统中运行,支持导出游戏到Windows、Mac OS、Linux、Android、iOS、UWP和HTML5等平台。

WorldWind也是由美国宾夕法尼亚州的NASA开发的一款开源三维地球视图引擎。它基于Java和JavaScript技术,可以运行在各种平台上,包括桌面浏览器和移动设备。WorldWind支持各种数据源,包括NASA的卫星数据、OpenStreetMap等。

OpenWebGlobe是由瑞典皇家理工学院开发的一款开源三维地球视图引擎。它基于WebGL技术,并使用HTML、CSS、JavaScript等技术进行构建。OpenWebGlobe可以运行在各种平台上,包括桌面浏览器和移动设备。

Three.js是一款基于JavaScript语言开发的WebGL库,可以用来创建各种三维情景。它不仅可以用于创建三维地球视图,还可以用于创建各种动画和游戏。Three.js具有优秀的性能和易用性,并且具有大量的社区和论坛支持。

X3DOM是一款开源的WebGL库,可以用于创建各种三维情景。它基于WebGL和HTML5技术,并使用JavaScript语言进行编写。X3DOM具有良好的性能和易用性,并且支持各种数据源。它可以在各种平台上运行,包括桌面浏览器和移动设备。

还有一个最近比较火的51world,其发布的一系列产品,涵盖新一代行业仿真应用平台,一站式数字孪生开发平台WDP5,AIGC应用等,都是对于智慧孪生非常不错的解决方案。感兴趣的朋友可以了解一下,我感觉其也是游戏级的解决方案。

Q5.有一个关于WebGL的问题没有听的太明白,到后面我好像也没回答对,先暂时记录以下吧

总结

最后稍微记录一下面完的总结:
gis有用但是用的非常少(例如Cesium以前用的多现在用的少,感觉以后Cesium会逐渐淘汰,需要寻求新的技术方向支持,建议我做完最后一年赶快跑路,最好就不要做GIS方向),以后大方向是结合AI。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值