前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >麦吉太文 · 后端开发一面(附答案)

麦吉太文 · 后端开发一面(附答案)

作者头像
崩天的勾玉
发布2021-12-20 16:19:48
7160
发布2021-12-20 16:19:48
举报
文章被收录于专栏:崩天的勾玉崩天的勾玉

麦吉太文 后端开发 一面

这里是公众号崩天的勾玉,题目来自牛客网分享,这里做答案题解

分享作者:川沙妲己 ,来源:牛客网

貌似麦吉太文的面经很少,我可能是全网首发 😊。

以前没有了解过麦吉太文,忘了是在哪里看到的,boss还是脉脉上有提到过这家公司,就去搜了搜,感觉还不错就尝试了一下。

10.17 做的笔试,笔试两道编程,都比较简单,力扣简单水平。

10.25 电话通知面试

10.26 一面

面试官很和蔼,一直笑眯眯的,很nice。问的内容就是纯纯八股文,背就完事了。没有手撕代码,全程大概30min。下面是我记得的一些问题。

开场:

自我介绍

介绍一下项目功能,只说了功能,没有延伸

勾玉:建议延申,引导面试官提问

问个人优势是什么?希望以后在公司干什么方向的?(答:后端)

然后开始八股:

你的项目是 springboot做的为什么用springboot?

勾玉:答springboot优势,主要是简化配置,集成组件方便

aop ioc介绍一下?

勾玉:http://mp.weixin.qq.com/s?__biz=MzU3MDk4MTAyMQ==&mid=2247484131&idx=1&sn=cfeb45100a9e76481d2ea8b6f7b01caf&chksm=fce66d11cb91e4071756ff14fb0c20253ac48a1dcb8487dd2d4d93b3a9d9e0fa3bb01d00a2d0#rd

用过mybatis吗?

说几种熟悉的设计模式?

勾玉:https://www.runoob.com/design-pattern/design-pattern-intro.html

讲一下Mysql索引(说了innodb myisam区别)

勾玉:这里题主不应该答引擎的区别,而是应该回答聚簇与非聚簇、联合索引、覆盖索引等等的区别和作用,还可以引申到b树、b+树

你的项目里用索引了吗?

你的项目里存了多少数据?如果让你存1亿条数据你怎么办?(答:分库分表)

分库分表会遇到什么问题?怎么解决?(答:分布式id问题 用redis,雪花算法解决)

如果你发现查询很慢怎么办?(答:explain)

慢sql定位:配置slow_query_log和long_query_time,然后explain分析,关注type和extra,explain用于查看sql语句执行计划; 当MySQL单表记录数过大时,数据库的CRUD性能会明显下降,一些常见的优化措施如下:

  1. 限定数据的范围: 务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历史的时候,我们可以控制在一个月的范围内。;
  2. 读/写分离: 经典的数据库拆分方案,主库负责写,从库负责读;
  3. 缓存: 使用MySQL的缓存,另外对重量级、更新少的数据可以考虑使用应用级别的缓存。

还有就是通过分库分表的方式进行优化,主要有垂直分表和水平分表。

说说jvm?(说了内存区域和垃圾回收)

参考:八股文之【JVM内存结构】 八股文之【JVM垃圾回收】

平时用jdk哪个版本?

勾玉:8或者11,介绍区别

在浏览器中输⼊url地址 ->>会发生什么过程?

勾玉:大体分为构建请求、传输过去、服务器构建响应、传输回来、浏览器渲染五步。 构建请求 应用层进行DNS解析,通过DNS将域名解析成IP地址。在解析过程中,按照浏览器缓存系统缓存路由器缓存ISP(运营商)DNS缓存根域名服务器顶级域名服务器主域名服务器的顺序,逐步读取缓存,直到拿到IP地址。然后在应用层构建HTTP请求报文 传输 传输层建立TCP连接,三次握手。然后网络层IP协议来选择路线,将数据段segment装入数据包packet,填充包头,主要就是添加源和目的IP地址,然后发送数据。在数据传输的过程中,IP协议负责选择传送的路线,称为路由功能。数据链路层实现网络相邻结点间可靠的数据通信,物理层将数据转换成电子、光学或微波信号进行传输 服务器接收到这个比特流,把比特流转换成帧格式,上传到数据链路层,服务器发现数据帧中的目的MAC地址与本网卡的MAC地址相同,服务器拆除数据链路层的封装后,把数据包上传到网络层。服务器的网络层比较数据包中的目的IP地址,发现与本机的IP地址相同,服务器拆除网络层的封装后,把数据分段上传到传输层。传输层对数据分段进行确认、排序、重组,确保数据传输的可靠性。数据最后被传到服务器的应用层 HTTP服务器,如nginx通过反向代理,将其定位到服务器实际的端口位置,如8080。比如,8080端口对应的是一个NodeJS服务,生成响应报文 接着,通过传输层、网络层、数据链路层的层层封装,最终将响应报文封装成二进制比特流,并转换成其他信号,如电信号到网络中传输 渲染 客户机接受到二进制比特流之后,把比特流转换成帧格式,上传到数据链路层,客户机发现数据帧中的目的MAC地址与本网卡的MAC地址相同,拆除数据链路层的封装后,把数据包上传到网络层。网络层比较数据包中的目的IP地址,发现与本机的IP地址相同,拆除网络层的封装后,把数据分段上传到传输层。传输层对数据分段进行确认、排序、重组,确保数据传输的可靠性。数据最后被传到应用层。 浏览器对html、css、js、图片等资源进行渲染

反问:一共几轮面试?一共两轮

总结:面试官人很好,最后还跟我说感谢参加面试,感动。也没有深问技术,就是基础的八股文。不过公司规模比较小我估计也不会招太多人吧。不知道有没有机会二面。

11.9号凌晨两点收到感谢信,也算预料当中吧。

ps感谢信写得很真挚,各种祝福各种夸,不过还是凉凉

  • 题目分享自牛客网用户
  • 题解为公众号【崩天的勾玉】所写,欢迎大家关注我,持续更新~
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 崩天的勾玉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 麦吉太文 后端开发 一面
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档