No.10 滴滴、华为、蓝色光标、人工智能研究院、电视家面经整理(中1-web框架篇)

简介: No.10 滴滴、华为、蓝色光标、人工智能研究院、电视家面经整理(中1-web框架篇)

640.png

作者Tips:毕业近两年时间自己主要是做golang web后端开发工作,接触到的框架也是gin gorm居多,所以在框架准备方面,读者可根据自己的项目背景做合理的准备。

gin,gorm框架


问题1.你们项目的架构是什么?基于什么框架?

答:项目B/S架构,用到gin,gorm框架。        


问题2.谈谈B/S架构

答:B/S架构(Browser/Server)是指浏览器/服务器架构是一种分布式计算架构,它将应用程序的用户界面数据存储分离用户界面运行在客户端的浏览器上,数据存储在服务器端,这样就可以更加高效地管理数据,提高系统的可扩展性。

B/S架构优点1.便于维护,只需要在服务器端进行修改就可以更新整个系统;2.可以跨平台,只要客户端支持浏览器,就可以访问系统;3.可以支持多用户访问,可以同时支持多个用户访问系统。

B/S架构缺点1.客户端依赖于网络,如果网络不稳定,就会影响使用体验;2.安全性较差,由于数据传输是通过网络进行的,因此容易受到攻击;3.性能受限,由于客户端和服务器端的数据传输是通过网络进行的,因此会受到带宽的限制。


问题3.gin的架构设计是什么?什么场景下适用于gin框架?你还了解其他框架吗?

答:Gin是一个用Go语言编写的Web框架,它提供了一系列的API可以帮助开发者快速构建Web应用,并且提供了灵活的路由功能,可以帮助开发者快速实现路由规则的配置。此外,Gin还提供了多种实用的功能,比如中间件、模板引擎等,可以帮助开发者更加高效地开发Web应用。追求灵活快速搭建项目适合用gin框架。gin框架相比其他框架相对轻量且高性能,还了解iris,beego框架。


问题4.为什么说gin轻量且高性能?

答:Gin的轻量和高性能主要来源于其精简的架构设计,它将Web应用的核心功能模块化,使得开发者可以根据需要来自由组合这些模块,从而更加高效地实现Web应用的开发,而且Gin使用Go语言开发,可以更好地利用Go语言的高性能特性,从而提高Web应用的性能。


问题5.说说gin,iris,beego框架的优缺点?

答:Gin框架的优点是采用Go语言开发,可以更好地利用Go语言的高性能特性,从而提高Web应用的性能,可扩展性强,简单易用缺点是功能比较单一,没有提供更多的辅助工具。不支持多核心,没有更多的特性,可能会出现资源泄漏的情况。

Iris框架的优点是提供了更多的功能,比如路由守卫、安全验证等,可以帮助开发者更加安全可靠地开发Web应用;缺点是由于提供了更多的功能,可能会导致应用的性能有所下

Beego框架的优点是提供了更多的辅助工具,可以帮助开发者更加快速地完成Web应用的开发;缺点是由于采用了模块化的架构,可能会导致应用的维护和扩展比较困难


问题6.gin框架在什么情况下会出现资源泄漏?

答:一般情况下,Gin框架在使用不当的情况下可能会出现资源泄漏,比如在请求处理过程中分配了大量内存,但是没有及时释放,从而导致系统资源的浪费。例如:在不正确使用请求上下文或者不正确关闭连接池等情况下也会出现资源泄漏的情况。因此,在开发Gin应用时,应该注意资源的管理,避免出现资源泄漏的情况。


问题7.gin框架的路由规则配置有什么特殊之处吗?

答:Gin框架的路由规则配置更加灵活,可以更好地满足开发者的需求。它支持多种路由规则的配置,比如可以指定路由的HTTP方法、路径参数等,从而更加精细地控制Web请求的处理流程。


问题8.iris 和beego不能指定路由的http方法吗?

答:不能,Iris和Beego都不支持指定路由的HTTP方法,只能指定路径参数。但是Gin框架可以指定路由的HTTP方法,从而更加精细地控制Web请求的处理流程。


问题9.gorm框架是什么?

答:Gorm是一个开源的Go语言ORM框架,它支持多种数据库,可以帮助开发者快速构建数据库操作应用,并且提供了灵活的查询功能,可以帮助开发者快速实现数据库操作。此外,Gorm还提供了多种实用的功能,比如自动迁移、模型关联、查询缓存等,可以帮助开发者更加高效地开发数据库应用。


问题11.gorm框架的底层实现你有了解吗?

答:了解。Gorm框架的底层实现是一个叫做sqlx的库,它提供了一系列用于操作数据库的API,可以帮助开发者快速构建数据库操作应用。Gorm框架在sqlx的基础上进行了封装,提供了更加方便的API,从而使得开发者可以更加高效地实现数据库操作


参考资料

1.《B/S架构https://blog.csdn.net/qq_46071165/article/details/1240910482.《Gin框架源码解析https://www.shuzhiduo.com/A/RnJWw68yJq/3.《Go 三款主流框架--Gin Beego Iris 选型对比https://zhuanlan.zhihu.com/p/4270954114.《知识体系之Go面试题https://blog.csdn.net/weixin_36750623/article/details/127050854

相关文章
|
1月前
|
机器学习/深度学习 移动开发 自然语言处理
基于人工智能技术的智能导诊系统源码,SpringBoot作为后端服务的框架,提供快速开发,自动配置和生产级特性
当身体不适却不知该挂哪个科室时,智能导诊系统应运而生。患者只需选择不适部位和症状,系统即可迅速推荐正确科室,避免排错队浪费时间。该系统基于SpringBoot、Redis、MyBatis Plus等技术架构,支持多渠道接入,具备自然语言理解和多输入方式,确保高效精准的导诊体验。无论是线上医疗平台还是大型医院,智能导诊系统均能有效优化就诊流程。
|
3月前
|
人工智能 自然语言处理 搜索推荐
【人工智能】人工智能(AI)、Web 3.0和元宇宙三者联系、应用及未来发展趋势的详细分析
人工智能(AI)、Web 3.0和元宇宙作为当前科技领域的热门话题,它们之间存在着紧密的联系,并在各自领域内展现出广泛的应用和未来的发展趋势。以下是对这三者联系、应用及未来发展趋势的详细分析
68 2
【人工智能】人工智能(AI)、Web 3.0和元宇宙三者联系、应用及未来发展趋势的详细分析
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】常用的人工智能框架、模型、使用方法、应用场景以及代码实例的概述
人工智能(AI)领域涉及众多框架和模型,这些框架和模型为开发人员提供了强大的工具,以构建和训练各种AI应用。以下是一些常用的人工智能框架、模型、使用方法、应用场景以及代码实例的概述。
156 1
|
4月前
|
机器学习/深度学习 人工智能 算法
人工智能伦理框架:构建AI的道德指南针
【7月更文挑战第16天】随着人工智能技术的快速发展,其对社会的深远影响引起了广泛关注。本文探讨了构建人工智能伦理框架的必要性,并提出了一套基于四大原则的伦理指导方针:透明度、公正性、责任归属和隐私保护。文章旨在为AI系统的设计与部署提供道德指南,确保技术进步与人类价值观相协调。
134 3
|
4月前
|
设计模式 人工智能 测试技术
利用人工智能ChatGPT自动生成基于PO的数据驱动测试框架
PO(PageObject)设计模式将某个页面的所有元素对象定位和对元素对象的操作封装成一个 Page 类,并以页面为单位来写测试用例,实现页面对象和测试用例的分离。 数据驱动测试(DDT)是一种方法,其中在数据源的帮助下重复执行相同顺序的测试步骤,以便在验证步骤进行时驱动那些步骤的输入值和/或期望值。
|
5月前
|
人工智能 开发框架 前端开发
探索移动应用开发的未来:从跨平台框架到人工智能集成
【6月更文挑战第20天】随着移动设备的普及,移动应用开发领域不断演进,涌现出多种创新技术和工具。本文将深入探讨跨平台开发框架的兴起、人工智能在移动应用中的集成以及未来移动操作系统的发展趋势。我们将分析Flutter和React Native等流行框架如何简化开发流程,同时考察AI技术如何提升用户体验。此外,文章还将预测移动操作系统的发展方向,为开发者提供前瞻性的见解和建议。
80 3
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
移动应用开发的未来趋势:跨平台框架与人工智能的融合
在数字化时代,移动应用开发领域正经历着前所未有的变革。本文将探讨移动应用开发的新动向,特别是跨平台框架的兴起和人工智能技术的整合,以及它们如何重塑开发者的工作方式和用户的互动体验。通过分析当前市场数据、技术发展趋势及案例研究,我们将揭示这些创新如何推动移动应用向更高效、更智能的方向发展。
113 0
|
4月前
|
机器学习/深度学习 人工智能 搜索推荐
移动应用开发的未来趋势:跨平台框架与人工智能的融合
【7月更文挑战第11天】随着移动设备的普及,移动应用开发领域正经历着前所未有的变革。本文将深入探讨当前移动应用开发的新趋势,特别关注跨平台框架和人工智能技术的结合如何推动行业发展。我们将分析Flutter、React Native等跨平台框架的优势,以及它们如何简化开发流程和降低成本。同时,我们也将讨论人工智能在移动应用中的集成,包括智能助手、个性化服务和自动化测试等方面。通过这些技术的应用案例,我们将展示未来移动应用开发的潜力和挑战。
|
5月前
|
机器学习/深度学习 人工智能 Apache
人工智能平台PAI操作报错合集之alink任务可以在本地运行,上传到flink web运行就报错,如何解决
阿里云人工智能平台PAI (Platform for Artificial Intelligence) 是阿里云推出的一套全面、易用的机器学习和深度学习平台,旨在帮助企业、开发者和数据科学家快速构建、训练、部署和管理人工智能模型。在使用阿里云人工智能平台PAI进行操作时,可能会遇到各种类型的错误。以下列举了一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
移动开发 前端开发 JavaScript
WebPack面试题总结(1),2024华为Web前端面试真题
WebPack面试题总结(1),2024华为Web前端面试真题