美团网面试回顾

本贴最后更新于 3036 天前,其中的信息可能已经东海扬尘
前几天写了篇面试京东的总结,浏览量比较多,评论也很多,还被黑客派放到了优选里面,深受鼓舞,决定再写一篇,记录面试美团的过程.

#### 0. 前奏
我才工作一年哎,很多大的互联网公司都不愿意招这种经验比较少的人.bat社招基本都是3年以上工作经验.我的简历都过不了.二线互联网公司也是,对我来说,简历关比较难过.美团是我在boss直聘上联系的.我就专门挑技术负责人发的招聘信息跟他联系(hr不懂技术,筛简历不太靠谱),搞技术的一看就知道咋回事,适不适合,最直接的做法.我们在线简单的聊了一会之后他就让hr跟我联系安排面试.后来hr打电话来,约到了第二天的上午十点面试.

早上七点多起来,准备了一下,整理了思绪就出门了.因为比较看重美团,很想进,所以有点小紧张.路上我告诫自己,不要紧张,正常发挥就行.不要看的太在意.通过这么多次面试,现在临场感确实好了很多,不再紧张了.语言表达能力有提高,感觉面试的过程对自己提升也是有很大帮助的.坐到望京站之后要换公交了,望京研发园那里没有地铁直达,不过地铁站出来后,看到了美团网的大巴,直接坐上去了,反正没有查,哈哈,装作美团网的员工,一本正经的坐到了终点站.美团是租了一整栋楼来办公,在科创大厦c座,一楼有健身房,环境还不错.唯一的不足是没有自己的食堂,楼下的食堂是公共的,唯一不如京东的地方(前几天也拿了京东的offer).其他细节不讲了.开始面试吧哈哈.

#### 1. 一面
一面来的面试官看起来比较年轻,应该不是很资深的这种.进来的时候看见他拿了厚厚一叠白纸,心想,糟了,又得考算法了.心里一紧.哈哈,我的算法一般般吧,算法每次都是给我减分的而不是加分项.

开始第一个问题就是数据库的问题,他问我数据库引擎的东西知道多少,那我就讲了innodb和myisam这两种存储引擎,区别的话那就从b+树说起再扯到磁盘读取,每次的磁盘io耗时情况,b+树的节点因子,我还说b+树的高度都不超过4层,每次的磁盘io很耗时等等,and myisam是非聚集的索引,innodb是聚集索引,这个我之前的博客里专门有对比过,索引的实现原理也有,自认为这部分讲的比较全面吧.但是他还是不太满意 ,问我还有没有其他区别.我确实也想不起来了,他最后就说了行锁和表锁,原来他要的答案是这个,这点我确实不是很了解.不过不影响大体,我说的很多知识点都比较深入,复合索引这些也讲了,面试官也很认真的听,这个问题就这么过了.

然后让我写个sql语句,一张用户表,找出每个城市有多少人,这个一看太简单了吧,`select count(id) as num from user group by city_id`,马上就写出来了,这次美团问我的sql题都很简单.接着一个sql语句是让我删除user表中的重复数据,只保留一条,这个比刚才那个稍微难一点,我的想法是先根据有重复数据的那个字段分组,然后找出id,再用not in去删除,这样的话大数据量有性能问题,不过面试官没说数据量有多大,那我姑且就用这种最简单的方式.其实好点的办法是用not exists,这个性能好点,不会走全表扫描.总的来说,两道sql都很简单.

接着出了一个题,内存限制5m,文件有50m,存的都是整数,让我求出前10个最大的数.
我的第一反应是堆排序,一般这种题用堆排序都能解决.我说了自己的思路.面试官说是对的,还有其他办法吗,我想了好久,没想到其他办法,`一度想起用hashmap,但是一些细节没想好`,大家有啥其他办法吗,可以说说.

又是一道算法题,让我写个快速排序,我就在白板上写了起来,好久没看快速排序,刚开始有点手抖....最后大概写出来了,一些细节上还有问题,不过白板写代码,能写多么完美,哈哈.你写的很完美,那说明你一定是背过代码的人,不过呢,我也记过快速排序的代码,但还是写的不太完善,我这个渣渣,哈哈.

一面大概持续了一个小时,其他问题记不起来了,以后想起再补充.

#### 2. 二面
二面的面试官好高,应该有1.9m,他说他是网易微博出来的.先让我做个自我介绍,大概说了两分钟.完了面试官问我你们第一面聊了啥,我就说聊了数据库/算法这些东西.他说那好,我就问些java基础方面的东西.第一个就问我hashmap了解吗,哈哈,这个嘛,当然了解,源码我看了好几遍,美团点评技术团队博客里有一篇对hashmap讲的很深入,我也看完了,并且基本理解了.所以我就从hash算法开始讲起,怎么样减少hash冲突,hashmap里主要用了`高低位运算`和`取模运算`(用了`&`而不是简单的`/`,性能考虑),再讲hashmap初始化的过程,`capacity`,`loadFator`代表的意思,`resize`触发的条件等等,我基本把我看过理解的知识点都讲了一遍,面试官一直点头,看到面试官比较满意,我心里终于放松了一下,开头还不错

接着问,都说hashmap是线程不安全的,那你觉得为啥不安全,能详细说下吗?这个嘛,知道一些,我说比如有1000线程同时执行put操作,这时候会死循环,为什么呢,因为`capacity`超过`loadFator`的时候,要执行一次resize操作,这时候每个桶中的链表在多线程的情况下next会指向head,构成了一个环,一直处于死循环的状态.面试官听完很满意.其实我可以引导到`concurrentHashMap`的,可能我话比较少,他没问我也就没多说.

`StringBuilder,StringBuffer`的区别,这是很常见的面试题了,我也只是说了大家都知道的那些区别,深入到底层一点的内存如何操作,我也不知道,准备过几天去补上这块.答得中规中矩.

ArrayList的扩容过程,我说了新开辟一片新的空间,把旧的值拷贝过去,再加入新的元素,感觉大家都知道...

再问我数据库优化方面的一些心得,这个我之前的博客里有总结过一些,大体方面就是
1. 合理设计数据库结构,尽量减少磁盘空间varchar, char,tinyint,int,timestamp,datetime这些字段该什么时候用,能用整数表示的字段尽量不要用字符型等等这些
2. 根据业务规则设置合理的索引,要设置的字段过多,可以考虑用复合索引,很多问题都可以通过这种方式解决.顺便讲了一下复合索引和最左前缀原则..拓展话题..
3. 实在数据量大的话,考虑分库分表分区,水平切分,垂直切分都讲了
4. sql优化方面.我讲了如何写sql避免全表扫描,比如存在null的列不要用索引,避免用in,多用between and, not exist,去掉多余的括号,减少运算,去掉重复变量等等.这个根据自己的积累说就行了,知识量很大,不可能说全.

他说他是网易微博的,之前也是做社区类型的,看我做的这个`创业人脉圈`也是社区,就问一些细节.
首先我简历上写了消息列表的优化,他就问这个,我说了我们的方案,就是每次加载消息列表的时候都需要发消息人的头像和最后一句话的内容,这些都从数据库查询的话效果很差,联系人几千人的时候那基本要好几秒,关联的表比较多,我们就用了redis,redis中维护这么一个列表,每次发送消息都更新这个列表,进入消息列表查询的时候直接读取,这样速度就上去了.
然后问我微博里的一个场景,一个有几千万粉丝的大v,发一条消息,如何让这么多的粉丝看到,这里说的不清楚,我理解成了如何保证几千万粉丝都来查询的时候保证性能和稳定性,所以我傻乎乎的说了用缓存,搞个集群,前面设个负载均衡..这种大家都知道的方案.但是最后他的意思如何把消息推给粉丝,他说可以判断在线人数,把消息主动推送给在线人,其他人等上线之后再推.如果一下子推给所有粉丝,那是吃不消的,而且有很多僵尸粉,不合理.哦.这个意思,我没答到点子上.没太理解清意思.他说这个没关系,没答上来不影响面试.看你做过社区就随便问问的.

当多表关联查询很慢的时候,有什么办法加速查询..?
这个我想到的办法就是加合理的索引这样子,面试官说这样数据量上千万的时候还是慢,他说了一种思路,进行多次单表查询,再程序中合并结果.这种思路我也听过,但是没说上来,不知道实际用这种方法情况如何.

我简历上写了用过Spring boot,面试官就问这个跟spring有什么不同,我说了下自己的理解,主要是让我省掉了繁琐的配置,让我们可以专注于业务逻辑开发.

gradle,你们为啥要用gradle,跟maven相比有啥好处,主要是语法糖更强大,项目配置部署的脚本能力更强.具体的自己google吧.哈哈

线上问题排查,这部分感觉必问.我先详细解释了top命令,打印出来的每行什么意思,如何打印dump文件,内存快照这些内容都说了,有看过相关的资料.答得还可以

最后又是算法,给我一个题:一瓶啤酒2元钱,2个空瓶能换1瓶,4个瓶盖能换一瓶,现在有100元,我能买到多少瓶啤酒.
大家可以想象怎么做,我想的就是递归的思路.大概说了一下思路.因为已经12点了,他就没让写代码.我说完思路,他就让我下午来面三面.早上的面试结束了.

这时候也中午了,就跟在美团工作的朋友一起吃午饭了.三面安排在下午两点.

#### 3. 三面
三面照例先是让我自我介绍.我就说了个人的情况,在公司做的项目,个人技术方向这些东西.然后就开始问技术了.

我之前听在美团工作的朋友说,三面都是部门经理,一般情况下技术问的不多,都是聊聊天,看一下你的态度,性格什么的是不是适合团队.我也以为比较轻松...结果我太天真了.面试官上来全是问技术的.

了解http吗,header的大小有多大,有没有一个大概的数字.我说了大约4k吧,接着我就说了http头里的一些东西,比如,`user-agent`,`refere`,`host`,`cookie`,`session`等,后面又扯到了浏览器缓存,他就问我浏览器缓存在http header上有什么体现,我不要缓存呢?我就说了`cache-control: no cache`就可以了,我接着拓展了一下,说了`expires`, `Etag`这些东西,再说说浏览器缓存的工作原理,这部分之前看过,能拓展出来.

让我解释浏览器同源策略,这个还好,举个例子说明了一下,主要是浏览器为了保证安全.那么就有跨域问题,你怎么解决,我就说jsonp, http header里处理都可以,服务端处理就是`access-control-allow-origin:*`,用`*`可能不太安全,可以写成自己限定的几个域名即可.

让我说出前端优化的常见策略,我大概说了这么多.
1. 减少http请求个数,合并js,css代码(我们把js会合一个文件)
2. 静态资源cdn加速
3. 反向代理设置缓存,提高响应速度
4. 使用浏览器缓存,配置`Etag`,`Expires`http头信息
5. 避免重定向

我说完,针对我的回答,他提出了这么几个问题
>* 合成一个文件,文件太大的时候没有影响吗
这个问题,我们现在确实是合成了一个,但是我们项目小,还没出现问题,对于大型项目考虑合成多个比较好,不过我们场景还用不到.
>* cdn为什么能提高速度
因为这些静态资源会部署在网络运营商的网络节点上,请求的时候根据用户网络选择最近的节点去加载资源,路由选择的过程.
>* 浏览器缓存是存在哪里,304,not modify的时候,资源是哪里的
当然是浏览器端缓存
>* 浏览器对http并发数的限制是怎么样的,一般都是多少,我说了十几个吧
这里我说多了,那时候没想起具体是多少个,只记得没那么多,其实每种浏览器不一样,但是都不会超过十个.

我怎么感觉三面问的东西偏前端了....

还问我,还有其他方法吗,我没想起来了,他就说知道gzip吗,哦...原来是这个,我知道一些,他就说怎么配,我就说在nginx里,`gzip:on`就行.这部分就问完了

问了一道sql,和一面考的差不多一种类型,就是求重复数据个数,排序取前n个这种题.没啥难度.用group by, limit, count这些就够了,复杂点就嵌套个子查询.很快就写出来了.

再又是数据库索引相关的提问,索引原理,如何设置索引,怎么看待索引,sql优化方面的事情.这部分答得可以.

线上问题排查也问了,感觉这块必问..

知道`SOA`吗,哇,这是考架构的东西啊,我的第一反应是要给我定级了,问一些拔高的东西

我就说这是面向服务架构,他让我解释服务和微服务的区别,举例子,怎么微才是微,服务怎么拆分,我就说了些我的理解,我举例说,比如我们微信公众号有发模板消息的需求,需求是千奇百怪的,有时候是批量发送,延时很多,每个业务自己发的话很容易出现问题,那么我们就考虑把这个单一功能做成服务.用户定义好发送规则,就调用这个服务来发送,保证服务稳定性,还有一定的解耦作用..通过docker去部署这样的微服务.服务之后通过rpc去调用.我把我知道的都说了.

那你知道常见的rpc框架吗,通信机制是怎么样的,我就说了阿里的dubbo,机制的话,我说了比较多web services的东西,我说早期的rpc框架`web services`也算是一种,说了一下`wsdl`和`soap`,dubbo的不太了解,简单的说了一下,还好他没有追着细问.

如何设计一个web框架?
这部分属于发散思维,我感觉我答得一般,我就主要说了首页要处理协议,通讯协议的处理,编码,字符串过滤,拦截器这些东西,再者就是实现类似loc的东西....说了一些,我承认这部分说的不好...

最后问我一道算法,吓我一跳,你猜问了什么,他竟然问了`kmeans`算法,这是数据挖掘里的最简单的算法,但是一般人也不会去学,面试的时候问绝对是比较牛逼的话题.让我说说思路,并在白板上演示一下.这部分的话,我之前大学有选修过数据挖掘,还记得一点,慢慢就想起来思路了(感觉当年修了这门课).
最后让我写出伪代码,不要细节,大概思路流程表达清楚就行,最后还是写出来了.坚持好重要,中途一度没有信息,我以为自己要挂了,但是咬紧牙关,最后还是写出来了,相信自己真重要....

这个说完,面试官就对我比较满意了,压力小了很多.再加上之前http部分说的也行,我的感觉慢慢好起来了,要通过了的节奏.

到这里基本就面完了,面试官让我说说自己的学的技术或者有什么想问他的,我就先说了自己看过的书,一些知识点`深入理解java虚拟机`,`java并发编程的艺术`这些书.然后就问他一些问题,关于项目组的情况,美团的工程师文化,进来能接触到的技术,分工太细会不会接触到的技术比较单一,如何看待和其他几家的竞争关系等等,这部分也没啥特别的

最后问了我的发展方向,我说我想在数据库和中间件方面有深入的发展,对这些比较感兴趣,还问了我的期望薪资.这时候感觉已经面试通过了

面完感觉还可以,面试官说你等一下,让hr跟你聊聊.过了一会hr就来跟我聊了
#### 4. HR面
hr先问我感觉面试情况怎么样,我说我觉得挺不错,很多都答上来了,我比较满意了,hr接着说刚跟面试官沟通了一下,面试情况确实不错,我们现在来沟通一下你的基本情况.先问我为啥离职,我就说离家近什么的.再问之前做过什么项目,对公司有什么期待,发展方向是什么的,最近拿了几个offer,回答中规中矩吧
offer我就说了京东和神州专车,最近拿到了他们的offer,神州催着让我回复,你们能不能给我一个信号能不能过什么的.hr说可以,今天晚点会通知你面试结果.offer细节可能要等两天时间.大概就聊完了

晚上的时候hr打电话来,说通过啦.美团的面试到此结束了.

总结:
>* 前期的准备很重要,为了面试我也准备了好久,目前为止的面试都很顺利,成功率很高.来北京面试了四家,三家都已经拿到offer了.
>* 多提高自己的语言表达能力,多主动的表达一些自己的东西,不要每次都让面试官挖掘
>* 面试是实力加运气,我感觉我这次运气比较好.问题也没有特别难
>* 平时多学习,努力的人运气不会太差
>* 一定要相信自己,坚持,算法想不出来的时候再加把劲,说不定就想出来了,就算想不出来完整的,把自己的思考过程表达出来,思路清晰一点,而不是只是说我不会,这样面试官也没法接招.
>* 数据库索引,主从复制,事务,优化,jvm调优,感觉这些事必问的了.需要面试的同学可以专项准备一下,我都是每个专题专项复习的.都记了博客,方便查询

----
才工作了一年的渣渣,想面试bat都没有机会,简历都被刷掉了,哎,继续努力~
over~
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • guobing
    作者

    想去美团~

  • 其他回帖
  • tzr

    楼主我想问下你面试的时候有带一只录音笔录下整个过程吗,如果没有录音笔,那我好羡慕你的记忆力,真棒。

    1 回复
  • junze

    感谢分享 涨姿势了 我是 php 党 面试也经常问 MySQL 算法 HTTP NoSQL 这些

  • zonghua

    感觉博主很厉害的样子

  • 查看全部回帖
guobing
会当凌绝顶,一览众山小 北京

推荐标签 标签

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3454 回帖 • 189 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    27 引用 • 225 回帖 • 163 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    123 引用 • 74 回帖 • 2 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    692 引用 • 535 回帖
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖 • 2 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 667 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23014 引用 • 92572 回帖
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 4 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 216 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 440 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    492 引用 • 926 回帖
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 1 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 253 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 724 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖 • 1 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    265 引用 • 666 回帖 • 1 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 772 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 538 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 401 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    51 引用 • 25 回帖
  • 反馈

    Communication channel for makers and users.

    123 引用 • 913 回帖 • 250 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    93 引用 • 113 回帖
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 584 关注