如何高效地准备技术面试?

如何高效地准备技术面试?

刚开始参加工做的时候,我对面试老是很恐惧,既担忧简历没法经过初筛,也担忧即便简历经过筛选,由于面试经验很少以及基础知识不扎实而致使发挥很差。我刚开始拿着普通的简历(专业不是计算机,做品也没多少)也获得了一线大厂的面试机会,可是由于根本没有准备,也不知道怎么准备。天然地,那次面试我表现得很差,也没有获得 Offer。
前端

恐惧也使我不想浪费时间去面试不一样类型的公司。我当初并不知道对比其余求职者,本身的优点和劣势在哪里,也不知道如何去准备面试,面试官看重的是哪些方面,更不知道本身到底值多少钱。如今回过头看,我以为当初只是在欺骗本身,我真正担忧的是即便本身认真准备简历和面试也对结果毫无影响,更不敢去想若是放弃某个 Offer,找不到其余工做怎么办。面试

工做了几年,当我有了愈来愈多的面试官的经验以后,我愈来愈发现认真准备简历和面试是很是重要的,由于毫无准备就来面试的求职者真的太多了。并且互联网公司招聘到合适的工程师实在很是难,有计算机基础知识,有项目经验,愿意学习并且愿意来这家公司,实在很差找。因此只要求职者能证实本身有必定的计算机水平而且愿意努力,市场上仍是有很是多机会的。算法

这篇文章我把这几年做为面试者和面试官身份的的经验給你们,但愿你们能够从中学到一些面试的技巧,找到心仪的工做。数据库

1. 分析阶段

1.1 公司须要怎样的员工

我很喜欢 Google 前 CEO 施密特分享的一个故事,他刚到 Google 的时候,Google 还只是个小的创业公司。他一开始觉得 Google 和其余公司没什么两样,直到有一个周五,拉里佩奇在用谷歌搜索一些关键字的时候,他发现出现了一些不相干的广告推荐(这个状况咱们如今在国内最大的搜索引擎也常常看到)。施密特觉得接下来就是开几个会议,而后分到具体的工程师手上解决。可是拉里佩奇没有这么作,他用纸条写下”These Ads Suck!“,附上相关的截图贴在布告栏上就回家了。接下来的 72 小时完全改变了施密特的认知。在周一凌晨 5点,有几位并非负责广告业务的工程师发来一份邮件,从头至尾阐述了这个问题产生的缘由,他们的解决方案,以及这个计划对公司有什么影响。他们从公司的角度去思考,自愿自发地用周末的时间去解决并不属于本身范畴的问题。django

这样的员工我想就是每一个公司都须要的:编程

  • 不错的技术能力,工做认真负责,能够及时解决问题,能给公司带来实际效益后端

  • 出色的团队合做精神,能与团队一块儿成长设计模式

  • 愿意自我学习,投资本身数组

因此求职者的简历与面试中必须能体现出这几点品质。举个例子,要在简历或者面试中展示本身喜欢学习计算机知识,与其笼统地说:缓存

热爱计算机,喜欢学习计算机系统的知识。

能够改成:

喜欢阅读计算机系统的书籍,完成《深刻理解计算机系统》80% 以上的习题。并在博客(连接)分享学到的知识。

面试官在筛选简历看到的时候就会天然地打开博客,进一步地了解求职者(恭喜你,击败了其余 80% 的求职者)。另外,一些软技能,例如团队合做能力也是面试官很是注重的一点,面试过程当中若是被问到有没有带领团队的经验,即便没有也不要简单地回答没有,能够这样回答:

“我在以往的项目中与团队成员都能融洽相处,而且每月都会作按期的技术分享互相学习,虽然没有带团队的机会,可是相信本身可以作到。”

固然这些回答不可能一会儿能想到,面试方面的技巧必须多练。重要的是在职期间按期找几家公司面试练练手,一方面能知道市场的行情,找到其余更好工做机会,另外一方面自己本身就有工做,等于手拿一个 Offer,面试的时候就能比较放松。未雨绸缪对于一位工程师尤其重要。等到离职再找工做就比较晚了。

1.2 员工须要怎样的公司

找新工做以前,求职者须要先认真思考下几个问题,一份工做中你最看重的是哪些方面?

  • 薪酬

  • 公司名气与规模

  • 公司福利/工做环境 / 地点

  • 工做方向(假如你要从技术转向管理,这个岗位提供这样的可能吗?)

  • 工程师文化

  • 我的成长

有时候薪酬远不及公司名气与规模 / 工程师文化重要,有的公司能汇集一批优秀的工程师,那么只要认真待一两年,进步速度远比其余地方快,之后跳槽也会更加容易。有的厂则能提供大量隐性的福利(国内能够参考腾讯)。求职者须要真正地去思考本身想要去怎么样的公司。工做和找男女友同样,找你喜欢的,而不是找你能找到的。前几家公司的选择对你的职业规划会有很大的影响,大公司仍是小公司,和你我的的性格或者职业规划有直接的关系:

大公司
  • 优点

  • 入职薪酬较高,每一年固定调薪,员工福利例以下午茶,文娱活动,年假都有保证。

  • 一般都有大牛,并且工程师比较多,总能遇到一些志同道合的朋友。

  • 跳槽到小公司比较容易,岗位也能获得提高。

  • 劣势

  • 刚进去的时候接手的可能都是比较枯燥的小项目。

  • 可能须要维护几年前的没有文档没有测试的项目。(其实也能学习到不少)

  • 比较容易安逸,缺少学习的动力。

小公司
  • 优点

  • 相对来讲,条条框框没那么多,偶尔迟到请假没什么关系。

  • 什么都能学到,从开发到运维到测试。

  • 项目能够加上本身的建议和想法,比较有成就感。

  • 能直接向老板汇报,升职速度比较快。

  • 万一上市了呢?(中国天天有一万家公司注册,上市的嘛…)

  • 劣势

  • 入职薪酬比较低,员工福利嘛,不能保证。

  • 有大牛的可能比较少,除非你事先知道(因此面试问问题很是重要)。

  • 加班压力一般比较大,并且公司不必定会根据你的加班时间就涨薪。

  • 跳槽到大公司比较难,除非你有很是好的简历与能力。

在国内来讲,除了一些很 geek 的小公司,通常的小公司并无那么自由,加班也可能不少。全部我以为一开始选择大公司每每是不错的选择,以后跳槽的选择范围也更多。了解本身的想法以后,求职者能够根据本身的着重点,筛选公司,修改简历,复习常见面试题以及准备向面试官提问的问题。 最后这部分的提问很是重要,我经常期待求职者在面试结束后能问一些问题,可是不少求职者却没有,一方面怕面试官会以为本身有不少要求,留下的印象很差,另外一方面根本没有想好要问什么。这点我以为很是不明智,公司和员工就是互相选择的,必定要多提问题,了解公司的文化以及岗位的职责。才不至于刚入职就由于不适应而要离开。这点咱们在面试阶段会介绍。

1.3 了解本身的优点

仔细分析本身的优点是什么,而后在简历以及面试过程当中突出,优点能够从这几点入手,后面是面试官的理解:

  • 大厂或者大型项目的经验 (能解决项目广泛出现的问题,技术水平靠谱)

  • 做为主要参与者得过比赛名次(聪明,敢于尝试)

  • 毕业于不错的学校(学习努力,认真)

  • 维护优秀的开源项目 (懂得团队协做,喜欢学习,愿意了解项目原理)

  • 发表过论文或者优秀的博客文章(研究能力强,分析能力强)

  • 数据结构和算法基础好,Leetcode 中等难度都能 bug free(基础不错,即便项目经验少,培养起来也简单)

其中,必须根据本身的目标岗位强调本身的优点。例如,若是求职者要面试的是开发工程师,就应该突出项目经验以及对框架的熟悉程度,若是面试的是研究岗位,那么论文与文章的数量就比较重要。

2. 准备阶段

2.1 随时都在准备

随时准备并非鼓励频繁地跳槽,而是要有随时有跳出舒服圈的准备,也许求职者已经很满意如今的工做,薪酬,以为习惯并且安逸。不过若是公司忽然倒闭,或者部门被裁减,还能找到这样或者更好的工做吗?我建议各位,每两三个月能够去面试一两家公司,由于你已经有不错的工做了,因此能够带着轻松的心态去面试,同时也能够增长面试的经验。

2.2 技术知识

  • 基础知识

    基础知识主要包括:算法基础,编程语言基础,计算机网络,操做系统,数据库。

  1. 算法基础

    基础的算法题,大厂都会考。包括基本数据结构了解/实现,例如堆,栈,链表,队列,二叉树。刷算法题的时候,要把每道题都当成面试题同样按步骤完成,完成一题以后总结经验。这样遇到变形题也迎刃而解。这里我推荐 Leetcode 以及 Hackerrank。这里说一点题外话,可能有的同窗有疑问,以为这些日常工做都用不到,为何还要花那么多时间在上面。其实不是的,第一,日常工做都能用到,不管从二分查找到复杂一点的前缀树。开发的过程当中若是你知道这些算法/数据结构,就能根据本身的业务来选择最适合的算法/数据结构,减小整个项目的复杂度。 第二,数据结构和算法锻炼的是思惟,刷算法题的时候,慢慢会学习到一些有趣的,巧妙的方法。它们能扩展你的编程时思考的范围。同时也要求你考虑到各类不一样的边界状况。即便你不许备换工做,我也建议天天都刷一道算法题,日积月累,一年下来你的算法基础必定能比同龄人高出很多。并且当你真正理解算法题的知识以后,写程序 debug 和花在 Stackoverflow 的时间就会大大减小,每每知道哪里可能有问题而且能大幅地增长工做效率。

  2. 编程语言基础

    这点根据包括你最熟悉的编程语言的运行机制,实现原理。多线程/多进程基础实现,一些容易犯错的地方,网络上都有很是多资源,能够按需学习。

  3. 计算机网络

    主要考察 TCP/IP 与 HTTP 协议基础,如常见的状态码含义,常见的请求头,响应头,其中隐藏的安全问题,三次握手,四次挥手的原理。TCP 拥堵如何解决等常见问题。能够经过《图解 HTTP》《图解 TCP/IP》来快速入门。

  4. 操做系统

    包括操做系统的内存虚拟化,进程以及线程的基础知识(进程生命周期,进程调度),内核中断机制,线程同步机制,锁,互斥,信号量等。我推荐的是 Operating Systems: Three Easy Pieces(英文版),既学习到操做系统又能学习到英文写做,一箭双雕 :D.

  5. 数据库

    常见的事务隔离等级,Innodb的实现原理,索引类别以及优劣,为何使用B+树结构,如何定位查询的瓶颈以及优化查询,一本《高性能 MySQL》基本就够了。 这样看起来要学习的实在太多,的确,这是大学几年下来的重要课程,因此先经过面试找出本身的弱项而后再进行突击复习,效率会高得多。

2.3 项目经验

  • 公司的过往项目

    国内的技术公司,相对重视项目经验,因此在面试前,曾经参与过的项目须要认真回顾一遍,从技术选型,架构设计(即便是中途加入项目也应该对此有所了解),维护或者实现的功能细节,过程当中遇到的技术难点,学到了什么知识,均可能被问到,必须好好准备。

  • 开源项目

    开源项目可让你和世界上顶级的工程师一块儿工做,学习软件设计以及语言的高级使用方法。同时能让你理解软件是如何运行 / 设计的。

  • 参与较底层/偏向算法或研究的项目

    若是求职者将来想从开发转向研究的岗位,那么就能够阅读一些相关学术论文,写相关的文章分析与工具。

  • 造轮子,实用工具

    从学习的角度来讲,造轮子能够说是最好的方法,不过要给本身一个期限,不能无止境地把时间花费在程序的细节与优化中。知道原理,可以实现就足够了。尝试实现平时经常使用的 Web 服务器,Web 框架开始,有时间的话能够延展到操做系统或者编程语言(我遇到过这样的求职者)。本身写完再看看别人是如何实现的,学习他的优势。其实到最后,你会发现计算机是越学越容易的,若是你不了解同步异步,每每是由于你不知道 Web 服务器是如何实现,不知道系统调用是如何实现的。当你能本身去实现的时候,不少之前的问题也就迎刃而解了。

  • 写论文,分享文章

    如何宣传你的开源项目或者业余项目?写一篇优秀的文章介绍它。同理,要证实你有喜欢计算机,有研究的能力,最好的方法也是写一些优秀的文章以及论文。

2.4 准备简历

简历准备能够参考咱们的另一篇文章如何写一份更好的简历,我筛选过超过千份简历,遇到太多太多千篇一概毫无重点的简历,凡描述都是熟练精通xxx框架,凡我的项目经验都是博客加爬虫。并且面试官都知道,越优秀的求职者,越重视本身的简历。求职者须要从面试官的角度来思考与筛选简历,几个要点是要注意的:

1. 突出优点

简历并非越长越好,最好的简历长度是一到一页半,列出你最优秀的项目经验以及奖项。至于语言或者框架,只是简单接触过的话就不用写上去了。面试官问你有没有学过其余的时候才说出来。(假如你只是学过简单接触过 Go 却写在简历上,却被一些基础问题问倒了,这样反而会给面试官留下很差的印象,他会认为你对简历中的其余你真正熟练的语言也不太了解。)常见的错误写法是:

精通 django 框架,熟悉 Python 语言

能够修改成:

精通 django 框架,是 django 的 Top100 代码贡献者。熟悉 Python 语言,理解 Python 垃圾回收,迭代器,装饰器等经常使用对象的实现原理

多花几分钟的时间,就能在求职者的简历里面脱颖而出了。

2. 给出证实

前期负责先后端API设计,后期负责实时流消息处理应用系统构建和实现

面试官没法知道你作得怎么样,建议根据“发生什么事”,“你作了什么”,“结果怎么样”三个点来修改。同时这里必须出现数据做为参考,例如:

推进团队转用 Graphql 为新的 API 接口规范,从而减小 20% 的日均请求量,并节省了两台服务器资源。后期负责实现使用 RTSP 协议进行实时流消息处理,通过测试与优化,接口请求响应时间平均为 40ms,同时架构了能支持 50万 日活量的缓存服务器与后台服务器。

在项目中作的每个选择必然是有缘由的,并且必然会对项目产生影响。而在简历的项目经验中就是要把你产生最大的影响那部分写上去(删库就不用写了)。若是只是想面试官问到的时候再回答吧,面试的时候紧张,很容易忘记具体的数字以及细节。若是项目经验很少,能够把学校的专业排名(50⁄1000),员工考评(10⁄1000),优秀员工这些指标都加上去。不要以为没有用,这绝对是大多数求职者忽视可是重要的点,这证实了你被学校 / 公司承认,起码比较靠谱。简历中若是既有一些较新的技术(例如 Rust,Go,固然你要真的了解),又有经典的必备的技能,那么就必定可以吸引到面试官的眼球。

3. 其余能力

其余能力就是团队协做能力以及解决问题的能力,若是你已经在开源项目有不错的贡献,那么面试官就不用担忧团队协做能力。至于解决问题的能力,你能够在项目经验中能够列出解决的比较复杂的问题,例如 “解决了服务端同时推送 10万 台设备的的并发与资源占用过多问题”。这样面试官就知道你既有团队协做能力又有解决难题的能力。面试题就不会出那么难了。 其实不少公司在面试的时候都会出一些很是难的题,并不要求面试者必定要解决,而是要看面试者在遇到难题的时候会怎么面对,是思考一下就放弃,是寻求面试官提示,仍是从多个角度去解决问题。若是在简历中已经体现了这一点,那么面试的时候就能略微放松了。

2.5 模拟面试

这个你们可能接触得比较少,若是你准备去面试一家很是喜欢的公司,面试以前,你应该先进行模拟面试,模拟面试的意思是让另一名工程师充当面试官,对你进行面试,而后再把面试过程当中的优势和缺点反馈给你。模拟面试既可让你的朋友当面试官来面试你,也能够去找几家有相似岗位的公司。由于当你原本就没有必定要进该公司的想法,那么心态天然就能放轻松,带着轻松的心态去面试的话更能发挥好,给本身信心,同时也能够问问面试官本身哪里不足,能够增强的。通过总结后,锻炼本身面试的技巧,包括技术的基础,以及如何问问题。当你面试得多了,会发现问题其实都差很少,下次遇到也知道怎么回答了。

3. 面试阶段

当你获得了面试的机会,开始进入重头戏了,不管你的履历如何出众,都不能对面试掉以轻心。我遇过很多简历不错可是面试一塌糊涂的求职者(不少公司都对伪造简历零容忍),结果固然没有录用他们。起码翻转二叉树要会写吧 :D,面试通常会有几轮:

3.1 HR 电话确认

HR 会和你聊下天,确保你了解这个岗位的基本信息。也可能问几个关于你简历的问题,这轮只是考核下你的基础信息是否正确,看看你的谈吐是否正常(相信我,不少求职者若是不看本身的简历,连自我介绍都作不到)这轮放轻松,实话实话就好。

3.2 远程面试(不必定)

这是技术面试的第一轮,可能会经过电话或者视频问一些技术问题,也多是经过把算法题目发在在线文档,而后让你去解决。通常都是算法,数据结构的基础问题。若是遇到难的也不须要担忧,提供解题的思路,即便最后不能 bug free,起码也能向面试官证实你的实力。

3.3 家庭做业(不必定)

这轮并不常见,有的公司会让你实现一个小模块或者小工具。主要考核你实际状况下的开发能力。这点就要靠平时积累了,如何设计 API,使用什么设计模式,都有讲究。维护好的 commit messages 以及文档都很重要。平时多看看开源项目源码就好。Python 的话我推荐看 Requests 源码,经常使用并且简单易懂。

3.4 现场面试
  • 提问

  • 测试用例

  • 思考

  • 阐述

  • 伪代码

  • 代码

  • 检查

面试官会根据简历问一些项目上的问题,例如这个项目为何要这么设计,开发过程当中遇到最大的困难是什么。大厂的话,算法题是跑不掉的,面试官会出几道算法题写在白纸或者白板上。我明白不少求职者不喜欢白板面试,也以为白板面试没什么意义。不过在我面试的求职者中,白板面试能力强的在实际工做中表现得也比较优异。白板面试确实难,不但对于你,对于其余求职者也是。要是你能作到,别人作不到,你就能在众多求职者中突围而出。 简述一下解算法题的几个步骤:

出个经典题目 Two Sum:

Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice.

给出一个整数数组和一个目标数,返回两个索引值,它们对应的数组元素的和等于目标数,只有一个答案。

例子:

提问

这阶段的提问很是重要,由于你要 100% 地了解题目,才能解决题目。不要以为提问得多显得愚蠢,提问得多表明你在思考,没有问题我反而会担忧求职者是否是以前作过这题,或者根本没有思路。

  1. 这是一个有序数组吗? 不是(注意这里有个小陷阱,虽然在Example中给出的是一个有序数组,可是实际题目并没说这是一个有序数组,因此要考虑无序以及为空等边界条件)

  2. 数组能够包含负数吗? 不能够

  3. 若是数组为空或者只包含一个数字,是没有答案吗?对的

  4. 时间复杂度和空间复杂度有限制吗?没有

题目就转变成

一个只包含正整数的无序数组,要求返回两个不一样的数组索引值,它们对应的数组元素的和正好等于目标数,若是数组为空或者只包含一个数字的话没有答案,其余状况有且只有一个答案。

这样就能排除一些边界状况了。而后写测试用例

测试用例

空的,只有一个元素,正序,逆序,正常状况都写下来,面试官会对你考虑到那么多状况而加分。

思考

先想一想会用什么数据结构,链表,哈希表,堆,栈,二叉树,哪一个结构能解决这个问题?若是真的没有思路的话,思考了以后,能够请面试官给点提示,这个其实也是团队合做的一种表现,请求提示不必定面试官就以为你能力不行。

阐述

边思考边向面试官说出你的思路,虽然你的思路可能比较乱。可是不要紧。要大声确定地说出本身的想法,同时能够向面试官提问,比看着题目 10分钟 不知所措要好得多。我面试过几位求职者,虽然他们没有顺利地完成算法题,可是能一直说出本身的思路,给我留下不错的印象。就像我以前说的,有些难题,面试官并非指望你都能答对,只不过想知道你遇到难题是如何思考的,因此阐述本身的想法是很是重要的。

伪代码

时间复杂度为O(n),空间复杂度为O(n)

代码

这题算简单:

检查

把测试用例带进去代码中检查,而后看看哪里可能会有问题,作出修改。

3.5 非技术问题

接下来面试官可能会问一些非技术的问题:

  • Q: 为何选择这家公司?

  • A: 面试以前对起码要浏览过公司的网站,了解公司有什么产品,这样既能够防止遇到皮包公司,或者小做坊欠薪拖薪。

  • Q: 你曾经面临最大的专业挑战是什么?你是怎么打败它的?

  • A: 这个必定要准备好,不能说没什么挑战,没什么挑战表明你没有认真去思考,就算是最简单的增删改查或者前端的动效,背后的原理,网络协议的原理,你都应该去了解。对你在简历中的每个项目,你都应该能说出里面最大的挑战,最有趣的部分是什么,这样面试官才能真正理解你在项目中作了什么,学习到什么。

  • Q: 是什么为何你选择离开你现任公司?你从你上一家公司学到最重要的是什么?

  • A: 大多数求职者不喜欢这个问题,也不知道怎么回答。这个问题你能回答好的话就能拉出距离了。我以为答案其实很简单,大家公司的项目有更好的发展前景/我想挑战本身在这一方面的能力等等。至于说旧公司薪酬过低,工时太长,没前途这些就免了。

  • Q: 你的长期工做目标是什么?

  • A: 这个看我的,转管理的话可能会加一轮问管理方面的问题,转资深工程师的话能够讲下本身打算钻研哪一个方向,大数据,人工智能,区块链均可以。

3.6 求职者提问

这点很是重要,要预防你到了新公司以后,发现公司文化不适合你,再立刻找新工做的话就很差了。

  • Q: 大家新老员工的比例是多少?厉害的工程师有多少?研究生的比例有多少?

  • A: 这个问题其实揭示了公司的文化,若是新员工很是多,公司也不算新的话,那么表明流动率很高,公司文化可能不是很好。第二个问题其实就是问有没有大牛,有多少。有厉害的工程师总比没有要好得多,进步的速度也更快。一个公司若是有比较多优秀的工程师的话,表明是不错的公司。

  • Q: 若是我入职的话,会有入职培训吗?会被分到哪一个项目组,项目组的成员构成是怎样?

  • A: 这个能够了解公司的架构是否是清晰,我的职责划分是否明确。若是面试官回答不了这个问题,或者支支吾吾的话。即便你进去的话可能要兼顾几个项目,维护老项目。这些都要问清楚,你才知道本身大概的工做量有多少。维护旧项目虽然头疼,可是上线压力不大。若是新旧一块儿来,就要考虑本身是否适合这样的工做强度。

  • Q: 我入职的前三个月,要完成什么工做来证实个人能力呢?

  • A: 这个问题其实为下一个问题准备,若是我工做表现优秀的话,公司会不会有对应的奖励?

  • Q: 多久进行一次调薪,工做绩效是如何计算的?是按项目收益,仍是主管决定?

  • A: 这个也是了解公司有没有实施奖励制度,一般回答准备中的都要留个心眼,可能一年都不会调薪。

  • Q: 公司的五险一金是按什么比例缴的,是按最低标准仍是能够本身缴纳更高比例?

  • A: 通常这个会问 HR,若是小公司的话,也能够直接问工程师。五险一金看似没多少,可是每月累积下来就不少了,这个须要和面试官确认。

  • Q: 我今天面试的表现怎样,若是经过以后我还会通过多少轮,怎样的面试流程?

  • A: 首先能够了解本身的不足,积累经验。也能够开始为下一轮复试作准备

4. 总结阶段

一次面试过来,可能筋疲力尽了。回想下本身哪里能够作得更好,简历哪里能够修改的。统计学告诉咱们不要选择第一家面试的公司,多面试几家。不要欺骗本身,认真去思考每家的优势和缺点,和你的好朋友聊聊,寻求他们的建议。若是没有拿到 Offer 也不要紧,重复上面的步骤,继续努力。两年前我连想都不敢想到美国的大公司工做,而如今的我就在为 Google 的面试作准备,就算我如今进不了 Google 又有什么关系呢?我仍是在准备过程当中学到不少知识。我很享受这段时间。相信本身,努力和汗水总会能获得回报的。

做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个个人iOS交流群:810733363。微信:18173184023。无论你是小白仍是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 你们一块儿交流学习成长!但愿帮助开发者少走弯路。

 来源:本文为第三方转载,若有侵权请联系小编删除。 

相关文章
相关标签/搜索