精华内容
下载资源
问答
  • 目录设置中的 字体格式没设置成完全一样的,包括西文字体。很大程度上是因为西文字体不一致,容易忽略。

    目录设置中的 字体格式没设置成完全一样的,包括西文字体。很大程度上是因为西文字体不一致,容易忽略。
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 面试经验小点

    千次阅读 2017-10-15 14:52:09
    作者:南极 ... 来源:知乎 著作权归作者所有。商业转载请联系作者...注:适用于工作到三年有一定经验的Java后端人员,我一共面试了五家公司,收到四个offer,每天跑来跑去也很累,最后的的offer很满意之后就把其他
    作者:南极
    链接:https://www.zhihu.com/question/23858584/answer/150506189
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    注:适用于工作一到三年有一定经验的Java后端人员,我一共面试了五家公司,收到四个offer,每天跑来跑去也很累,最后的的offer很满意之后就把其他的面试和offer都推掉了。入职前把这段时间的一点经验写下来,希望能帮助到跟我境况差不多的兄弟姐妹。

    准备

    机会永远都是留给有准备的人

    当你决定离职之前,你就应该开始为下一份工作做准备了。 那么,该准备什么呢? 我建议是第一是跟语言无关的部分,也就是所谓的基本功。具体也就是我们大学本科里面最头疼的那些东西,数据结构算法,还有一些计算机网络的基本知识。 鉴于这个东西实在很枯燥,我不建议大家去看那些黑皮书,反正我是真的是看不下去啊。 那么问题来了,看什么? 书籍我推荐:大话数据结构。 视频我推荐:小甲鱼的的课程。网易云课堂:数据结构和算法

    首先,书里面的代码虽然是用C语言写的,但我相信语言大家都还是有一点c语言基础的,再者说语言里面很多东西都是通用的。而且正好可以尝试用java再写一遍,这样效果更好。如果不想买书的,可以上网找找pdf版本,找不到我这里也有,不过还是建议买一本。而视频为什么是这个呢?因为小甲鱼就是按照这个书来讲的,配合大话数据结构相得益彰,就是相当于教师加上教材。书里面看不懂的地方都可以好好再听一遍小甲鱼的讲解应该就差不多了。小甲鱼除了讲基本的数据结构,还穿插了很多的经典算法问题的解决方案,最棒的地方是都是c语言写的啊,我们想要现成的都没有,所以跟着看,自己写啦。

    学习完基本的数据结构,就Java的数据结构相关的类实现原理,比如LinkedList,ArrayList,HashMap,TreeMap这一类的。结合api去看,很多你之前不懂得地方会恍然大悟。

    除了数据结构,需要长时间准备还应该有设计模式

    虽然说有23种设计模式,但是我觉得大家掌握最常用和经典的十个左右就差不多了。剩下的大概了解即可。

    书籍我推荐:head first 设计模式大话设计模式 两者随意选一本即可,或者两本对照着看也是可以的。 看的时候记住最重要的一点: 不要光顾着看!不要光顾着看!不要光顾着看!

    比如你学习完了观察者模式,已经大概了解了其实现原理。那么现在合上书本,仔细在你的项目中想一下,哪里是符合观察者模式的应用场景的你又是怎么实现的?如果要改应该怎么改呢? 如果你找到了符合的地方,那么你就把原来的设计用观察者模式重新写下来。 注意,不要随便用在生产上,你现在只是要充分理解这个模式,而和实际结合是最好的学习方式。而当你写完了到底要不要放在生产上,你可以先和你的技术组长说一下,设计模式切记不要生搬硬套

    如果你没有在你的项目中想到合适的应用场景,那么没关系,你就自己想一个区别于书上的例子,自己独立完成。

    每个模式都自己写一遍实现逻辑,估计当你写的时候肯定有不理解的地方,这时候就是你撕开的地方了,到底为什么这么写,这么写好在哪里,完成了时候就已经基本掌握这个模式了。然后还有最后一步,那就是写博客

    不知道大家有没有听过学习的金字塔简单来说,学习的方式不同最后能记住的东西差了很多。

    第一种,“听讲”,这种我们最常用的方式,学习效果最低的,内容只能留下5%。 第二种,通过“阅读”方式学到的内容,可以保留10%。 第三种,用“声音、图片”的方式学习,可以达到20%。 第四种,是“示范”,采用这种学习方式,可以记住30%。 第五种,“小组讨论”,可以记住50%的内容。 第六种,“做中学”或“实际演练”,可以达到75%。 最后一种在金字塔基座位置的学习方式,是“教别人”或者“马上应用”,可以记住90%的学习内容。

    看到这里明白了吧? 写博客就是把你的理解交给别人,是最好的学习方式,而且你把你的博客放在电子简历上,绝对是很棒的加分项。 我的面试官最后跟我说,录用我的原因也有一部分是看了我的博客,觉得我是一个爱好学习的人,在我技术和其他人差不多的情况下,更加愿意给我机会

    简历

    我一开始也忽略了简历的重要性。 随便花了十几分钟填了一个在线模板就开始投递了,结果是可以预料的。都石沉大海。 我们首先要知道一件事情,即使是一家小公司发布一个招聘的职位,那么收到的简历也可能几百个。HR会在这几百个甚至上千个里面选几个出来面试,所以哪怕你技术再好,如果简历不能体现出你的水平,连见到面试官的机会都没有,那怎么能找到理想的工作呢?

    那么问题来了,简历怎么写呢?

    我偷懒用的在线的模板,当然如果你的内容写的不错,问题还是不大的,但是建议还是不要用现成的模板,拉钩的就挺坑,最上面是一张大大的照片还有教育经历也占了很大地方,结果最重要的项目经验要到第二页才能看到。

    简历一般都有几个模块,工作经历,教育经历,项目经验,自我描述,技能评价等等。

    教育经历我就不说了,这个没什么技术含量。

    工作经历

    写上你的上一家公司,从事的职位(java后端开发),如果你在这三年的时间换了两家以上的公司,我建议你还不要都写上,HR是不喜欢那种经常跳槽的,在这个年限,一般最好是一家到两家。这些按照实际情况写就好了,都是死的东西,接下来就要写上你的职责了。

    有的人和我最开始写的一样

    java 后端开发,最多加上一句 负责接口的编写和实现

    这么写和没写一样这么写和没写一样这么写和没写一样

    那应该怎么写呢?

    1、根据业务需求调整数据模型,设计程序接口,实现接口业务逻辑,编写接口文档。 2、根据前端组html及css,编写jsp页面及js脚本。 3、日常版本的发布及紧急回退。 4、处理日常bug和在生产发生的紧急问题。 5、新同事及实习生的业务培训。 6、配合性能测试优化代码和sql。 7、参与新需求评审。

    上面是我后来修改的的,你觉得两者差了多少呢?

    一定要具体,并且分条陈述,作为一个技术岗位,要体现出你的专业素养

    项目经历

    这个千万要写,当然工作也这么久了都会有项目经历,但是也要有一个主次。

    第一个放你最熟悉的,最好是近期的,你从头开始做的项目,你能如数家珍侃侃而谈的哪种。这也是面试官面试的时候主要和你谈的地方,是除了技术问题之外最重要的一块。(后面写面试的时候我会详谈)

    那么项目怎么写呢? 我建议业务写一两句就好,如果你的项目介绍通篇都是满满的业务,那么几乎注定了你的简历不会进入被筛选的范围内。 你想一下,你自己应聘的是什么岗位? 技术岗! 那么你应该写什么? 简单的介绍项目的规模,有多少技术人员,是互联网项目还是企业软件,这些就可以了。 接下来你需要写关于项目技术的那部分。 项目用了什么框架?spring 还是struts2 ,持久化是用的是mybaits还是hibernate等等,有没有使用RPC框架(Dubbo /HSF)?数据库用的是什么?有没有用到Redis? 版本控制工具是svn还是Git,有没有前后端分离?有没有写js ,如果有,你都用到了哪些前端组件, 能写的都列出来,还有项目是这么分层的?有几个子模块,平时发布版本是用的自动化工具吗?(jennkins) ,项目管理用的是什么?(maven)等等,也就是说要让hr第一眼就能看到这是一个有经验的开发人员。 下面是我的一个项目,写的也不是很好,仅供参考。 - 基于阿里云平台和中间件技术研发,应用包括云服务器 ECS,云数据库 RDS,Redis,DRDS对象存储OSS,开放搜索(OpenSearch),企业级分布式应用服务 EDAS(HSF服务框架)等技术。 - 使用maven进行项目管理,根据业务分成多个web子模块,方便开发测试和部署。 - spring +mybaits 框架开发,MySQL分布式数据库。 - 基于OpenSearch 的全平台商品名称搜索,基于redis的商品类目存储。 - 使用cas实行单点登录,shiro 认证、授权、加密和会话管理。 - poi ,jxl 导入导出excel,itext 生成pdf,Zxing生成二维码。 - ajax 前后端交互,jQuery及多个前端组件包括layer,jquery validate,autocomplete,jdate,datatable分页等。 - 统一用jenkins发布,敏捷开发,jira 平台处理日常及生产问题。

    自我介绍

    这个模块就不要写什么工作努力了,与人和善,团队协作这样的空话了。 你可以写你在项目中的作用,你解决了什么样的问题?得到了客户怎样的认可?可以写写你经历过的加班,怎么努力的保证了项目上线,这些都能体现出你的价值,你的闪光点。 除了主语言,还会什么其他的语言/技术,或者喜欢逛技术论坛,最好附上自己的回答,写技术博客(放上你的博客地址),当然如果有GitHub 上的项目就再好不过了。

    好了,说了这么多,简历大概就是这个样子了。

    投递

    现在招聘网站很多,专注it的就有拉勾啊,100offer ,boss直聘,猎聘,智联招聘等等。 我建议不要太过广泛的投递,(我就吃到了这个苦头,最多一天收到十几个预约面试的电话)在投递前至少看一下公司的性质,是否和你的期望相符,还有公司的地址距离你是否太远,公司是否上市等等。

    至于具体选择哪家,各有千秋吧。

    非利益相关,我只说我用的,我最开始用的是拉勾网。但是反馈很少,我大概看了一下,很多其实都是要求3-5年的工作经验,是招聘中高级的程序员,而我勉强算三年的工作经验,所以只收到了一个面试的预约。

    后来,我就在智联招聘上开始投递,投递的范围也仅限于初中级的工作经验一到三年的,我还用了那个十五天的简历置顶,效果还是很明显的。我其余四家的面试都是智联招聘上找到我的。

    在这里我先说一下,投递的第一天可能没有人联系,那是很正常的。

    因为HR处理简历是有一个周期的,每天都有很多的简历,你的可能要过一两天才能被看到,但如果三天还没有人联系你,你就要思考下,是不是你的简历写的哪里有问题了。

    面试

    如果你收到了面试邀请,那么恭喜你,你已经成功了一小半。

    HR 一般会和你确定时间,并且给你发一封邮件,你需要收到后回复,并且查看一下面试的地点,同一天最多安排两家,并且查询好路线,因为都是第一次去,所有找路一定会花更多的时间,所以至少提前留出一个小时以上的时间。现在天气也已经很暖和了,在外面也不冷了,提前到达总比气喘吁吁的直接面试好很多。

    有的公司会有笔试,但是不用太介意,回答你会的就好,这个只是一个初步的筛选,无论笔试成绩怎么样,都会让你去面试的,面试才是最重要的地方。 技术面试针对我们这种有一定工作经验的,已经不会问你比如 java 有几种基本类型这样的问题了,主要集中在java的高级特性上面。一般分为两个阶段。

    第一个阶段是主语言本身以及它的高级特性,第二个阶段是讲述自己的项目,并在中间穿插着问题。

    主语言本身以及它的高级特性

    • Java的数据结构相关的类实现原理,比如LinkedList,ArrayList,HashMap,TreeMap这一类的。(前期的准备)
    • Java并发包当中的类,它们都有哪些作用,以及它们的实现原理,这些类就是java.concurrent包。(重中之重,一定要仔细看看)
    • IO包和NIO包中的内容。这部分里面NIO会是重点。(这个问的不是很多)
    • 设计模式 这个一般都会问,让你说说熟悉的设计模式。(前期的准备)
    • Java的虚拟机的内容。这部分主要包括三部分,GC、类加载机制,以及内存。

    项目

    业务上把你在项目中的责任着重体现出来,对项目的架构以及为什么这么设计要有认识。

    一定要斟酌你说出的技术,最后挑那些你确实用过的地方去说,这样才能防止你说出一个技术,面试官深入把你问倒的情况。但是如果真的有一两个地方不熟悉也不要紧,你可以及时打住,并且坦诚的承认自己在这块积累不够不要在一个问题上硬挺,不懂装懂。

    还有最重要的一点,一定要说出你的闪光点比如你解决了哪个很严重的生产问题,比如你应用了那些设计模式在你的项目里面,比如你有什么巧妙的解决一些棘手问题的技巧。

    相信我,你仔细回想,是一定可以找到至少这样一个闪光点的。

    哪怕你说我能加班,我997,我熬夜通宵也把任务完成了。这也是你的闪光点啊,说明你责任心强

    你不要等待面试官发问,很多问题你都可以引导面试到提问的。

    这里还有一点也是被问比较频繁的。

    就是项目中是怎么高并发访问的问题的?你是怎么去提高性能瓶颈的?常规的优化手段都有哪些?

    面试的时候并没有固定的套路,你要懂得随机应变,好的心理素质和知识储备是两大法宝,以不变应万变,但无论怎样,都要保持好的心态。

    失败是很正常的。

    但是你要相信,只要你没有虚度光阴,是一定能找到相对理想的工作的,每一次的失败中你都要冷静的想一下自己到底是哪里的储备不够,并且立刻去了解这部分知识,从失败中汲取经验,成功就不远了。

    offer

    最后,如果你收到了不止一个offer,尽快推掉不准备接受的其他的offer,这样不要耽误人家的招聘。记得要礼貌的拒绝,并表示歉意。

    预祝大家都能找到理想的工作

    最后贴一下其他人写的面试文章。 阿里面试回来,想和Java程序员谈一谈

    50道Java线程面试题

    更多回答

    泻药!题主你来邀请一个不写“Hello World”好多年的人来回答这个问题,好像不合适啊!
    不知题主人在何方,若是北上广,中上的硕士应届毕业生就可以拿到这个工资了。
    嗖嗖估计题主提到是个很宽泛的问题,其实做为HR来说,也是梳理很宽泛的要求,其他的留给面试官问些技术的问题,介个才是关键,先说说HR怎么筛选有工作经验的Java程序员:
    1、工作经验:2-3年以上的Java应用开发经验
    2、学历专业:专科、本科皆可,但是最好的计算机专业,专科或者非计算机专业的,会仔细看他的项目经验
    3、项目经历:主要是看公司的项目与候选人项目经历是否有重合性,例如是通信还是互联网
    当然JD要求的东西尽量能够在简历的工作项目中得以展现吧
    数据库!Oracle/SQL Server/MySQL等!服务器:Tomcat/JBoss等!框架技术:Strusts/Spring/Hibernate等……
    而剩下的,就交给面试官了:“老王,人我给你带来了,要不要,乃们自己看着办吧”
    未来设定什么样的目标,嗖嗖建议题主去Java的话题里去问吧
    无非是边敲代码边看书,边看书边思考,边思考边总结,然后把自己的总结找个地方放起来。
    题主再重新想想面试官会问题主什么问题:
    无非是:
    讲讲你经历的项目,负责的工作;
    问几个关键的知识点,看你的回答;
    再有,无非是出几道题,写写代码。

    所以题主按图索骥,应该知道该怎么做了


    作者:ThoughtWorks中国
    链接:https://www.zhihu.com/question/25002833/answer/158108028
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    大家伙让一让,这个问题让老司机先答!作为一个潜入IT圈五年之久、看过数万份简历的HR,在这个问题上还是有点发言权的。HR在筛选简历时主要从公司需求出发,重点不一,不过还是有很多“通用”的套路,为了在30秒内判断出这份简历是否值得跟进,我认为程序员写简历的正确姿势是这样的:

    一、基本格调

    即打开简历之后的第一印象。就好比我们看见一个人,会有一个整体的感觉,他是fashion的、小清新的还是老道的?有了第一印象之后再慢慢分解来看。

    加分写法:

    • 简洁明了,逻辑结构清晰。
    • 字体,排版,顺畅,清晰整齐就好。
    • 最好是PDF格式,兼容性强且不易乱序。

    减分写法:

    • 设计的过于浮夸或者过于简单的。(eg.有的简历五颜六色、非常酷炫,却半天找不到联系方式,抑或是只有个人基本信息和公司名称)
    • 写了十几页,半天打不开的,或者加载了半天,打开还乱码。

    二、基本信息(姓名/性别/毕业院校/电话/邮箱/居住地/期望地)

    加分写法:

    • 清晰罗列出以上信息,这样HR就不用在接下来的电话沟通或面试中再去追问这些内容,建立我们接下来电话沟通对你的熟悉度。
    • 再额外能加上QQ或者微信就更好了(以防有时候电话打不通哦,时不时会遇到这种情况)

    减分写法:

    • 大部分的基本信息没有写
    • 甩给我一个Github链接,极致简洁的几句描述,需要通过你的链接来找你的联系方式。(如果不是博客写的特别好,基本是要放弃你了)

    三、工作经历&项目经历

    加分写法:

    • 工作经历项目经历可参照万能的STAR法则来写,STAR不清楚的童鞋点这里
    • 效力过哪些公司,我们匹配的公司? BAT? 知名大型互联网公司?
    • 做过什么行业领域,和我们目前的行业是否匹配
    • 擅长的技术语言,应用了哪些技术栈,(Java, Scala,Ruby, React, Vue, Microservice…)
    • 经历的项目复杂度,及在项目中承担什么样的角色(人的变化/技术的变化/环境的变化/不同工作经历相同角色的不同点)
    • 时间节点(空档期)

    减分写法:

    • 看了半天,不知所云,没有任何亮点,没有让人有去和你聊一聊深扒的信息。

    来几个栗子

    栗子1错误打开方式:

    • XX(全栈工程师)2013.06 — 至今
    • 参与需求分析及实现方案设计。
    • 设计数据库表结构,实现后台功能及web页面展示。
    • 产品线上部署及运维。
    • ay 配置管理工程师 2010.03 — 2013.03
    • 负责公司产品性能测试,及线上数据分析
    • 负责公司配置管理,环境维护等工作

    点评:看不出来他做的什么事情,没有逻辑性,甚至不知道他做的什么技术语言。

    栗子2正确打开方式:

    西安XXX公司 Java工程师 — 2016.2月-2017.2月

    1、MOGU推荐架构数据与缓存层设计开发

    • MOGU是一款时尚资讯app,负责推荐页面资讯feed流的展示及用户历史的展示
    • 负责数据层,处理前端逻辑整个开发工作,分布式rpc服务搭建
    • 负责进行压测监测、缓存处理,对接又进行改进优化,主用redis缓存

    2、基于JAVA的电商爬虫开发

    • 使用java搭建爬虫server平台,进行配置和开发,进行网页改版监测功能开发
    • 爬取淘宝时尚品牌与其他电商网站商品品牌与详情等
    • 通过频率、ip池、匿名代理等应对一些网站的反爬

    3、同图搜索Solr服务开发

    基于算法组的同图策略,使用solr做java接又实现rpc服务搭建,进行索引构建和solr实现

    北京XXX

    java大数据工程师— 2013.4月-2015.12月

    1、负责实时流消息处理应用系统构建和实现

    • 在调研了kafka的优势和我们的具体需求之后,用kafka作为消费者,保证高吞吐处理消息,并持久化消息的同时供其它服务使用,进行了系统的设计和搭建使用。 本地日志保证消息不丢失,并通过记录游标滑动重复读取数据。
    • 使用storm 负责搭建消息处理架构,并完成基于业务的消息落地,提供后续的数据 统计分析实时和离线任务,诸如pv、uv等数据,为运营做决策
    • 网站用户行为埋点和基于js的日志收集器开发,定义接又和前端部门配合。主用go 2、hadoop集群搭建和数据分析处理

    2、基于CDH的集群搭建工作,后期进行维护

    编写MapReduce程序,能将复杂工作逻辑化,尽最大能力发挥大数据应用的特点, 对程序高要求,监控自己程序运行情况,使用内存合理,注重增量和全量运算的利弊

    3、调度系统设计与实现 基于quartz2搭建调度平台,带徒弟实现相关功能并定期review代码

    4、数据库调优 负责主从搭建,并掌握主从搭建的利弊,了解业界mycat原理,有数据库优化经验,能 正确并擅长使用索引,对锁有深刻的认识

    5、网站开发 java web网站业务开发,并能很好的使用缓存技术,对重构有实际的经验,并对面向对 象开发有全面的实战经验。了解java数据结构的使用场景,虽然对于大并发没有太大的 发挥余地,但是掌握了数据结构,对于并发和阻塞等有自己的见解。

    点评:非常清晰的告诉简历阅读者自己做了什么事情,负责了什么样的事情,用了什么技术栈,且逻辑连贯。

    四、 工作期望&个人评价

    加分写法:

    • 对自己有一个全方位的一个描述总结,让别人更好的解读你。或者在此处,高亮你的优点特长有哪些。
    • 即使不写个人评价,也一定记得写上工作期望。

    减分写法:

    完全看不出个性特点,写和没写没什么区别。 来几个栗子

    栗子1 错误打开方式

    为人性格,诚实谦虚,勤奋,能吃苦耐劳,有耐心,有团队意识,能和同学和谐相处,能虚心接受别人的建议的人。

    责任心强,善于沟通,具有良好的团队合作精神;专业扎实,具有较强的钻研精神和学习能力;性格比较乐观外向,喜欢打羽毛球。

    栗子2正确打开方式

    • 我对自己的定位: 主攻前端,同时在其他方面打打辅助。我不希望过于依赖别人,即使没有后端没有设计没有产品经理,我依然想要把这个产品做到完美。毕竟全栈才能最高效地解决问题。
    • 我对工作的态度: 第一,要高效完成自己的本职工作。第二,要在完成的基础上寻找完美。第三,要在完美的基础上,与其他同事 互相交流学习,互相提升。工作是一种生活方式,不是一份养家糊口的差事。
    • 我怎样克服困难: 不用百度是第一原则,在遇到技术问题时我往往会去Google、Stack over flow上寻找答案。但通常很多问题 并不一定已经被人解决,所以熟练地阅读源码、在手册、规范甚至 REPL的环境自己做实验才是最终解决问题的办法。相信事实的结果,自己动手去做。
    • 怎样保持自己的视野:我一直认为软件开发中视野极其重要,除了在 Twitter 上关注业界大牛,Github Trending 也是每周必刷。 另外 Podcast、Hacker News、Reddit 以及TechRadar 也是重要的一手资料。保持开阔视野才能找到更酷的解决方案。
    • 我的优势: 热爱技术、自学能力强,有良好的自我认知。全面的技能树与开阔的视野,良好的心态、情商与沟通能力。
    • 我的劣势: 非科班出身没有科班同学对算法的熟练掌握,但我决定死磕技术,弥补不足。

    栗子3正确打开方式

    • 极客、热爱技术、热爱开源
    • Ruby on Rails:精通
    • Agile/Lean:精通
    • ReactJS:掌握
    • Docker:掌握
    • AWS:掌握

    五、 是否有博客,个人技术栈点等

    1. 看到有这项的HR两眼已经放光了,加分加分项,说明你真正的热爱技术,善于学习总结,乐于分享,且有投入自己的业余时间到软件事业中。
    2. 我喜欢的书籍:《重构》《卓有成效的程序员》《代码整洁之道》等
    3. 我喜欢的社区: 图灵社区,知乎,博客园,Stack Over flow,Google Developer Group等
    4. 我的博客链接、个人作品链接如下:

    六、简历内容真实性

    老司机提醒你,你简历的任意一个细节将会是后面面试中的呈堂证供。

    基本就这些了,希望对大家能有帮助,看起简历来几十秒,码字还是个体力活。

    铛铛铛!!!前方高能!专业招聘一百年,猝不及防的广告来啦!

    ThoughtWorks一直在找和我们志趣相投的人、真正热爱技术的人、喜欢刨根问底的人,那种为了完成而完成的人不是我们想要的。在公司里,我们经常会听到这样的话:我们不只要实现功能,更要以正确的方式来做。追求是无止境的,所以,我们要找的就是具备深入思考的能力/潜力的人,这样,我们才能不断向前。

    我们在全国一共六个Office 北京,西安,武汉,成都,深圳,上海。每一个Office都欢迎全球各地全国各地的所有兄弟姐妹们加入。

    有需要内推的不?没有的话,我一会儿再来问一遍 ;)

    4.24日更新:收到了好多简历,先谢谢大家的支持。经HR反馈,ThoughtWorks中国区的几个办公室都已经没有对实习生的需求了哈(实习生大多都是在校招中拿到Offer的,同学们可以多多关注校招消息,争取明年的实习)

    说到程序员简历,这两个月,我看过不下10,000份简历。。。

    答主不是HR,也不是技术负责人,但是在网站的运营工作中,每天最开心的事情就是研究候选人的简历了~~ 这些人中,有BAT的资深大牛程序员,也有90后程序员小鲜肉;有人到中年的程序员渴望去创业公司突破瓶颈,也有身在硅谷的程序员自降薪水寻求回国机会。。。

    那么问题来了,为什么看上去差不多的技术和资历,有人可以一个月收到二三十个offer,有人只有寥寥几个?

    答案与简历相关。虽然技术有高有低、资历有深有浅,个人客观情况在短时间无法改变(经历造假可鄙),但是,如何将它们呈现在简历中是有技巧的。

    回答题主的问题「程序员简历应该怎么写」?我认为,程序员就应该拿技术说话,「技术总结」是一份程序员简历的重中之重。除了大神和大牛,普通的程序员如果能在叙述中中体现自己的风格,在技术总结中展示鲜明的个人形象,会更吸引公司的注意,拿到更多的面试邀请。

    • 技术总结的风格多种多样,举几个栗子:

    (这些栗子都是答主随手摘的,非真实!!!请轻拍~)

    1. 最普通的技术总结<img src="https://pic4.zhimg.com/50/ede7d5c680dee6c93c8664c12db0da8f_hd.jpg" data-rawwidth="1148" data-rawheight="488" class="origin_image zh-lightbox-thumb" width="1148" data-original="https://pic4.zhimg.com/ede7d5c680dee6c93c8664c12db0da8f_r.jpg">
    2. 资历深厚长篇大论型 <img src="https://pic3.zhimg.com/50/4e15d707a840ea29eb6f2a3029307ea6_hd.jpg" data-rawwidth="1144" data-rawheight="1358" class="origin_image zh-lightbox-thumb" width="1144" data-original="https://pic3.zhimg.com/4e15d707a840ea29eb6f2a3029307ea6_r.jpg">
    3. 牛人极简型<img src="https://pic1.zhimg.com/50/e0aa4550f14be30883a21d836d7d42f8_hd.jpg" data-rawwidth="1158" data-rawheight="352" class="origin_image zh-lightbox-thumb" width="1158" data-original="https://pic1.zhimg.com/e0aa4550f14be30883a21d836d7d42f8_r.jpg">
    4. 硅谷Geek风 <img src="https://pic2.zhimg.com/50/95cad4ffebcdd6207026a5399e38332d_hd.jpg" data-rawwidth="1162" data-rawheight="1050" class="origin_image zh-lightbox-thumb" width="1162" data-original="https://pic2.zhimg.com/95cad4ffebcdd6207026a5399e38332d_r.jpg">
    5. 卖萌型<img src="https://pic4.zhimg.com/50/dd4771590d79ade54b62ad05ed46e64f_hd.jpg" data-rawwidth="1136" data-rawheight="1364" class="origin_image zh-lightbox-thumb" width="1136" data-original="https://pic4.zhimg.com/dd4771590d79ade54b62ad05ed46e64f_r.jpg">

    • 小结:

    1、尽量避免主观表述,少一点语义模糊的形容词,除非是大公司大牛,已经有成果撑腰,否则慎用「熟悉… …」、「使用过… …」

    2、多一点表意清楚,语气肯定的数量词、名词、成果描述。一定要将自己的优势和期望明晰地表达出来,便于招聘方能对候选人有更准确的定位:
    介绍技术:最近几份工作经历中所参与过的产品、项目、角色
    • 在工作中做的项目的技术细节
    • 克服过的技术难点与细节
    • 感兴趣的技术
    • 在程序马拉松上参加的项目或者是业余的个人项目(+link)
    • 如果领导过技术团队,写下带的团队的规模与管理风格
    介绍自己:过往有特点经历、擅长的方向、对互联网的理解、职业发展规划

    • 试试用markdown语法,注意下排版,预览再提交,版面整洁、干净,也是加分项。

    • 最后,看了10,000份简历的心得:
    1. HR/技术负责人更喜欢看到一份显示「职业上升趋势」的简历;
    2. 牛人讲结果,普通人讲过程。

    看到这个问题,我觉得非常有意义,值得好好回答。于是,我邀请了我的同事Vincent老师,跟大家分享一下,程序员如何写一个有效的简历。

    Vincent:来Offer项目实战班主讲,Senior Fullstack Engineer,在FLAG一线大公司拥有多年的面试经验,帮助上千名同学修改简历、辅导面试。


    我与许多应届生、求职者交流过,发现他们中的很多人对于简历的认识,仍停留在比较初期的阶段。而从他们对简历的认识误区中,则能看到许多人关于CS求职较为“想当然”的理解。因此,我想说一下如何打造简历,一个面试官到底希望看到什么样的简历,希望招到什么样的人才。

    我主要想讲这三大部分:修改简历的重要性、怎么写好项目/工作经历、简历一无可写怎么办。


    先举一个简历实例,一个物理PhD和一个Top30名校毕业的Computer Engineer的学生同时针对一个SDE的职位投出简历,你认为谁的胜算会大一些?

    下面就是这两个同学的简历,大家可以自行比较一下。

    <img src="https://pic2.zhimg.com/50/v2-154ce8615905546d05074c78109aa051_hd.jpg" data-rawwidth="2094" data-rawheight="2676" class="origin_image zh-lightbox-thumb" width="2094" data-original="https://pic2.zhimg.com/v2-154ce8615905546d05074c78109aa051_r.jpg"><img src="https://pic2.zhimg.com/50/v2-d3c00f89135cb22358b7058038a2305d_hd.jpg" data-rawwidth="2230" data-rawheight="2885" class="origin_image zh-lightbox-thumb" width="2230" data-original="https://pic2.zhimg.com/v2-d3c00f89135cb22358b7058038a2305d_r.jpg">

    最终,是物理PhD拿到了Offer。这说明,这个求职市场并不是100%地“看出身”,更多时候,还是要看简历上的干货,而这些干货还要与职位要求相符。

    根据2016年的数据统计,只有不到7%的人撑到了谷歌的onsite面试,而每年被直接筛掉的简历,则在百万份左右。所以对于简历,如果你的认识还停留在名校和专业的层面上,很有可能,你就是那被筛掉的93%。


    一、为什么简历这么重要

    很多北美CS求职者可能想不到现在竞争是有多么激烈。一个职位往往有几十个甚至上百个candidate来竞争。那些提供H1B签证,将来会sponsor绿卡的岗位就更是炙手可热了。想在这样的激烈竞争下,拿到Offer,你的简历必须要能经得起多方面的检验

    • HR:不管什么职位,面试的第一步就是HR筛选简历,而你的简历只有10秒钟的机会,然后HR就会决定你这一关是Fail还是Pass。
    • 内推:有些求职者会觉得,我有内推,简历差一点不怕。这是错误的。即使你的推荐人愿意给你倾尽全力内推,他也需要根据你的简历论证你有哪些优点。如果你的简历写得空洞无物,再有心的推荐人也无能为力。这也是很多同学即使找了内推,依旧没有拿到面试的原因。
    • 面试:到了面试这关,简历仍然很重要。面试官会根据简历来快速判断你是否值得他仔细面试。如果你的简历没有引起他的感兴趣,那在他心中可能已经给你判了死刑了,等下出个LC Hard的问题刁难你,你的feedback自然不会好,最后的结果就是呵呵一笑:Thank you for your interest。

    当然,也不能为了充实简历就走向另一个极端:为了拿到面试,把简历写得极尽fancy。这样倒是让HR和面试官眼前一亮,但是针对你的简历来提问,你却答不上来,照样会挂掉。


    二、如何写好你的项目和工作经历

    既不能空洞无物,也不能过分夸张,那么在10秒钟之内,面试官到底想看到什么呢?

    • 关键词

    10s内能够让面试官看上的简历,肯定要有热门的技术词汇,最好还是和面试官(他们也是工程师)息息相关的技术。

    这一点大家经常有个误区,觉得我一定要高大上,简历上的技术越新越好。但是,这些技术往往还没来得及大规模推广,甚至面试官都不知道,很可能写上去是没有用的。

    反之有些技术,比如Test、Log、Git这些,看上去并不fancy,但是这是每一个工程师天天要做的工作,反而能把你和其他new grad区分开来。不要小瞧这一点,包括一些CS的master很多都不会Test、不会分析Log、不会Git。

    你的简历如果既有一些较新的技术(一般出来一两年左右的,类似Go、React),又有经典的必备的技能,那么就一定能够吸引他的眼球。


    • 真实性

    既然技术词汇这么重要,那我就把经典的、热门的技术全部写在简历上,堆成一个项目好不好?面试官不是傻瓜,他对简历的敏感度非常高,能够一眼看得出来哪些就是为了堆上某个技术而砌出来的项目。

    举个简单的例子来说,有同学在简历里边写了一行:

    Designed and developed a web applicaiton with Java, Eclipse, Hadoop, AWS EC2, REST API。

    技术本身都是极好的技术,但是这样写是非常错误的。

    首先,这个描述极其缺少context,面试官无从判断这个项目的价值。你的web application,是一个简单的一页的个人主页呢?还是一个有多个page的推荐系统呢?没有这个context,面试官无从了解你的这个项目的完成时间和完成深度。所以这个真实的context必须得有。有些同学可能上过一些求职课,知道应该用数字证明成果,这个其实也是context的一种。

    另外,单纯的技术堆砌往往缺乏联系和逻辑,无法说服面试官。比如说,Deployed the system on AWS,这个AWS本身没有错,但是你的这个项目为什么要部署到云上面去呢?之前遇到什么问题?你是带着目的性去部署这个系统,还是说仅仅为了学习AWS而去做的呢?如果是我来写,我最起码会写上Deployed the system on AWS to improve scaling。这样才能证明我是明白AWS的用途的,而不是为了堆砌。


    • 深度

    还有一些同学,尤其是CS Master和转专业的同学,有这样的疑问,如何让我的简历显得更有深度?我认为你的简历需要体现设计和实现上的复杂性。我总结了一个描述的技巧:起承转合。

    第一行,起。写清楚项目的背景。写一下研究过什么同类的产品,我的产品的优势是什么。这能告诉面试官我不是随意设计一个项目的,是有目的、有规划的。

    第二行,承。一般我会写基本的实现。用了什么框架、什么技术。记得要把context交代清楚。

    第三行,转。描述遇到的挑战,是如何解决的。通过这条,说明我这个项目不是应付交差,而是做了一段时间,遇到了问题,并且解决了问题。

    第四行,合。描述最终的结果。我是如何delivere、present、test这个项目的。告诉面试官我有ownership,能保证产品的最终完成。最好可以用一些数字来体现结果,而不是空洞的描述。

    用这样一个四段论,比全部都在说做了A功能、B功能、C功能,在深度上好太多。


    三、简历一无可写怎么办?

    对于零基础、转专业的同学,简历上没什么可写的是个普遍问题。要解决这个问题,就需要发掘自己的优势。

    • 为什么无从下笔?

    很多时候大家觉得自己无从下笔有几方面的原因的。

    第一,做的项目和想投的工作不吻合,比如想投CS专业,手中却只有EE相关的技术经验,或者想投工业界的职位,却只有Research方面的经验;

    第二,做的项目觉得不够重要,比如就是修修bug,改改button之类的简单任务;

    第三,确实是什么经历都没有。


    • 如何发掘可写的点

    针对第一类问题,可以想办法和目标职位靠拢。比如说CS和EE有很多通用的经验和技术,诸如前期查资料research、分析数据和debugging的能力,这些都是可以写到简历里边。另外有一些通用的soft skills,比如communication的能力、oral presentation的能力。尤其是一些PhD的同学,经常写paper和做presentation,都可以为简历增色。

    针对第二类问题,就需要自己去深入思考自己项目的重要性。很多时候大家觉得我可能就是某个公司的某个小组做一些边角的事情,但是大家要想,为什么这么大的公司不找别人去做这个工作而找你?说明还是有你的价值在其中的。对于这样的项目,一般我会先介绍这个公司的价值,然后是我们组对于公司的贡献,最后就是我做的工作的重要性。层层递进,自然写出了你的价值

    至于第三类问题,就需要大家去发挥积极性,多参与一些技术开发活动了。现在开源社区非常活跃,你完全可以参与其中。一开始哪怕就是修改标点符号也好,然后不断的升级积攒更多的经验。如果直接参加开源社区对你的技术要求太高,也可以去参加线上培训的项目,一般这些项目会有老师来亲自带着做项目,会更有指导性。


    以上我简单探讨了三个让简历脱颖的关键点,以及如何挖掘自己的工作、充实简历。当然小窍门还有很多,就不一一赘述了。最关键是要明白,认真修改简历和良好的项目选择,对你拿到Offer至关重要。


    如果还有CS求职相关的问题想要咨询,可以私信我

    或者发送你的简历和问题至info@laioffer.com,我们会尽快回复。

    Resume template for Chinese programmers . 程序员简历模板系列。包括PHP程序员简历模板、iOS程序员简历模板、Android程序员简历模板、Web前端程序员简历模板、Java程序员简历模板、C/C++程序员简历模板、NodeJS程序员简历模板、架构师简历模板以及通用程序员简历模板

    如何写好技术简历 —— 实例、模板及工具


    程序员简历模板列表 来源:geekcompany/ResumeSample · GitHub

    我是给自己招人,也帮朋友的公司招人,所以这几年看了很多很多很多简历,请各位想找工作的程序员用下面的格式去写简历。

    第一部分:基本信息。
    必须有的:名字、联系方式(邮箱+电话)、出生年月(一般写个年份就好)、应聘职位、工作年限、地址(城市要有,具体地址可写可不写)。
    可以有的:座右铭、社交网络地址(里面有乱七八糟内容的就不要放了)、期望待遇。
    最好不要有的:照片(除非你对自己长相特别有自信,但是要放就放大头照,别放艺术照,谢谢)、星座血型(如果你应聘做这个的公司就另当别论)。

    第二部分:受教育经历。
    必须有的:大学的名字、专业、开始时间、结束时间、GPA(或者平均成绩)。
    可以有的:高中经历(如果你的高中很出名,比如人大附中)、专业或者大学的描述和介绍(如果不是太出名的大学但其实专业不差推荐写)、一些比较有特色的培训课程比如MIT的短期交流之类的。
    最好不要有:初中小学幼儿园和辅导班的经历、对自己学校的评价(「因为老师不好,所以主要靠自学」这种话千万不要写)。

    第三部分:荣誉。
    必须有的:大学时期获得的学术类荣誉(只要有称号的就要写,优秀奖也可以写)、奖学金、一些社会荣誉(比如见义勇为)。
    可以有的:中学时非常优秀的荣誉(比如数学竞赛全国一等奖)、在其他机构获得的奖项(比如MIT的什么夏令营的优秀学生,或者Intel的什么奖项)。
    最好不要有的:康师傅再来一瓶(我没开玩笑,我真的看到很多人简历写,这个一点不幽默)、大学前的无关紧要奖项(初中二年级全校作文大赛一等奖)、一些虚构的奖项。

    第四部分:工作和实习经历。
    必须有的:工作单位的名称、职位、具体工作内容的描述(语言、框架、开发平台、在哪里可以看到、如果不能看到就说说实现了什么效果)、工作的开始时间、结束时间、所有做的项目,包括开源项目。
    可以有的:一两句简单阐述一下对于工作的感触,比如但是不要有消极言论。
    最好不好有的:和工作特别没有关系的工作经验(大概有五分之一的人简历里面有在肯德基或者麦当劳做清洁或者收银工作的内容,你要是真的一条都没的写了再写,哪怕有一条也不要写这个)。
    //我这里举个例子:
    2009年6月 - 2009年9月 北京保护伞科技有限公司 PHP程序员实习
    负责公司内部管理系统的二次开发,独立基于XMPP+PHP+MySQL开发了新版内部通信系统,除了完成了新版的界面和架构外,还优化了原有底层算法和完善了缺失的文档,供在一千万丧尸的公司内部正常使用。
    这里要很注意的一点是不要随便得出结论,你需要的只是提供论据。

    第五部分:技术。
    必须有的:语言和平台,这里特别注意一下,不要随便写「精通」,每次有人看到写精通C++我都会问他一些Boost源码的东西,你要是没信心回答就不要说精通。这里我列一下大概的对照:
    了解:知道这个玩意是干嘛的,能大概写点排序什么的出来。
    熟悉:写过一两万行以上的代码,完整做过项目,看过至少一本最经典的技术书籍。
    精通:写过一二十万行以上的代码,完整的做过很多项目,看过一些语言或者标准库的源码,能理解语言的底层构架,有能力去给别人讲这门语言。
    另外在这个地方最好能看到你的Github地址或者博客地址。

    第六部分:其他。
    一般能力:英语(6级、托福100分……这个必须有)、其他语言……
    兴趣爱好:围棋、马拉松……(只写积极的,抠脚之类的不要写)
    特殊能力:钢琴大师级、开过画展、出版过书……(还是只写积极的,快速抠脚打出火花之类的不要写)
    特殊背景:在blabla项目里面是核心负责人……

    注意:不用按照上面的顺序去写,但是脑子里要清楚自己写的东西是不是属于这里面的。最终汇总在不超过两页的A4大小的纸里。
    另外排版以整齐清楚为第一优先原则不要搞的太花、白底黑字、不要乱用字体,宋体或者黑体挺好的、注意全角半角标点。
    简历正文尽可能严肃,偶尔卖萌一下无伤大雅,但是请不要一直出现这种内容,我曾经见过一个男生的简历每句话后面都有一个颜文字。

    如果是邮件发送的话,请按照下面的要求发:
    使用正规一些的邮箱,比如 名字或者常用ID@邮箱.com
    邮件的题目:blablabla职位求职,名字
    附件:我虽然推荐使用PDF,但是如果方便也可以附带一份Doc,别的格式就不要了。文件的名字应该是:blablabla的简历 。如果同时发送了PDF和Doc一句话说明一下。
    正文:
    「名字」(如果不知道就写公司的hr什么的就好,不熟悉千万不要加奇怪的敬语,英文环境Dear没什么,中文环境不要没事写亲爱的,很吓人的好不好,能知道男女就是xxx先生或者xxx女士,不要写小姐):
    一两句话写一下你在哪里看到的招聘,然后要应聘什么职位。
    此致
    敬礼
    你的名字

    其实在一份简历里面我看完以后真的想要知道的内容只有:你能胜任这份工作、你认真、你有上进心、你没有毛病(强调一下,这条最重要)
    简历最大的加分项:干净整洁、没废话、Github里面有开源内容、博客里面有深度讨论的技术内容(其实如果一个人能保持博客的技术内容持续更新就狂加好感)、头脑非常清晰的知道自己在做什么。
    简历最大的减分项:消极言论,我见过的有:讨厌中国的氛围所以想换个有海外背景的团队(即便你是认真这么想的也别写出来啊)、老师傻逼害的我没学好东西、之前的工作单位领导傻逼、不想给外地人打工、因为黑幕所以只拿到第二……这里我非常严肃的强调一遍:诚实不代表想到什么就说什么。另外还见过有:我朋友也认识你们老板……基本上关系再好的人,如果不是特别清楚技术能力的,也肯定是要简历看看再说的……最后,不要像我写这篇东西一样用好多省略号。

    我再多提一句:请记住你给哪家公司投了简历,也请记住你要面试哪家公司,我经常遇到应聘者连自己应聘的公司做啥叫什么都不知道……

    简历是你找工作的第一门面,请认真对待。
    最近收到了很多要来面试的简历,发现你们的简历怎么都是这样的呢?要是我是 HR,你们肯定进入不了下一轮。

    马上就要到一年一度,最适合找工作的时间段:金三银四。另外一个时间段是:金九银十。金三银四的大意是:最好的时间是三月,其次是四月。同理于金九银十,最好的时间是九月,其次是十月。反正我也是在几年前,道听途说过来的。一过完年,一交流总会多些想法,就有了金三银四。金九银十则是,一些公司在年中的时候,发去年的年终奖。

    今年的行情虽然没有去年火热,但是你仍应该拾掇拾掇一下你的简历,万一机会来了呢?

    跳槽的 N 个原因

    作为一个技术人员,如果你满足以下条件中的任意一个,你应该去看看更多的机会:

    • 钱少了
    • 技术空间增长太少
    • 没有发展空间
    • 心里委屈了

    以及

    • 老板招你的时候,和你谈理想。现在,老板问你说:理想能赚钱吗?
    • 加班太多——都没有时间约会或者女朋友和别人跑了
    • 你的女朋友在北京,而你在上海
    • 这个技术公司已经没有大牛了

    这不是马上就要到,传说中一年一度的狗粮节了么。回到正题,一份优秀的前端开发工程师简历是怎么样的?

    一份优秀的前端开发工程师简历

    这个嘛,我觉得应该是这样的:


    <img src="https://pic2.zhimg.com/50/v2-a5127da7644d57d25ea65bb798a14c29_hd.jpg" data-rawwidth="1356" data-rawheight="598" class="origin_image zh-lightbox-thumb" width="1356" data-original="https://pic2.zhimg.com/v2-a5127da7644d57d25ea65bb798a14c29_r.jpg">

    然后呢,HR 只需要打开这个 PDF 中的 GitHub 链接即可:


    <img src="https://pic4.zhimg.com/50/v2-ff509431286e846198f0c16d97b9fde3_hd.jpg" data-rawwidth="2008" data-rawheight="1038" class="origin_image zh-lightbox-thumb" width="2008" data-original="https://pic4.zhimg.com/v2-ff509431286e846198f0c16d97b9fde3_r.jpg">

    这才叫优秀嘛,你说是不是?

    好了,写完段子了,让我们来看正文。

    简历的 N 种错误姿势

    这些年来,我也多多少少了,看了一些简历。也稍微有一些经验,让我先罗列一下问题,再说说原因:

    打开姿势

    简历造假。任何造假的行为都是不能容忍的,这个问题容易出现在不自信的面试者身上。还容易出现在培训机构的学生上——我并没有任何歧视培训机构培训的学生,我只歧视培训机构及其行为。即使你能幸运的通过面试,在工作的时候,你也有可能被觉察出来。

    不适当的文件名。当我收到一份简历,你可以是 xxx.pdf,可以是 xx公司xx.pdf,但是不能是 all.pdf、resume.pdf 这样的文件名。我还需要帮你重新命名一下,然后存档么?在简历的文件名上,你要突出重点,谁,需要什么岗位,如:李小明Android工程师_简历.pdf

    使用 PDF 以外的格式,如PPT、DOCX、HTML。PDF 是我目前看到兼容性最好的格式,要知道 Windows 上写的 TXT 在 Mac OS 上打开都会有编码问题。DOCX 就更不用说了,我司标配的 Office 是 LibreOffice,打开的文件 100% 出问题。PPT 我就不说了,虽然很帅,但是我很累——要面试的人是你,不是我

    呵呵~

    Be Professional

    语法问题。在平时的时候,你可以将一些技术栈的单词拼错。但是在简历上,请认真一点~,最好可以找基友帮你过一遍。该大写的时候就应该大写,如 HTML 不应该写成 html 或者 Html,Java 8 不应该写在 JAVA 8 或者 java 8, 乃至 J8。

    排版问题。像审美风格这样就算是其次的,该换行的时候就要换行,该对齐的时候就应该对齐。好在大家都是用模板来完成的,这个问题不大。

    没有项目经验或者无用的项目经验。只是罗列技术栈,没有写你做了什么。这种感觉就好像,我在 BAT 里都干过,只不过是我是在里面扫地的。作为一个美团外卖员工,天天进百度外卖大楼去送外卖——除了没被打死,你还有什么可以自豪的?。

    写了一些无关紧要的废话。谁 TM 想知道你和你家大伯的女儿关系,以及你在中小学的时候去哪玩了。除此,你在大学的时候做的家教、兼职也不重要。你要来面试的是一份技术工作技术工作技术工作,不是销售,也不是大家老师。如果你是党员,你也不用突出你是有多爱党。毕竟,作为一个普通人,我们都拥互党的领导的。

    不作死

    罗列技术栈。不要在简历上,写上太多的无关技术栈。写到简历上的东西,都会成为你的呈堂证供。如我毕业的时候,准备了三种不同类型的简历,嵌入式工程师的、Web 工程师的、包含两者的。然后在专业技能上,我列举了我玩过的各个东西。在现在看来,简直是。。。

    简直是作死。当年,我写在简历上的每一个内容,都被一一过问了一遍

    程序员该如何去写自己的简历

    简历就是简单的介绍一下你自己有多 NB。所以,你需要介绍以下的内容:

    1. 我是谁
    2. 我会什么
    3. 做过什么
    4. 结果如何

    然后把这些内容放到一个模子里,就可以了。

    选择一套模板

    如果你并非设计师,或者想要相关的求职岗位,那么请不要在简历的样式上花时间。你应该将更多的时间花费在简历的内容上吧。作为一个技术岗位,面试官想看的是你能干什么,而不是漂亮不漂亮。你又不是要面试 鼓励师程序员 = 鼓励师 + 程序员。

    然后推荐下我用的模板,LaTex 里的 modercv 模板。就是这样的效果:

    这个模板最大的优点是,写废话的地方很少。最大的缺点是:你需要学习 LaTex。你可以轻松地写上你的各种经历,并且排版出来的效果很不错。

    首屏加载:在第一页尽可能突出自己

    这里有一个突出自己的,最好例子:

    本人学识渊博、经验丰富,代码风骚、效率恐怖,c/c++、java、php无不精通,熟练掌握各种框架,深山苦练20余年,一天只睡4小时,千里之外定位问题,瞬息之间修复上线。身体强壮、健步如飞,可连续编程100小时不休息,讨论技术方案5小时不喝水,上至带项目、出方案,下至盗账号、威胁pm,啥都能干。泡面矿泉水已备好,学校不支持编程已辍学,家人不支持编程已断绝关系,老婆不支持编程已离婚,小孩不支持编程已送孤儿院,备用电源万兆光纤永不断电断网,门口已埋雷无人打扰

    因此,你要保证 HR 可以轻松地打开你的简历,并且可以看到他们想要看的内容。如果你使用 GitHub Pages 和网页的时候,就要注意这个问题。并不是所有的 HR 都会翻墙的,并不是所有公司访问外网都会很轻松的。

    你刚毕业不久的时候,你应该突出你在学校的成果:

    工作的时候,便是突出你的公司,和 NB 的项目。

    毕业到工作:从看学校到看公司

    校招的时候,你可以把你在学校玩过的各种东西都写在上面,如下:

    就是要把你玩过的、觉得很 High 的东西都往上写。毕竟大部分人都是玩游戏过来的,然后你还玩过这么多东西,面试官对你的印象一定特定好。不过,还是那一点,不要造假——写到简历上的东西,都会成为你的呈堂证供。作为一个 Play for Fun 的程序员,谁的大家不是这么玩过来的。

    除了这种玩可以为你加分之后,还有:

    1. 211 985高校加分
    2. 硕士学历加分
    3. 大公司实习经验加分
    4. GitHub、博客加分
    5. ACM 等比赛加分
    6. 项目经验加分
    7. 等等

    而,等你工作多年后,教育经历就变成无关经历了。这时候加分的内容就变成:

    1. BAT 等大公司加分
    2. NB 的开源项目加分
    3. 与本公司相关的项目经验加分
    4. 行业大牛,自带光环
    5. 技术栈完全匹配加分
    6. GitHub、博客加分
    7. 认识 Phodal 加分 (我的意思:内推
    8. 等等

    这个世界就会从看学校到看公司。所以,如果你毕业的时候遇到这样一个选择:大公司还是创业公司。请考虑上这一点因素,如果这家创业公司倒了,那么你的下家就不好找了。反之,你从大公司要进入小公司,则是轻轻松松地一件事。

    当然了,简历再漂亮,能力不行的话,你也是进不了进一轮的。

    一、命名上

    将文档命名为“简历”,是一个错误的做法。筛选成百上千的标记为“简历”的申请,可能让招聘经理头疼不已。正确标示你的文档,你的简历将很容易被认出,使雇主随时都能更方便地再次阅读你的简历。

    正确的方式是将简历命名为:名字_学校_职位_简历

    二、格式上

    1.PDF格式

    经常看到有的人提交 Word 格式的简历。Word 的不同配置,常常使你的简历出现乱码、甚至打不开。试想一下,你好不容易做了一个轮廓鲜明又格式精美的简历。招聘人员把它拉到他们的电脑上来,却只能看到一堆混乱的文字和形状。求此刻招聘人员的心理阴影面积。
    所以,通过将你的简历转换为 PDF 格式,可以有效地防止这种情况的发生。

    2.字体、字号与字色

    字体:标题选择黑体,正文选择宋体

    字号:标题二号,正文小四号或者五号

    字色:黑色

    3.一页原则

    招聘经理平均花费 6 秒钟对一个候选人建立初步印象或决定是否提供面试机会。当你仍是 应届生或者仅仅有 2-3 年工作经验时,写一份 1 页的简历是最好的做法,让雇主可以轻松地浏览你的简历,找到他们需要的信息。

    充分利用这一页的“广告空间”,并保持信息的相关性和简洁性。需要你精筛出与应聘职位最相关的、最出彩的经验和成就,有重点地展示你足以胜任该工作的相关素养和技能。

    4.简历布局

    一般常见的简历都是两栏式的格式布局,左边的部分是时间,右边的部分是经历。然后纵向按照教育经历、经验之类的罗列开。注意对齐,如果你的简历都不对齐,人家是不能指望你的代码会对齐的。

    三、内容上

    程序员简历不一定需要写上个人评价、获奖情况、附上求职信,在内容上一定需要包括的是以下5各方面

    1.基本信息

    基本信息包括:你的名字、住址、联系电话、email

    注意:

    • 不要带照片(你确定人家看你简历的时候不会被你的颜值吓得吃不下饭么)

    2.教育经历

    教育经历包括:你的大学、专业、所上课程、GPA(如果你对GPA有信心或者公司有要求的时候需要写)

    注意:

    • 必须按照时间的倒序进行排列。
    • 一般来说刚毕业的把学校排最前,已经工作的把工作经历排在最前。
    • 对于转专业的人来说,原专业要写,但是重点篇幅放到你上的 CS 课和网上公开课上面

    3.工作经验

    简略描述在职期间都做了什么项目 细致描写自己的项目解决了什么问题重点突出自己做的东西有什么影响!

    注意:

    • 必须按照时间的倒序进行排列
    • 重点突出你的影响:很多人在描述一份项目或者工作、实习经历的时候,大多数人的写法都是。我在xx公司做了一个xx项目。一句话就搞定了。这种项目经历基本上等于没写,只能拼公司的名气了。一个负责任的写法是:在xxx组参与的xxx项目,我负责其中的xxx的部分,中间遇到了xxx的问题,我是怎么解决的,最后取得了xxx的结果。
    • 不要写岗位无关的经验:很多人可能是转行的,CS相关的经验很少。然后就会写自己一些转行以前的经验,比如做学生会主席啊之类的想表现领导力。你要搞清楚人家请你去是去搬砖的不是去当CEO的,所以非CS相关的经历写得越多说明你CS相关的经历越少,悲剧概率越大。
    • 量化你的能力:写简历的建议 - 量化自己的能力

    4.项目经验

    项目经验以三个左右为佳,多花点时间好好描述,把用到的技术和遇到的麻烦反复练习如何去和面试官讲。超过三个也不是不行,但是基本不会全被看到或者问到,容易分散重点。

    注意:

    • 把你最想表现的项目写得多一点,其他的小项目写得少一点。比如你在一家大公司和一家小公司分别做过intern,那么就把大公司的工作重点突出。多写一点,这样是个正常人都会问你这个比较长的项目的内容,你就不需要每个项目都准备怎么说了,专心准备这一个项目怎么说就好了。
    • 一旦是放到简历上的项目,一定要非常熟悉。哪怕面官追问你任何一个细节,你都必须做到对答如流。如果时间已经久远,一定要拿出来再重新熟悉一下或者再做一下。因为有可能面官就会问你,你当时这个项目为啥用XX技术,而不用XX技术呢?

    5.技能

    语言: Java, C++, C, Python, PHP, JavaScript, HTML...
    系统: MySQL, Spring, MS SQL Server, Unix / Linux...

    注意:

    • 慎重使用“精通”这个词汇。万一你对面做的面试官是真精通的,你就惨了,会追着你问各种细节来验证你是不是真的精通。没有工作的经验的或者工作经验少的人,一定会被虐翻。 程序员的心理就是,你越是显摆,我越是要证明你挫。
    • 不要写你会用Office。很多在技能里写自己会用office,好像是个很牛逼的技能一样。其实不然,要是公司做机器学习的话,Microsoft Office估计是负分项。
    • 不要在技能里堆砌各种关键字。建议不要让所有的技能都是平行关系,要分出哪些是你熟悉的,哪些是你略知一二的。

    相关文章推荐阅读:

    简历 | 最容易忽略的10大简历问题, 你都做到了吗?技术简历的七要七不要求内推/投简历前,检查你的简历是否犯了以下低级错误!如何写好一份技术简历?

    欢迎关注我的微信公众号:九章算法(ninechapter),回复”简历”获取程序员简历模板!

    四段式:
    我是谁
    我会什么
    做过什么
    结果如何

    尽量量化描述。

    先玩个小游戏,如果你在写简历时也遇到了相同的情况,请打勾:


    <img src="https://pic2.zhimg.com/50/v2-0bceffc53c8c939549926950cb61dc75_hd.png" data-rawwidth="531" data-rawheight="283" class="origin_image zh-lightbox-thumb" width="531" data-original="https://pic2.zhimg.com/v2-0bceffc53c8c939549926950cb61dc75_r.png">

    勾0-1条,可以忽略这个答案。

    勾2-3条,你之前的简历可能是在自嗨,需要一点解药。

    勾4-6条,重度患者,请仔细消化下面的内容。

    其实,上面的几种情况,大部分人写简历和求职时都会遇到。

    有的人不了解面试官的需求,想把简历写得面面俱到,写完却是毫无重点,且不自知,最终简历石沉大海;

    有的人想在简历中呈现更好的自己,不管这个“自己”是不是真实的:把工作年限加长、把技能全写成精通。这种自嗨只能换来面试时的尴尬;

    有的人技术强,肯努力,却怀才不遇,找不到一条更有效的渠道,让更多大公司了解到自己,就错过了很多上升机会。其实这也是可以改善的。

    下面就讲讲你如何躲过这些简历中常见的“坑”。写一份让面试官喜欢、又真实的技术简历。(本文内容整理自「 百楼俱乐部技术分享·第一期——如何准备技术简历 」,分享人是实验楼CEO石头山。「 百楼俱乐部 」顾名思义,是实验楼100楼以上的用户组成的群体,除了定期的技术分享外,还有其他福利,欢迎大家爬楼加入。)

    <img src="https://pic2.zhimg.com/50/v2-030e7503beb14cc4cca224ae5b1c51b9_hd.jpg" data-rawwidth="600" data-rawheight="277" class="origin_image zh-lightbox-thumb" width="600" data-original="https://pic2.zhimg.com/v2-030e7503beb14cc4cca224ae5b1c51b9_r.jpg">

    分享人:石头山(曾任职于VMware、Intel等知名外企,筛选过数千份简历,深知简历和面试的“套路”,将带你从面试官的角度,了解什么样的简历才是受人欢迎的。

    01“ 本文不适合老司机… ”

    下面分享的内容是面向互联网行业或软件行业求职的人,而且主要是应届生和毕业三年以内的求职者。因为对于经验丰富的求职者,他们的招聘方式可能会差异非常大。比方说,他对简历的重视程度会越来越低,更多依靠的是行业内的知名度,和公司内部高级工程师的引荐。

    因为我个人缺少大型国企、传统行业的经验,所以说这个话题难免不全面,请大家见谅。

    02“ 基本信息那么简单吗?”

    首先是基本信息,大家肯定都会写到。包括:

    • 姓名
    • 年龄
    • 工作年限
    • 学历
    • 城市
    • 联系方式:手机 + 邮箱

    这里还有几项需要注意的:

    首先在基本信息里面,我们会看到,有很多同学会故意地把自己的工作年限写得很长。比如16年毕业,自己会选择性地写成两年甚至三年的工作经验。我要讲的是,这是完全没有必要。因为首先,这会让招聘者很疑惑,你前面的这些工作经验是哪里来的?当然大部分可能是把实习经验算成工作经验了,但实际上到面试阶段还是会把这部分抛除掉的。所以我们希望的原则是尽可能地实事求是,不要虚报。不要把自己的毕业年限故意提前,来增加自己的工作年限。哪怕这会帮你过简历自动筛选的过程,到人工筛选或面试时,仍有很大的可能会被筛掉。

    另外,对于一些转行的朋友,如果你原来不是做计算机这一行的,并且和计算机行业相差非常多,比方说汽车维修,那就简单的一句话概过就可以了。只是为了让你的招聘方知道,你毕业以后前几年并不是在从事计算机行业,然后把自己在计算机行行业内的工作经验、工作年限写清楚就可以了。

    联系方式的话,手机号自然不必多说,邮箱尽可能地用一些常用的邮箱。如果你有自己的个人网站,也可以选择用自己个人网站的邮箱。但是呢,邮箱的名称尽可能要简短好认,比如1和L混合在一起的那种邮箱地址,看起来是非常痛苦的。

    03“ 工作、实习经历,相当重要 ”

    简历的第二部分,就是工作和实习经历。

    • 公司名称
    • 职位
    • 时间
    • 详细工作

    这部分相当重要。无论是应届毕业生,还是工作过几年的、有经验的,其实招聘方最看重的就是这一部分的内容。

    在这一部分中,至少你要证明你在先前的实习或者工作中,有非常多收获,有对你个人的成长非常有帮助的经历。这样的经历是最有价值的。

    另外工作经验要尽可能地避免断档。如果有断档的话,在你面试的时候肯定会问到,你需要有一个比较合理的解释。比方说你中间是出国读书了,或者哪种情况,然后有一两年的断档,这个是没什么问题的。

    第二点需要注意的就是,一个公司只需要写一栏。在这一栏下,你可以列出一、二、三、四的这种条目,详细介绍在这个公司中,你所从事的事情以及学到的技术。但是要避免一个公司写很多栏,哪怕你在这公司里的职务有些变化,你可以只写一个最重要职务,或者一个最高级的职务。

    对于工作的描述,需要详细地介绍自己曾经开发的产品,以及开发这个产品中间用到的一些技术,负责的任务,并且要标明是否带过团队、带团队的规模是多少个人、这个项目的是否自己独立完成、或者两个人协作完成中你所处的角色,这个是非常细节的地方,但是一定要写得清楚一些。不需要太啰嗦,但是每一点一定要点到位。最后一点就是刚才也提到的,把每一项以一个简短的条目一二三四标出来。这样能让对方非常清晰地看到,你所收获到的一些关键点,能够抓住他们的眼球。

    在描述项目中的时候,尽可能多的使用一些关键字,一些技术的关键字。比方说,这个项目中我用到了Mango DB、Laravel,或是前后端常用的一些框架,然后把它写到这个项目描述中。

    而对于应届生来说的话,如果没有工作经验,实习经验就非常非常宝贵了。因为目前绝大部分的公司,其实都相对功利,希望自己招聘来的应届生能够直接上手,尽可能地快速融入自己的团队,形成战斗力。真正说希望拿过来培养一到两年的公司,应该是规模非常大的企业,属于比较少见的一种情况。

    04“ 什么样的项目经历让人信服? ”

    第三部分通常是项目经历,分为:

    • 项目名称
    • 项目描述
    • 承担的职责
    • 用到的技术
    • 实现的效果

    项目经历,一般会把自己先前的工作或者实习,以及在学校实验室跟老师做的项目,做一些提取。选取其中最好的项目,最能够代表自己真实水平的。像一些课程的大作业,其实是完全没有必要贴上去的。当然,如果这个大作业的代码量非常大,并且有一定的知名度的话也可以。

    一些情况下,项目经验和工作经验是可以合并到一起的。比如你工作经历非常丰富,每一份工作的项目也非常明确,那完全可以将这两项内容合在一起。然后对于应届生,如果工作经历和实习经历都没有,项目经历一定要写得非常精选。

    在项目的描述中,我们最看重的就有三点。

    • 这个项目跟应聘的职位之间的关联性。
    • 这个项目在整个技术圈内的知名度。
    • 最后就是这个项目是否有一些数据,可以证明你做到了,并且让你有所收获。

    回到刚才的项目经验,其实我们是需要证据的,而最好的证据就是你GitHub的代码链接,或者是你这个项目的一个线上版本——有可能是一个网站,有可能是你展示的一个demo。只要有这样的效果,对于审核简历的人来说,他一眼就能看出来这个项目的技术水平,是能增加很多分的加分项。

    选择熟悉的项目,一定要选择熟悉的项目。应该自己写的项目如果进入了面试,很有可能面试官的问题都来自于你写的项目内容中,所以不要写那些自己模棱两可,或者说仅仅是一个旁观者身份的那种项目。只是看过的,或者没办法深入进去的,被问到也很尴尬。

    项目经历还需要数据支撑。举个例子,比如你为实验楼开发了一个实验操作的模块,这个模块可以支持1000人同时做实验,并且已经稳定在线上运行了几年,这个实验操作模块能达到几百万次实验的检测。这其实是非常好的,有价值的项目经验。

    其实不只是应届生,我们鼓励所有的人在简历里面,尽可能的在项目经验部分列出自己曾经参与过的开源项目。比方说你参与过一些非常知名的、像VIEW一类的开源项目,提交过代码、提交过PR,这其实是非常好的增分项。

    如果,应届生没有这方面的项目的话,也可以写一些实验楼的大项目。但是呢,如果是单纯的实验楼的教学项目,其实我们更希望你能够做一些扩展,就是在实验楼项目基础之上,额外做了一些扩展功能。这也可以帮你在向面试官介绍项目的时候,更好地展示自己的能力。

    最后一点需要注意的是,你的项目描述一定要以非常标准的技术语言来写。甚至说一些技术的关键字,该大写的地方一定要大写,该小写地方一定要小写。这其实非常体现一个人专业化的水平。

    05“ 精通Java、Python、C、PHP = 呵呵 ”

    第四部分通常是技能列表。注意事项:

    1. 实事求是
    2. 根据目标职位适当调整
    3. 数字证明:30000行代码、3个项目-Python
    4. 项目证据:爬取知乎10万用户-Python

    我们在介绍完自己的项目经历之后,通常会写一个技能的列表。而这个技能列表,通常会根据你所应聘的职位做一些修正。你如果应聘Python后端工程师,那你尽可能地把自己Python相关的技能放在最前面。这些关键点,就能够抓住潜在面试官的眼球。

    首先需要注意的仍然是实事求是,尽可能地不要写精通这两个字,可以写熟悉或了解。技能列表也可以增加一些数字辅助的证据。比方说在Python后写上:我曾经有3万行代码的经验;曾经做过三个项目,三个项目在前面的项目经验里也可以做一些验证。此外还有其他的一些证据,比方说我曾经用Python爬取知乎10万个用户,这其实都是非常好的、能体现你技能水平的一些工作。

    06“ 教育经历中需要规避的 ”

    教育经历这部分,好像就没有什么太多可说的。基本上专科、本科、硕士这些自己写清楚,学校、专业、时间也写清楚就可以了。

    务必实事求是,没有必要在这方面弄虚造假。尽管很多的公司可能会看学校,看学历,但在我的理解,他们只是在选择一种更快的筛选方式。而这一点,在实验楼我们并不会特别看重。我们对学历,或者说学校,其实并不是特别在乎。我们更看重的是你先前的一些工作经验或者自己的项目经验,和其他的一些证明自己实力和能力的东西。

    在教育经历这里,大家尽量不要特别强调自学成才。因为哪怕你没有上大学,没有上大专,高中毕业,但是自己对计算机非常感兴趣,又非常努力,是可以拿项目来证明的。但是不要在这里强调自学成才,因为自学成才的概率是非常非常低的,完全靠自己拼搏,出来一个能力非常强的个人,是非常难的,很多公司对这种小概率是非常惧怕的,基本上就会选择筛过。最后一点就是,尽可能不要写培训班的经验。因为目前大部分的线下培训,都是比较粗糙的,能够获得的技能的提升也是非常有限的。

    07“ 不要轻视额外信息 ”

    第六点基本上简历的最后一部分,会介绍很多其他的额外信息,比方说个人的网站或者是GitHub的链接。这里就有很多需要注意的地方。首先你自己的个人网站或技术博客,如果内容不够丰富的话,只有一两篇日志这种的,其实是完全没有必要放出来的。

    第二点需要强调的就是,GitHub是非常非常重要的。至少我们实验楼在招聘的时候,会首先看GitHub上面的一些记录,比方说原创的代码项目,甚至说代码的一些规范,包括提交的一些记录。如果你的GitHub仓库里是空的,并且,大部分都是fork别人的代码,那就不要放了,可以避免很多时间上的浪费。

    如果你有其他原创的项目代码的下载链接,其实也是可以放在这里的。但是,如果需要招聘方花很多时间去查看的话,通常都不会有人看。

    在列出任何一个额外信息的时候,把它的亮点附在后面。比方说你自己的技术博客,你可以写上有150篇的技术博文,当月的访问量达到了100万。这样子是通过数字来吸引别人对你技术博客的关注。

    在技术简历里,非技术相关的信息,比方说参加过的志愿活动、社团活动啊、一律不要放,除非是技术社团。但是技术社团除非很知名,一般情况下也价值不大。

    最后就是,不要写自己的个人描述。技术简历比较单纯一些,我们只看重你的技术水平,你的项目经验。其他的你个人的一些爱好,比如喜欢什么运动,这真的不是特别重要。最后一点就是,如果职位没有要求你写期望的薪资,就不要写,可以到现场去谈。有可能你写了就会错过一些面试的机会。

    08“ 私人干货——技术社交!”

    最后介绍一些简历之外的东西,我个人称之为就是「 技术社交 」。其实是为你打造一个不需要简历,就获得一些应聘机会的方式。需要通过下面这些渠道,增加你自己在技术社区里的知名度。

    当知名度有了的话,很多公司会主动地去联系你。我知道的就有很多大公司的HR,会泡在GitHub上,然后去爬当地star排名非常靠前的用户,再主动地发邮件联系他们,邀请他们来公司进行面试。

    而这部分的内容,就需要时间和个人精力的投入。比方说大学里,你可以选择从大二开始维护自己的GitHub仓库,在上面可以多创建一下项目,然后把自己原创的一些代码,包括参与的开源项目中提交的PR都可以发布上去。

    你还可以用GitHub去搭建一个自己的技术博客,把大二大三大四几年以来的技术的积累和收获都放在上面,到你真正毕业去找工作的时候,其实你基本上不需要一个简历了。GitHub上面几百次的提交就是对你最好的一个证明。

    还有就是像Stack Overflow这一类的技术社区。我个人建议是,在你有一些非常深入的技术了解之后,可以尝试着去回答一些小白的提问,这样子对个人的名声和技术也是有一个提高。

    其他的内容无外乎就是你翻译过的一些技术文档,国外的非常著名的技术文档。其实在GitHub上,就可以加入很多的翻译组。还有你为一些在线教育网站贡献的内容,比方说想实验楼,你在实验楼投稿了一些课程,或是在一些在线教育的视频网站上,发布了一些自己录制的视频,这其实都是非常好的证明。

    09“ 常见问题!”

    第三部分的内容,就是我能想到的一些常见的问题。

    首先需要注意的是,简历一定要短。把你最重要的内容精简到一页纸里面;把你最重要的关键字,精简到最突出的位置上。千万不要增加大段的内容,大段的文字是简历的一个大忌。也不要夹杂太多个人感受、个人经历的文字,真的没人看。Hr或者工程师在收到很多简历的时候,他们的时间是非常有限的。如果你不能在很短的时间内抓住他们的眼球,那其实是浪费了一个很好的机会。

    第二点是关于信息的顺序。首先应届生的话要突出学校,就把自己的教育信息和个人信息合在一起就可以了。非应届的话,最重要的是你的工作经验——你先前的工作、工作的时间长短、工作的核心内容是否与你应聘的职位相关、以及工作中的一些数据证据。个人信息下面就可以直接放一些工作经历。在投递简历的时候要根据应聘的职位进行一些调整。比如调整一些技术技能的顺序、以及先前工作经验中重点关键词的描述,尽可能往应聘需求上靠。

    简历的格式尽可能的用pdf,这样通用性会更好一些。然后是不要放照片,除非是长得非常漂亮,或者职位有要求的,基本上,我见过的职位是没有要求放照片的。

    最后就是如果投递外企的话,尽可能一页英文简历,一页中文简历,因为面试你的很可能是外国工程师。

    另外,如果选择一个公司,可以适当地对这个公司的产品,包括用到的技术进行一些调研,也可以准备一份简短的对该公司产品的技术分析,放在简历里面。当然基本上用不到,更多的可能在面试环节里会用到。

    这就是今天给大家分享的一些内容,因为比较琐碎,在原帖里放了分享提纲,大家可以看下,有任何问题,也可以在原帖中交流讨论。原帖地址:百楼技术分享第 1 期:【如何准备技术简历】

    多一点具体成果描述和数量词
    少一点主观感受和形容词
    不要虚报信息之类的
    行间距拉大,段落对齐,白底黑字

    像写代码一样写简历Jaskey/easyresume

    DEMO: easy resume

    JSON编辑器easy resume editor


    快速尝鲜:

    1. fork 项目并开启github page

    2. 更新json 文件(可借助编辑器),并推到github


    即可生成github page的在线简历

    说到简历,对于IT这种比较偏技术的,我感觉都是用人单位(具体职责的研发部)在审阅简历,HR很大一部分只是帮忙捞取简历(初步筛选程序员简历),他们喜欢简历中说到了和工作职位相符的技能,越多匹配越好。往往是背后技术人员看完简历后,决定面试与否。

    ……继续阅读可以转移到,差不多。

    冰封:面试IT公司的时候,程序员的简历应该写多少个项目经验比较合适?

    程序员当然要用工具咯!

    /** 敲黑板 */

    据说最近需求比较大,所以做了个类 Hexo 的简历制作工具。

    支持:
    1. 自动渲染模板生成静态文件
    2. 监控文件变化本地调试
    3. 支持静态文件压缩
    4. 一键发布到 GitHub Pages 或者 Coding Pages
    5. 可以利用浏览器的打印功能生成一张铺满 A4 纸的 PDF(视不同的 theme 不同)


    GitHub 地址:github.com/Maples7/barn
    Online Demo:cv.maples7.com
    // Chrome 打开以获得最佳效果

    欢迎试用,多挑毛病( ´▽`)
    有时间daochi简历的,出门social去吧。
    我几乎没见过周围的人跳槽有自己投简历的。基本上全是靠熟人朋友推荐的。找找你成了大牛的同学,推荐一把吧。
    至于简历,把你干过的活儿列上去,具体负责那块,产生了什么impact写上就好。再列个你懂得技能,主要是方便hr姐姐们归档,也就o了。不用啰嗦别的,写了也没人看

    由于知乎不支持 Markdown 格式,所以为了更好的阅读效果请移步简书 用产品思维写好你的简历


    刚离职几天,这几天在对上一份工作进行一个全面的总结,首先是先把简历更新一下,加上离职前在公司也参与了一些招聘工作,所以收集总结了一下,目前应届毕业生至3年工作经验的简历中,出现的一些常见的问题,发觉做简历就是做产品,之前老大对我们说,要做个有产品思维的程序员,虽然我现在仍然无法说得清楚什么是产品思维,但脑子里隐约地形成了一些概念,现在谈一下我对简历的一些浅见吧。

    由于本人只是一名 Android 程序员,并没有专业 HR 的工作经验,如果有什么地方写得不对,欢迎大家给我指正,如果你有什么意见或者建议也欢迎给我留言,谢谢。

    下面的大部分内容都是面向程序员的,并不一定适用于其他行业,仅供参考

    格式使用 Word 或者 Pages 制作简历

    当然你也可以使用其他文档工具来写,但务必参考下面几条关于格式和排版的建议,你也可以用 Markdown 来写,这样子会更佳~

    导出为 PDF 格式,考虑不同平台下的阅读体验

    可阅读性强,美观大方,支持跨平台,版本兼容性强,在 Windows、Linux、Mac 上排版都不会改变,各版本之间兼容性也相当的好,所以PDF是最推荐的简历格式,除了PDF外,Word格式也是比较推荐的格式。

    使用有意义的文件命名方式,将信息包含于文件名里

    下方是我收到简历一些错误的范例

    3.pdf
    (mini)应聘前端开发工程师_张某某_.pdf
    个人简历.pdf
    简历3.pdf
    求职简历.pptx
    覃某简历WORD.pdf
    我的简历.pdf
    我的简历安徽.pdf
    姓名:朱某某.pdf
    作品集.pdf
    Curriculum Vitae-V.pdf
    

    像在前面加 (mini) 这个我真的无法理解是什么意思,像简历、我的简历、个人简历 这种命名和 新建文件夹 是一样的效果的,这种简历下载回来后看完基本就找不回来了。

    推荐的命名方式能提供小许信息,如姓名、职位 、文档说明
    好比说 李小明_Android工程师_简历.pdf

    排版使用标准A4纸的尺寸

    A4纸应该是使用最广泛的打印尺寸,为了打印方便,不应该使用一些奇怪的尺寸。

    设置合理的页面边距

    设置合理的边距可以让阅读体验更佳,或者增加页面可阅读内容。
    一些不好的例子

    看到这两个例子,我想你应该对于边距问题心里也大概有个数了吧~

    控制页数为2~3页

    以下内容来自糗百HR阿涛的文章
    TAOTAO,请问如何写简历才能被HR从众多简历里选中呢?

    先普及下HR一般是怎么筛选简历的,一般两个过程:先是初选,这个过程很快,每份简历一般只看几个关键词或者看看有没有知名公司,基本平均就10秒一份简历,别怪我们对大家的诚心诚意不负责任,我们也没办法,每天从几十个招聘网站里初选上千的简历。初选一般会选择10%左右的简历进行复选,复选阶段一般会仔细看简历,筛选掉初选时看的不是太仔细而混进来的简历或匹配度相对低的简历,复选一般还会筛选掉10%左右。一般来说能过初选的候选人基本上离面试也不远了。

    他在文章里说他碰到过19页的简历,我在脑补他如何去人才市场找工作会是怎么样的!

    不添加标题或者标题写为姓名

    不要添加 个人简历 或 简历 这样的标题,标题会占用一定的页面空间,并且没有什么作用,使用姓名作为简历的标题也是不错的选择。

    避免打印时会出现空白页或只有半页的情况

    打印一份简历,出来的最后一页是空白的,没错就是这种情况

    碰到这种情况适当对内容进行一下调整,最好的情况是,内容结束是最后一页的末尾。

    不要制作简历封面(会增加页数)

    写封面这种情况肯定是在网上下载了一些奇怪的模板,或者网上一些奇怪的教程(可能是其他行业的简历教程)而增加上去的。

    不使用照片或使用较正式的证件照
    • 使用了名人的照片
    • 使用了带有不礼貌表现的个人照(竖中指等)
    • 使用了奇怪的自拍照
    • 留有照片位,但不放置照片

    前面三种情况可能不是有心为之,可能是设置了招聘网站的头像导致的,一些招聘网站会把你账号的头像当作简历照片投递出去。但是第四种情况就很不应该了。

    不使用招聘平台生成的简历

    某勾生成的简历还是可以接受的,毕竟是专做互联网的,但是你从一个传统招聘平台上生成的简历,我就完全接受不了~

    • 上面的 Tab 是什么鬼
    • 简历编号又是什么鬼
    • 简历更新日期又是什么鬼
    • 身高0CM又是什么鬼
    • 提供住房又是什么鬼
    • 工作经历里的工资保密又是什么鬼

    上面我列的这几项都是无意义或者错误的信息,我不是想吐槽传统招聘平台生成的简历有什么问题,而是想鄙视一下使用这份简历的人,你都知道上某勾投简历,你就不能再认认真真再填一下某勾的简历吗?你~就~这~么~懒~吗?

    不要给简历增加背景图

    背景图同样会使打印后的阅读效果变得很差,这份简历是把封面和背景都增加了。

    使用标准的字体,合理的字体大小

    务必使用宋体、黑体等较常用的字体,选用适中的字号。

    绝对不允许出现内容重复问题

    这个出现的还是比较少,这个目前只看到一份简历(小伍闪亮登场)存在这种问题,项目经验和工作经验直接写了两份,这个是由于复制粘贴造成的,但这种低级错误实在不应该啊!

    增加页码

    在使用纸质简历阅读时可以更加有不容易弄乱顺序,超过2页时建议一定加上~

    话术避免口语化

    以下是小伍简历中出现的工作经历的职位职责的描述

    • 人员:跟一个设计师,一个安卓开发者合作开发一个小众应用:X物 职能:负责后台开发,产品构想,客户
      端实现,公众号后台对接以及后台自动化测试
    • 团队只有3个人,后台跟美工都是外包的,在职期间表现良好,独自一人承担 iOS 开发工作
    • 学校的移动开发实验室,做过个人项目,指导过比我技术差的同学,因为学校也没有做 ios 的大牛,期间
      表现良好,实验室项目有 O2O 的水果买卖等

    以下是 小伍简历中开发细节的描述

    • 项目进展:项目本来是拿来融 A 轮的项目,但是属于低频需求,而且耗时过长,最后公司放弃这个项目,全力发展爱分享,项目的展示我有 Demo,appstore 审核中.
    • 由于兼职后台,真的好忙,我们的聊天是采用新浪微博这种形式,利用 http 去解决,然后用推送模拟长链接效果,当然,如果长链接下聊天体验更好

    还是得非常严肃地对待找工作这件事情,口语给人的感觉是不严谨不专业~

    不要轻易使用精通二字
    • 精通 Java;
    • 精通掌握 C,Objective-C,熟悉 C++,熟练使用 iOS SDK 以及开发工具 Xcode
    • 精通Objective-C语言 ,熟练掌握Cocoa Touch等框架
    • 精通Objective-C/C等开发语言
    • 熟练使用GCD用于多线程的开发,解决并预防常见的线程安全问题
    • 精通使用各种UI控件的自定义和功能模块的封装、拥有良好的编码习惯

    精通二字慎用,这部分内容出现的不多了,更多出现这精通的是在招聘平台里的技能资料里,看过一份简历,一个半年工作经验的iOS小伙,竟然已经多个语言达到了专家级别。所以没有100%的把握,轻易不要写精通,但也不能都写成了解~

    不要写任何带有抱怨的词语

    以下是 小伍 简历中出现的抱怨内容

    • 由于老板最后没钱不搞了,appstore 没有上线成功
    • 耐得住寂寞跟困难(因为之前都是小团队,得到帮助资源不多)

    还有一个更极端的,每个工作经历都写满了对公司和项目的不满

    简历中应该要体现出自己是个积极向上,不怕困难的人。我最害怕的并不是团队里没有牛人,我最怕的是团队带有负能量的人,切身体会,真的会影响团队其他人的工作热情和效率~

    但是我之前把这个观点发到一个微信群里,就有人持有不同的观点:

    • 离职难道还有因为正能量的么
    • 满满的正能量,谁还愿意从那离职啊
    • 每次面试都问为啥,还不让说上家坏话,明知道我会撒谎,还是要问,人类就是这么自欺欺人

    离职的原因有很多,当然由负面问题造成的肯定占了多数,其实这个时候不应该是埋怨而是反思一下为什么出现这种情况,该如何解决,但也绝对不是满满正能量就不会造成离职,大家都有自己追求的目标,我们为了自己的目标而做出各种选择,这也是很正常的。被问到离职的问题就一定要说上一家公司的不好吗?被问这个问题的时候更应该从自身的角度去思考,思考自己和公司的问题,而不是一味埋怨,我最近经常跟一个朋友吐槽一些产品的缺陷,朋友和我说不要总是看到别人的不足,也要看到别人的优点,学习别人的优点。

    不要使用认为、觉得、应该之类的带有不确定语气的词语

    使用这种词语给人的感觉就是不自信。

    确保不出现错别字,缺少字等低级错误

    这个没有什么好说的,检查多几遍再让其他人帮你检查几遍~

    不要出现贬低他人的词语

    例如:

    • 指导过比我技术差的同学,因为学校也没有做 iOS 的大牛
    • 我在此项目中负责商品列表展示模块,不同于一般的实习生,我很快的就融入了U8平台开发部,当然也是最快被导师分配到协助正式员工工作。在队友的帮助下,我很快就熟悉了我所负责模块的具体任务,并且完成队友给我的排版切换工作。

    从贬低他人的一些话里也是可以看出你对之前公司的不满,对同事的不满,也是可以从中看出一些问题来的。第2个例子这位同学出现了一点小得意,这应该算是过度表现自己的一种体现吧。

    常用名词拼写不规范

    可能大家都不觉得这是什么大问题,所以几乎没有人会注意这个,虽然有可能就是一些大小写的问题,如果你认真去拼写这些名词每个大小写都认认真真去拼,真的可以让人知道你是个特别严谨的人。

    请详细阅读以下两份文档,这是目前发现的比较写得比较好的规范文档
    LeanCloud 文案风格指南
    DaoCloud 写作规范和格式规范

    以下是常见名词及错误的范例

    • Java(错误:JAVA、java)
    • Objective-C(错误:OC、oc、objective-c)
    • Xcode(错误:xcode、XCODE、XCode)
    • Linux(错误:linux、LINUX)
    • App / 应用(错误:APP、软件、程序)
    • Android(错误:android、安卓)
    • iOS(错误:ios、IOS)
    • iPhone(错误:IPHONE、iphone)
    • App Store(中间有空格,错误:AppStore、app store)
    • Runtime(错误:runtime)
    • HTTP(错误:Http、http)
    • HTML(错误:Html、html)
    • CSS(错误:Css、css)
    • JavaScript(错误:javascript、Javascript、js、JS)
    • Git(错误:git、GIT)
    • Eclipse(错误:eclipse)
    • Android Studio(错误:android studio)
    • MySQL(错误:mysql)
    • SQLite(错误:sqlite)
    • Node.js(错误:node、Node、NodeJS、nodejs)

    下面还有一些常见的,但就不写出错误的了

    • XMPP
    • JSON
    • XML
    • jQuery
    • Ruby
    • Python
    • Web
    • Docker
    • Electron
    • NW.js
    • Mac OS X
    • Atom

    这些常用名词还有太多太多了,把自己简历或者一些博客拿出来看一下都可以找到太多,而且目前看过的国内的一些技术文章也有太多会有这个问题的了,真的没什么人会挑这种毛病。

    之前邀请一位 Android 的朋友加入了一个Swift交流群里,朋友就是因为不小心通过手机输入法发了一个 ios 因此群里起了讨论导致被踢,对于我来说,把正确拼写也是一种尊重。

    不要随便使用或更改缩写,以官方名称为准
    • AFNetworking 缩写为 AFN
    • MVC 修改为 MCV
    • ThinkPHP 缩写为 TP
    • Android Studio 缩写为 AS

    或许你会对MVC有着自己的看法,但请在简历上还是保持着通用的写法。这些看法你可以留在面试的时候和面试官聊~

    只使用一种日期格式

    为了保持整个文档的统一性,只使用一种日期格式
    例如:

    2016年
    2016年3月
    2016年3月1日

    或:

    2016
    2016.3
    2016.3.1

    个人资料尽量不使用 QQ 邮箱

    这里说的QQ邮箱特指 数字@qq.com 的邮箱,虽然说用 QQ 邮箱也没什么问题,但是好像 QQ 邮箱是在鄙视链最下面的~

    不要写家庭地址

    这个信息是毫无意义的,HR们在初次筛选简历时应该不会关心求职者住在哪里的。

    不要写目前行业和目前岗位

    如果你目前行业写的不是互联网行业,估计会大大的扣分的。或者目前岗位不是相应的岗位,同理。

    专业信息与教育经历的专业信息重复

    很多简历都出现了这个问题,在个人信息那块写个专业,但同时也在教育经历里出现了同样的信息,所以建议把专业信息放在教育经历里。

    个人博客链接地址过长过于复杂

    例如我的简书主页是:
    痕迹BLANK - 简书
    如果我是在电子版简历上看还可以复制,如果是纸质简历的话那要输入这个链接的话估计也是相当的困难,所以我用了自己的个人域名做了个跳转:blog.jianying.li ,建议你也注册一个自己的专属域名。

    工作经历倒序排列工作经历

    来源百度百科 简历

    有许多职业指导和招聘专家认定时序型格式是简历格式的当然选择,因为这种格式能够演示出持续和向上的职业成长全过程。它是通过强调工作经历实现这一点的。时序型格式以渐进的顺序罗列你曾就职的职位,从最近的职位开始,然后再回溯。区分时序型格式与其他类型格式的一个特点是罗列出的每一项职位下,你要说明你的责任、该职位所需要的技能以及最关键的、突出的成就。关注的焦点在于时间、工作持续期、成长与进步以及成就。

    把最近的工作经历放在最前面可以让HR判断你的经验和他当前招聘的岗位是否符合,也可以看到你的成长情况~

    缺少在职的时间

    在职时间最能体现出你更换工作是不是过于频繁,也能从中找到你是不是出现过长时间的无业状态(虽然有可能你是在休假或者是自由职业),所以说如果你换工作过于频繁,那我建议你慎重考虑一下怎么写你的在职时间啰。

    不要写薪资,也不要写为保密

    将薪资写上去会给HR提供一个参考值,如果你现在薪资11k,但你觉得你现在值20k了,但HR看到你上一份工作薪资是11k的话,可能会让HR对你能力的质疑,或者给你较低的薪资。写保密就真的没有任何意义了,没能提供半点有用的信息。

    缺少职位职责

    这个也是可以判断你的经验和当前招聘的岗位是否符合,多个职位职责描述同样可以看到你的能力成长。

    将职位职责写成了项目职责或技能列表

    把项目经验和职位职责混在一起直接写在职位职责去了

    岗位职责: 1、独立负责公司 iOS 平台下应用程序的设计开发; 2、负责调试并修改应用所存在的问题;3、负责接口调试及与公司其他同事技术交流; 4、负责 iOS 开发工作计划安排及相关技术文档的书写;5、负责项目测试及打包上传至 AppStore;项目经验: 项目一:有点意思 项目时长:三个月 项目职责:个人完成 项目描述:这里有海量的段子囧图让你笑翻天; 这里的一切都可以成为你寻找乐趣、killing time 的好伴侣! 有点意思—最有趣的内容分享社区! 主要技术: 1、使用七牛上传图片到七牛云存储; 2、使用 CollectionView 实现自定义瀑布流;3、使用 Reachability 检测网络状况; 4、集成第三方友盟 SDK 实现应用的登录及分享; 5、利用第三方框架 SDWebImage 实现图片异步加载; 6、实现搜索查询、评论、发表图文帖子等功能。 项目二:Sense 项目时长:三个月 项目职责:个人完成 项目描述: 一款类似微博的社区类 APP 主要技术: 1、项目重构;2、图文、纯图、投票等多种帖子发表功能实现; 3、私信、拉黑等功能; 4、CoreAnimation、Quartz2D 技术使用; 5、大量使用通知、block、代理等传值; 6、图片高斯模糊处理、压缩处理及其他优化;

    把项目,技能等等信息全混在一起写了

    现在 iOS 水平大概是个中级,由于社会和行业压力,本人会努力学习快速成为一个高级开发人员。成果如下: 一个上线的资讯类APP(正在审核),熟悉上架流程;熟练掌握 C/Objective-C 编程语言,有良好的编程习惯,较强的逻辑思维能力; 熟练掌握 MVC、KVC、单例、代理等常用的设计模式; 熟练掌握各种 UI 控件,熟悉多视图开发,能实现复杂的界面和简单的动画;熟练掌握 Block、 Notification、代理的使用; 熟练掌握 JSON、XML 等相关数据的解析; 熟练掌握代码约束及 XIB 自动布局实现屏幕适配; 熟练掌握 GCD /NSOperation 实现多线程和并行开发; 熟悉AFNetworking、SDWebImage、SDAutoLayout、MJRefresh 等第三方库的使用; 深入了解 UITableView 的性能优化、cell 的高度自适应; 会使用 storyboard 和 xib 进行开发; 了解 SQLite、FMDB 实现本地化储存,了解 Plist、归档等数据永久化操作; 了解定位服务及百度地图; 了解 ShareSDK/友盟社会化分享的使用;了解SVN代码管理软件;

    职位职责应该应该要总结你的日常主要工作,负责的内容,不需要将细节写进去,更不应该将项目细节写进去。

    职位职责过于笼统

    例如:

    • 独立开发app 和团队合作开发app
    • 因为公司 是 外包公司,经常接到 外面的项目,产品经理 做完架构之后 就会分配 工作给每个人,我主要 负责 当时 的社交化分享功能,通过 集成友盟或者 Mob 的 第三方分享 和登陆功能 ,应用优化以及 bug 收集。
    • 旧项目的维护和版本迭代,新项目的 研发

    如果写成第一种这种倒不如不写呢,你根本不清楚自己在公司的定位。第二种和第一种就刚好相反,把工作细节全部写了进去。

    项目经验倒序排列项目经验

    项目经验倒序和工作经历经验倒序是有同样的作用,都是可以让HR判断你的经验和他当前招聘的岗位是否符合,也可以看到你的成长情况~

    只写了项目名称和时间,不描述其他细节

    项目经验是简历中最为重要的内容,如果你在拉勾上投简历没有项目经验很可能会自动被过滤掉的,之前有一位应届的小伙直接过来霸面来着,后来我翻了一下拉勾,从已自动过滤里找到了,看到项目经验不到十个字就写完了,但是在聊的时候却发现有一个项目还是他在学校自己创业的项目,包括了融资、编码、运营等等的事情都有在做,他说他是因为时间太紧而没写的,这些其实都不能当成理由的,不然你的简历只会出现在已自动过滤里~~~~

    项目简介篇幅过长

    小伍的项目经验

    • 易商为企业提供傻瓜化后台制作漂亮的移动画册,用户可以关联企业获取移动画册,并进行转发。易商会记录画册的转发路径,如果有人对 画册表 示感兴 趣,发 起转 发的关 联用户 将会收 到感兴 趣用户 的信息 ,双方就可以开始洽谈了。如果达成交易 ,转发 路径上 的所有 用户 都可以 获得彼 此的信 息,以 及企业 提供的 奖励。用户还可以利用易商最大限度地 获取人 脉,迅 速找到 潜在 客户。
    • 这个是针对企业的(特别是东莞的传统企业),是一个通过易商 App,微信,微博,QQ 来传播企业文档,以及提高企业销售 产品曝光率的应 用

    已经把项目简介写成了项目详细介绍了,这个例子已经把项目的所有细节都写出来了,简介顾名思义就是要简洁明了,一句话把项目说清楚,细节什么的都不用写。

    未写自己在项目的职责

    不知为何,在多份简历上看到过同样的这份好豆菜谱的项目经验

    1.业务介绍
    好豆菜谱是中国美食大全,提供了家 常菜、 川菜、 粤菜、 特色 菜、私 房菜、 创意菜 等的菜 肴做法 ,是下 厨房 烹饪必备的美食菜谱软件。
    2.架构介绍
    这款软件共分为4个模块,每个模块都是采用 MVC 框架实现数据与视图的分离,MVC:即 Model 层、View 层、 控制器层,Model 层存储对象和属性,控制器层将解析的数据存储到这些对象和属性中,View 层则是将数据 显示在页面上。
    3.技术点介绍
    (1)采用 CocoaPods 引进第三方库
    (2)网络请求使用第三方库 AFNetworking 封装了一个网络请求工具类
    (3)利用第三方库 HTHorizontalSelectionList 实现多个页面横向滚动功能
    (4)采用第三方库 MJRefresh 实现下拉刷新,上拉加载效果
    (5)利用 UIView 实现下拉菜单功能
    (6)利用富文本实现图文混排
    (7)利用系统库 MediaPlayer.framework 实现视频播放功能
    (8)通过图片和文字的大小实现 UITableView 的高度自适应效果
    (9)用 Core Animation 框架实现带动画的点赞功能
    (10)通过设置导航栏的 alpha 值实现导航栏的透明度渐变效果

    这个对于项目的描述还算是比较条理清楚的了,但是这个描述并没有我最关心的一点 —— 项目职责,你是在担任架构师呢?还是做测试呢?还是做产品的呢?没有这个最关键的信息点,这个项目经验就没有任何价值~

    GitHub 项目内容作假

    这个问题出现在一个应届生的简历中,对于这个问题我的态度是无法容忍,简历中出现了四个GitHub项目:ZhihuDaily、 Uber、weather、WB,对于使用GitHut分享自己代码的,给我的感觉还不错,所以我就去看了一下。造假的痕迹真的很容看出来的。

    拿 WB 项目来举例(iOS项目)

    1. 只有 first commit,Create README.md,Update README.md 三个commit
    2. 仓库里未添加 .gitignore 文件,所以在 xcuserdata 文件夹里 发现了 cabbage.xcuserdatad 文件,搜索发现一个Weibo-Swift 项目,并且时间提交记录早了5个月,clone下来对比内容全部一样,只是注释的作者名字修改过了。
    描述关键技术点过多或过于业余,且未能和职责联系起来

    技术要点:
    1.火车、长途汽车、公交等不同模块 基类的 合理运 用
    2.实现自动定位到当前用户所在的城 市功能
    3.利用CoreLocation框架实现地理编码和反地理编码功能
    4.源数据请求以及解析
    5.UI界面对Segment的合理应用

    没有写开发时间,或只写了项目周期甚至没写

    通过项目简介再通过开发时间,也是可以判定这个项目的难度的,项目难度也是可以拿来对技术水平进行评估的。建议写上项目时间,不要写开发周期,原因和倒序排列工作经历项目经验类似。

    未写项目为团队开发或个人开发

    很多招聘信息里都有写着有独立开发的能力,如果是个人开发的,那正好可以告诉招聘者我有独立开发能力,团队开发同理~

    已上线应用的建议提供短链接

    如果直接提供一个 App Store 的完整下载链接可能一行是放不下的,一换行就对阅读体检产生一定的影响,这时候可以使用一些短网址服务将你的下载链接缩短。

    项目职责与项目关键技术点混淆不清

    • 使用 AFNetworking进行数据请求与解析
    • 实时汇率计算,实时温度
    • 使用第三方(SDWebImage)实现图片异步加载
    • 使用高德地图官方SDK,进行地图的接入
    • 实现UITableView的Cell自适应大小
    • 使用科大讯飞语音功能

    这是写在了项目职责里的内容了,这完全是项目关键技术点的内容,一定要明确分清项目职责和项目关键技术点。

    对于流产的项目,不要描述流产细节
    • 由于老板最后没钱不搞了,appstore 没有上线成功
    • 项目本来是拿来融 A 轮的项目,但是属于低频需求,而且耗时过长,最后公司放弃这个项目
    • 产品经理跑路啦!App项目废弃啦!我特么被动失业啦!
    专业技能将技术点写成了语言
    • 熟悉html、js、ajax等前端语言。
      AJAX 并不是语言,而是一种技术,写成这样不知道是无意为之还是,但这样子给人的感觉就是业余
    描述篇幅过长或过于业余

    其中一份描述专业技能的例子:

    熟练掌握 Objective-C, C 语言, 具有良好的编程思想;
    熟练掌握 iOS 内存管理机制, MRC, ARC 编程;
    熟练使用 MVC 模式, 单例模式, 代理模式, 观察者模式等设计模式编程;
    了解 MVVM 开发架构模式;
    熟练掌握 UI 控件特性, 手势, 熟悉多视图应用开发, 能实现复杂界面布局及视觉效果;
    熟练自定义 UI 视图控件, UI 布局, 动画编程;
    熟练使用 Storyboard, xib 进行可视化编程;
    熟练掌握 NSThread, NSOperation, GCD 多线程编程技术;
    熟练使用 BLOCK 进行页面传值及方法回调;
    熟练掌握 XML 解析, JSON 解析方式;
    熟悉使用 SQLite, CoreData 数据库, 归档和反归档, NSUserDefault 数据持久化方式, 能
    熟练编写各类 sql 语句;
    熟悉 UIKit 框架的使用以及对控件进行重写和封装, 满足项目需求;
    熟练使用 AFNetworking, Reachability, MJRefresh, SDWebImage, FMDB 等第三方类库的使用;
    熟练使用 CocoaPods 管理第三方开源框架工具;
    熟练掌握 Appstore 上架流程以及本地推送和远程推送;
    了解 HTTP, TCP/IP, UDP, Socket 等协议;
    熟悉 XMPP 的环境配置, 实现即时通讯功能;
    熟悉 Swift 开发语言;
    有相关团队开发经验, 也能根据设计需求独立作业;

    像这份简历已经达到了6页之多,并且光是个人技能已经满满一页了,其实是像Xib,XML / JSON 解析,第三方类库使用等等是可以直接写到项目经验里去的,个人技术只挑具有代表性的内容即可。

    校内经历不要写社会实践经历

    例如:

    高中寒暑假期间做过厂工、服务员、网管
    大学读书期间固定兼职武术跆拳道教练
    组织指导并参加 2016 中山市少儿春晚演出

    不要写社团经历 / 校内职务

    例如:

    大一和大二服务于武术协会的公关策划部和双节棍部,主要负责策划活动,筹集经费,带领训练和编排节 目
    大一到大三一直为校区艺术团武术队成员,编排和参加各种表演

    不要写荣誉证书

    不要写一些非专业相关的证书(驾驶证这些真的不要写),更加不要把相关证书拍下来贴上简历。

    投递通过邮件发送时请检查发信昵称,避免出现对方显示的发件人是个非主流名称

    蒋某某-ios-求职
    发件人:┆若┮小律ˇ 122xxxx557@qq.com
    时 间:2016年1月20日(星期三) 下午4:51
    收件人: leo leo@example.com

    发送简历时请认真对待标题和正文
    • 邮件标题不能为空
    • 邮件正文不能为空
    • 稍微写一些客套话,但也不建议把简历直接写在正文里
    加分项
    • 使用 Git
    • 使用 Markdown
    • 参加或发起过开源项目(使用 GitHub)
    • 坚持写博客
    其他霸面时提供纸质简历,更不要拿网页版的简历过来

    就是上次那位霸面的小伙,没有带纸质简历,而且某勾上下载回来的简历是没有内容的,并且还是使用了网页版的简历(小伙设计专业转前端的),导致我还得等他把电脑打开打开他的网页版简历来看(Windows电脑真的用不惯啊)

    预先准备好演示作品

    当时我刚自觉转行做Android第一次面试一家小公司的时候就要求我做演示,当时我是用着 iPhone 手机,然后面试官就拿着他的Android手机到应用商店下载了一个进行演示,当然不太顺利啦。所以还是做好这个准备吧。

    对于加班的看法

    我是不赞同企业任何的加班文化的,加班的效率真的是很低很低的,而且造成加班很大一部分原因是因为项目安排不合理,其实更应该是合理的安排,让出更多的时间来学习成长,这样子就不会走进一个加班的死循环。由于个人的起点较低,近4年都几乎处于加班的状态,忽略了生活,学习,交际等等事情,刚开始觉得无所谓,到最近才发现,自己和别人的差距一直在变大,所以我更希望如果作为Leader更应该优化项目安排,提高效率,给下属腾出更多的时间来提升自己,提高效率。

    一些零星看法
    • 程序员的简历只需要做到简洁,条理清晰
    • 程序员的简历的质量高不高不在于简历的模板有多漂亮,而在于里面的内容。
    • 目前网上可搜索到的简历,分别来自应届生、较少经验者、培训机构学生流出、简历平台、招聘平台等,可供参考价值较少。
    有些问题,想问专业的HR
    1. 关于对简历页数的看法
    2. 关于对标题的看法
    3. 关于对贴不贴照片的看法
    4. 关于对专业信息与教育经历的专业信息重复的看法
    5. 关于对使用QQ邮箱的看法(如果是投腾讯呢?)
    最在最后

    当时我在整理这篇文章的时候一个朋友(某现网CTO)和我说:简历改好了又怎么样,人还是那拔人,这样只只会增加筛选成本。其实我倒觉得不会,结果应该是好的人才被发现了,渣的人还在那里~

    我的简历:GitHub - lijy91/resume

    笔记及参考文章
    1. 在整理文章时记录的脑图笔记
    2. TAOTAO,请问如何写简历才能被HR从众多简历里选中呢?

    编程语言,你的个人成就和水平。不要过于简单,简单到让面试者 “胡思乱想”。

    <img data-rawheight="278" data-rawwidth="500" src="https://pic2.zhimg.com/50/8841e98dd765b8cd5a2f57aba6b0db55_hd.jpg" class="origin_image zh-lightbox-thumb" width="500" data-original="https://pic2.zhimg.com/8841e98dd765b8cd5a2f57aba6b0db55_r.jpg">

    例如:

    简历里面对工作描述就只有一行话:

    在一个3人组成的团队里开发一个 e-mail 插件。

    你是在考验面试者的智商嘛?他不会懂你语言背后的含义,你需要清晰明确的告诉他……

    那么问题来了?这样的简历,面试者会怎么想呢?

    1.工作的挑战性如何?

    2.你的工作跟我们公司有多少相关性,所以你需要把工作描述清楚。

    所以更合适的写法应该是这样的:

    用C++语言实现一个用来执行自动备份的 Outlook e-mail 插件。

    有三个人一起开发这个任务,其他两个人分别负责编写备份存储服务器

    和产品的打包、分发给300,000个客户。

    平淡的事情切勿写在简历里

    太多鸡毛蒜皮的事,会拉低你整个简历的质量水平。

    例如:

    实习生, XYZ 公司

    1.优化ABC组件代码,使其执行效率提高20%。

    2.用C++实现ABC组件的前端程序。

    3.整理文档,做一些行政工作。

    如果最后一条不像前两条那样有影响力,那就去掉它。即使只写一条也不会有问题——只要它是吸引人的信息。

    例如:

    在简历介绍:我按时完成了这个任务,并达到了预期目标。

    你不说,面试者也会默认这样的,而你把一个不是什么成就的事情当成一个成就写出来反而会弱化你的简历。

    真实的反映你的工作,不要浮夸

    面试者都是用自己的感觉来判断你的工作性质和价值的,所以你要写一些量词。像:奖励(公司内部或外部的)、新闻报道、工资涨幅以及其它的可测量的事情。不要用你自己的主观意识去描述。这样既能抬高自己,又不会显得你很傲慢。

    例如:

    “我曾经快速的开发出了令人赞叹的软件”或“每当其他人搞不定时,我都被叫去去救火”

    你觉得你的简历会打动他吗?

    Oh,NO!!面试者看完估计也不懂你到底多优秀,因为你没有明确的量词告诉他。

    如果改为:

    “通过3周的努力使软件的效率提高了25%”和“我先后被派往了三个进度严重滞后的项目,并分别帮它们度过难关。”

    你说这样的简历,他会轻易的拒绝吗?

    详细列出所有能提升你形象的事情

    我有个朋友叫 Melody (化名),我认识她有10年了。她开发的一个产品让她的XXX公司赚取了百万美元,获得了很多的行业赞誉,这个软件成了她们公司的旗舰软件。我去上海时,看到高速路旁边树着一排她们的产品的广告牌。

    然而,当我看她的简历时,上面只写道:公司产品的技术负责人,此产品为用户执行X任务提供企业级解决方案。

    你应该写出你获得的荣誉和奖励……

    如果你在业余时间完成了一些有技术挑战性的项目,或者还有一批可观的用户(几百号),这些也一并列在你的简历里。

    别撒谎

    这似乎不需要提醒,在招聘会上看到有简历写着:“重写了XYZ公司的电子商务系统后端程序”。可面试却说:“我在XYZ公司 干过,他不是干这个的!”

    好吧,就凭这一点就完全有理由拒绝这个人。

    小课忽然觉得中华文化博大精深呀,仅仅简单的字句改动,不仅让你的简历锦上添花,还可能会让你得到一个offer。

    废话少说,按照这些技巧,程序猿们好好修改自己的简历吧!




    展开全文
  • 计算机三(数据库)备考题目知识总结

    千次阅读 多人点赞 2019-04-20 13:06:45
    计算机三(数据库)备考题目知识总结刷题所遇到的知识总结考后总结 刷题所遇到的知识总结 以下都是我在刷题时遇到的常考的知识,供复习时做参考。 1.DBAS需求分析阶段的项重要工作是分析DBAS应具有的...

    计算机三级(数据库)备考题目知识点总结

    刷题所遇到的知识点总结

    以下都是我在刷题时遇到的常考的知识点,供复习时做参考。

    1.DBAS需求分析阶段的一项重要工作是分析DBAS应具有的性能指标,主要包括:①数据操作响应时间,或数据访问响应时间;②系统吞吐量,即指系统在单位时间内可以完成的数据库事务或查询的数量;③允许并发访问最大用户数;④每TPS(Price per TPS)代价值。

    2.聚集索引的键值可以重复。

    3.索引适合使用的条件:

    ①在经常需要搜索的列上,可以加快搜索的速度;
    ②在经常使用连接的列上(这些列主要是一些外键)可以加快连接的速度,在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;
    ③在经常使盘【用WHERE子句中的列上面创建索引,加快条件的判断速度。
    

    不适合使用的条件:

    ①对于那些在查询中很少使用或者参考的列不应该创建索引;
    ②对于那些只有很少数据值的列也不应该创建索引;
    ③经常进行更新的列不适宜创建索引。
    

    4.SQL Server 2008中GRANT的用法为(先on后to):

    GRANT { ALL [ PRIVILEGES ] }
     | permission [ ( column [ ,...n ] ) ] [ ,...n ]
    [ ON [ class :: ] securable ] TO principal [ ,...n ] 
    [ WITH GRANT OPTION ] [ AS principal ]
    

    5.数据库物理设计并不包括文件和数据库的具体实现细节(例如如何创建文件、建立数据库以及如何加载数据等)。

    6.一个数据库只对应一种内模式。一个数据库中可以定义多个外模式数据库系统三级模式和两层映像的系统结构保证了数据库系统中能够具有较高的逻辑独立性和物理独立性。

    7.分布式数据库总的数据分布策略可以从数据分片和数据分配两个角度来考虑,一般先数据分片,再数据分配。分片是对关系的操作,而分配是对分片结果的操作。分片模式是描述每个数据片断以及全局关系到片段的映像,分配模式是描述各片断到物理存放场地的映像。

    8.SQL Server 2008的数据恢复模式有三种:

    ①简单恢复模式,此方法可以最大幅度减少事务日志的管理开销,因为恢复模式不备份事务日志。但是如果数据库损坏,则简单恢复模式将面临极大的数据丢失风险。在这种恢复模式下,数据只能恢复到最新备份状态。因此对于用户数据库,简单恢复模式只适用于测试和开发数据库,或用于主要包含只读数据的数据库。
    ②完整恢复模式,此方法可以完整的记录所有事务,并将事务日志记录保留到对其备份完毕为止。此方法相对简单恢复模式来说,更占用时间。
    ③大容量日志恢复模式,此方法只对大容量操作进行最小记录,使事务日志不会被大容量加载操作所填充。
    在数据导入过程中,所有的业务都是暂停的,因此可以采用简单恢复模式提高数据导入速度。且只在数据导入的过程中暂时的修改恢复模式,因此数据并不会丢失。
    

    9.物化视图是预先计算并保存表连接或聚集等耗时较多的操作结果,这样,在执行查询时大大提高了读取速度。

    10.第一类ODS数据更新频率是秒级,第二类ODS的数据更新频率是小时级,第三类ODS的数据更新频率是天级,上述三类是根据数据更新的速度划分的,ODSⅣ:第四类ODS是根据数据来源方向和类型划分的。

    11.事务的隔离性保护了数据的完整性。Ⅲ中数字签名是用于数据防篡改,定义主码是用于实体的完整性。

    12.聚集文件是一种具有多种记录类型的文件,它存储了来自多个关系表的数据,每个关系表对应文件中的一种记录类型。聚集文件将不同关系表中有关联的记录存储在同一磁盘块内,从而减少数据库多表查询操作时的磁盘访问次数,提高系统I/O速度和查找处理速度。

    13.数据库管理员的职责有:

    ①数据库的转储和恢复;
    ②数据库安全性、完整性控制;
    ③数据库性能的检测和改善;
    ④数据库的重组和重构。
    

    14.每个游标都有一个当前行指针,当游标打开后,当前行指针自动指向结果集的第一行数据,INSENSITIVE关键字用以创建由该游标使用的数据的临时副本。对游标的所有请求都从 tempdb 中的该临时表中得到应答。因此,在对该游标进行提取操作时,返回的数据中不反映对基表所做的修改,并且该游标不允许修改。使用 SQL-92 语法时,如果省略 INSENSITIVE,任何用户对基表提交的删除和更新都反映在后面的提取中。

    "@@FETCH_STATUS= 0"时,表示的含义是FETCH语句成功;
    "@@FETCH_STATUS=-1"时,FETCH 语句失败或行不在结果集中;
    "@@FETCH_STATUS=-2"时,提取的行不存在;
    

    关闭游标之后,可以通过OPEN语句再次打开该游标。

    15.文件结构优缺点:

    堆文件:查找很麻烦,但插入很方便,适合批量加载数据。
    顺序文件:对于主键的查找很方便。顺序文件特别适用于磁带存储器,也适用于磁盘存储器。顺序文件的随机存取(即按随机给出的关键码存取一条记录)效率很低。缺点还有文件不能动态增长,不利于文件插入和删除。
    散列文件:具有随机存放、记录不需进行排序、插入删除方便、存取速度快、不需要索引区和节省存储空间等优点。
    聚集文件:适用于范围筛选,自带排序。不同关系表中有关联关系的记录存储在一起。如果某些重要而频繁的用户查询经常需要进行多表连接操作,可以考虑聚集文件,来改善查询效率
    

    16.T-SQL语言总结:
    创建数据库:

    CREATE DATABASE Students
     ON PRIMARY                        主文件组文件1
          (
          		NAME = Student_data1,
          		FILENAME ='F:\DATA\MDF',
          		SIZE = 5MB,
          		MAXSIZE = UNLIMITED,
          		FILEGROWTH = 1MB
          )
          (								 主文件组文件2
          		NAME = Student_data1,
          		FILENAME ='F:\DATA\NDF',
          		SIZE = 5MB,
          		MAXSIZE = UNLIMITED,
          		FILEGROWTH = 1MB
          )
          LOG OPTION                        日志文件1
          (
          		NAME = Student_data1,
          		FILENAME ='F:\DATA\ldf',
          		SIZE = 5MB,
          		MAXSIZE = UNLIMITED,
          		FILEGROWTH = 1MB
          )
          (								日志文件2
          		NAME = Student_data1,
          		FILENAME ='F:\DATA\ldf',
          		SIZE = 5MB,
          		MAXSIZE = UNLIMITED,
          		FILEGROWTH = 1MB
          )
    

    修改数据库:

    ALTER DATABASE RShDb
    	ADD FILE(
    
    	)
    
    	ALTER DATABASE RShDb
    	MODIFY FILE(
    		
    	)
    
    	ALTER DATABASE RShDb
    	ADD LOG FILE(
    		
    	)
    

    收缩数据库空间:

    DBCC SHRINKDATABASE(Students,20)
    

    收缩文件空间:

    DBCC SHRINKFILE(Students,4)
    

    删除数据库文件:

    ALTER DATABASE student REMOVE FILE Student_data1
    

    分离和附加数据库:

    分离:EXEC sp_detach_db 'Students','true'
    附加:CREATE DATABSE Students ON(FILENAME='F:\DATA\.MDF') FOR ATTACH
    

    数据库架构:

    CREATE SCHEMA TEST AUTHORIZATION ZHANG
    	CREATE TABLE T1(
    							C1 INT
    							C2  CHAR(10))
    							
    DROP SCHEMA  TEST CASCADE(连架构对象一起删除)/RESTRICT(如果架构中包含架构对象,不删除)
    

    分区表:

    				创建分区函数:CREATE PARTITION FUNCTION myRangePF1(int)
    							 AS RANGE LEFT(小于等于和大于)/RIGHT(大于等于和小于) FOR VALUES(1,100,1000)
    				创建分区方案:CREATE PARTITION FUNCTION myRangePF1(int)
    							 	AS RANGE LEFT FOR VALUES(1,100,1000)
    							 GO
    							 CREATE PARTITION SCHEME myRangePS
    							    AS PARTITION myRangePF1 
    							    TO(test1fg,test2fg,test3fg,test4fg)
    							 GO
    							 CREATE TABLE ParititonTable(
    							 col1 int,
    							 col2 char(10))
    							 ON myRangePS(col1)
    

    索引:

    创建索引:CREATE NONCLUSTERED/CLUSTERED/UNIQUE INDEX IX_TransactionHistory
    			         	ON Transaction(TransactionDate)
    删除索引:DROP INDEX INDEXNAME;
    索引视图:
    	适合使用索引视图的场景:很少更新基础数据或者基础数据以批处理的形式定期更新,可以提高连接和聚合操作的性能。
    创建索引视图:CREATE VIEW Sales.vOrders
    		  	 With SCHEMABINDING
    			 AS
    			 SELECT 。。。。。
    			 GO
    			 CREATE UNIQUE CLUSTERED INDEX IDX_V1 必须是唯一聚集索引
    			    ON Sales.vOrders(字段名)
    			 GO
    			 后面直接使用视图
    

    17.SQL SERVER将数据库分为两大类:系统数据库和用户数据库。
    系统会自动安装五个系统数据库:

    master(所有系统级信息)
    msdb(调度报警和作业以及记录操作员时使用)
    model(所有数据库模板)
    tempdb(临时对象和中间结果集)
    Resourse(只读数据库,包含了所有系统的对象)
    

    19.操作系统文件包括数据文件(数据和对象)和日志文件(恢复数据库中所有事务需要的信息)。

    20.数据文件包括主要数据文件(mdf)(一个数据库只有一个)和次要数据文件(ndf)。日志文件(ldf)。

    21.数据库文件组:主文件组和用户定义的文件组。

    22.数据库文件的属性:文件名及其位置,初始大小,增长方式,最大大小

    23.存取控制又可以分为自主存取控制(DAC)和强制存取控制(MAC)两类。

    自主存取控制方法中,拥有数据对象的用户即拥有对数据的所有存取权限,而且用户可以将其所拥有的存取权限转授予其他用户。自主存取控制很灵活,但在采用自主存取控制策略的数据库中,这种由授权定义的存取限制很容易被旁路,使系统无法对抗对数据库的恶意攻击。因此,在要求保证更高程度的安全性系统中采用了强制存取控制的方法。

    在强制存取控制方法中,将用户和客体分为多种安全级别,对数据库中每个存取对象指派一个密级,对每个用户授予一个存取级,由系统提供基于标识的高级安全认证。对任意一个对象,只有具有合法存取级的用户才可以存取。

    当主体的许可证级别大于或等于客体的密级时,主体才能读相应的客体。

    当主体的许可证级别小于或等于客体的密级时,主体才能写相应的客体。

    24.开窗函数:

    开窗函数必须放在over前面,分别应用于每个分区。
    聚合开窗函数:
    	SELECT Cno,Cname,Semester,Credit,SUM(Credit)OVER(PARTITION BY Semester)AS'Total',
    	AVG(Credit) OVER(PARTITION BY Semester)AS 'Avg' FROM Course;
    聚合排名函数:
    	RANK(可以有并列),DENSE_RANK(不可以有并列),NTILE(分组函数),ROW_NUMBER(每个分区内行的序列号,从1开始)
    	例子:
    		SELECT OrderID,ProductID,OrderQty,
    			RANK() OVER
    			(PARTITION BY OrderID ORDER BY OrderQty DESC)AS RANK
    			FROM OrderDetail
    			ORDER BY OrderID;
    

    25.公用表表达式:

    WITH BuyCount(CardID,Counts)AS (
    	SELECT CardID,COUNT(*)FROM Table_SaleBill
    			GROUP BY CardID)
    	SELECT CardID,Counts FROM BuyCount ORDER BY Counts
    

    26.相关子查询:

    1、使用子查询进行基于集合的测试: WHERE IN/NOT IN (先执行内层再执行外层)
    2、使用子查询进行比较测试:where 语句中不能出现聚合函数,因此需要先用SELECT先得到聚合函数的结果。
    3、使用子查询进行存在性测试:where EXISTS/NOT EXISTS(先执行外层,又执行内层)
    

    27.多属性索引按照其区分度进行排序

    29.在数据库应用系统中,可以通过以下几个原则来预防死锁:

    ①各个事务应顺序访问共享资源,将复杂的、大的事务分解成多个简单、小的事务;
    ②按同一顺序访问对象;
    ③事务隔离性级别;
    ④使用绑定连接;
    ⑤灵活使用显示加锁技术等。
    

    30.对于一张表上某个操作可以建立多个后触发器,但只能建立一个前触发器。

    31.(大致有个印象)根据监控对象的不同,数据库的监控分析可以分为:

    对数据库架构体系的监控
    	主要内容:空间基本信息、空间使用率与剩余空间大小,空间是否具有自动扩展的能力、哪些表的扩展将引起空间的扩展,以及段的占用空间与区间数等。
    对数据库性能的监控
    	主要包括:数据缓冲区的命中率、库缓冲、用户锁、锁与等待、回滚段、临时段使用情况、索引的使用情况、等待事件和共享池。
    

    32.(常考)OLTP(online transaction processing):联机事务处理环境(基本操作)
    OLAP(online analytical processing):联机分析处理用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。多维分析操作:1.钻取与卷起2.切片3.旋转
    33. 游标(常考选择题和填空):

    声明游标:DECLARE cursor_name 【INSENSITIVE】【SCROLL】CRUSOR
    	         FOR。。。
    例子说明一切:
    	 DECLARE @CN VARCHAR(10), @Email VARCHAR(50)
    	    DECLARE Cname_cursor CURSOR FOR
    		  SELECT CName, Email From Table_Customer
    			WHERE CName LIKE ‘王%’AND Address LIKE ‘’
    	    OPEN Cname_cursor
    	 FETCH NEXT FROM Cname_cursor INTO @cn,@Email
    	 WHILE @@FETCH_STATUS=0
    	 BEGIN
    		PRINT’顾客姓名:’+@cn+’邮箱’+@Email
    		FETCH NEXT FROM Cname_cursor INTO @cn,@Email
    	 END
    	CLOSE Cname_cursor
    	DEALLOCATE Cname_cursor
    游标的一些关键字注释:
    	ABSOLUTE:从开始第几个
    	RELATIVE:从当前位置起始第几个
    	INSENSITIVE:敏感和不敏感。加上就不敏感,提取操作读取的是tempdb中的临时副本中的数据,不加的话读的是原表中的数据。
    	SCROLL:加上可以使用所有操作,不加只能使用next
    

    34.UML图总结概述:所有系统均由静态结构和动态行为组成。

    UML支持动态建模的四类图:状态图,顺序图,协作图,活动图
    UML四个层次:元元模型,元模型,用户模型,模型
     业务流程-活动图:可以并行描述逻辑流程的先后执行次序。------
     系统需求-用例图:用例,角色和系统
     系统结构-类图:关联(共享聚集:空心菱形,组合:实心菱形),通用化继承:空心三角形实线,依赖:,精化:空心三角形虚线
     系统结构-顺序图:说明对象的协作如何达到系统的目标要求。纵向表示时间的持续过程,横向表示对象。对象之间的通信用水平消息线表示。强调时间------
     系统结构-通信图:描述对象彼此间的联系。强调空间----
     微观设计-对象图:某一个特定时间点上系统所有对象的一个快照。
     微观设计-状态图:陈述系统有关时间或状态转移。椭圆框内是状态----
     微观设计-时间图:利用时间的推移,让时间因子呈现一个可视化状态。
     宏观设计-包图:高内聚,低耦合
     宏观设计-交互概述图:将流程(活动图)进行整合。
     宏观设计-复合结构图:用于系统的整合。
     系统实现-组件图:
     系统实现-部署图:
    

    35.强制存取控制(填空题常考):D类:最小保护。C类:自主保护。B类:强制保护。A类:验证保护。

    36.数据库物理设计并不包括文件和数据库的具体实现细节(例如如何创建文件、建立数据库以及如何加载数据等)。

    37.dbcreator角色具有创建、删除、修改和还原数据库对象的权限,所以可以使ACCT只在dbcreator角色中。

    38.分布式数据库总的数据分布策略可以从数据分片和数据分配两个角度来考虑,一般先数据分片,再数据分配。分片是对关系的操作,而分配是对分片结果的操作。分片模式是描述每个数据片断以及全局关系到片段的映像,分配模式是描述各片断到物理存放场地的映像。

    41.事务的ACID(常考选择题填空题

    ⑴ 原子性(Atomicity)
      原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务 功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。
    ⑵ 一致性(Consistency)
      一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。
      拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。
    ⑶ 隔离性(Isolation)
      隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
      即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。
      关于事务的隔离性数据库提供了多种隔离级别,稍后会介绍到。
    ⑷ 持久性(Durability)
      持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。 例如我们在使用JDBC操作数据库时,在提交事务方法后,提示用户事务操作完成,当我们程序执行完成直到看到提示后,就可以认定事务以及正确提交,即使这时候数据库出现了问题,也必须要将我们的事务完全执行完成,否则就会造成我们看到提示事务处理完毕,但是数据库因为故障而没有执行事务的重大错误。
    

    42.元数据:描述表结构,表间关系的数据为元数据;建立统计分析时的数据集成等也是元数据。

    43.系统规划和定义的具体内容包括:任务陈述、确定任务目标、确定系统范围和边界、确定用户视图。

    44.DFD中的箭头表示的数据的流向,不能表示控制流和约束。

    45.表示层的主要任务是进行人机界面设计;业务逻辑层的主要任务是梳理DBAS的各项业务活动,将其表示为各种系统构件(如类、模块、组件等);数据访问层的主要任务就是针对DBAS的数据处理需求设计用于操作数据库的各类事务;数据持久层主要任务进行应用系统的存储结构设计。

    46.对数据文件和它的一个特定的索引文件,如果数据文件中数据记录的排列顺序与索引文件中索引项的排列顺序相一致,则称该索引文件为聚集索引。聚集索引可以是主索引,也可以是辅索引。在数据文件的主码属性集上建立的索引称为主索引。主索引可以是聚集索引,也可以是非聚集索引。聚集索引的键值可以重复。稀疏索引属于有序索引,所以所指向的数据文件一定是有序的。

    47.散列文件组织不适合下述情况:

    ①基于散列域值的非精确查询(如模糊查询、范围查询);
    ②基于非散列域进行的查询。
    

    48.WITH DIFFERENTIAL,NOINIT中DIFFERENTIAL表示进行数据库差异备份,没有该选项表示进行完整数据库备份,NOINIT表示将该次备份内容追加到指定的媒体集上,以保留原有的备份集。

    47.轮转法对于点查询和范围查询的处理较复杂,由于不知道所要查找的元组具体分布在哪个磁盘上,必须对所有磁盘进行查找,明显降低了查询效率,不适合点查询。散列划分和范围划分方法均利于点查询。

    48.决策支持系统一般是指企业中以数据为基础对重要业务或事务实施辅助决策的信息系统。

    49.K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。

    50.UML四层建模框架:元元模型(组成UML最基本的元素),元模型(组成基本元素,包括面向对象和面向组件),模型(这一层每个概念都包含元模型的一个实例),用户模型(都是模型层的一个实例)

    51.常见的RAID级别有:

    RAID0(优点是采用数据分块、并行传送的技术,能过提高读写速度)
    RAID1(安全,采用镜像的方式,提高了读的速度,没有提高写的速度,提高了系统的容错能力,硬盘的利用率低)
    RAID5(在RAID0的基础上加入奇偶校验信息,读取速度和RAID0相似,但写入速度稍慢,但磁盘利用率比RAID1高)
    RAID10(RAID0和RAID1的结合体,提高了读写速度)。
    

    52.备份数据库的T-SQL语法:

    BACKUP DATABASE/LOG database_name TO MyBK_1 WITH DIFFERENTIAL,NOINIT;
    DIFFERENTIAL 差异备份
    默认是完整备份
    NOINT 追加,并保留原有的集合
    

    53.并行数据库的划分策略:

    分为共享内存结构,共享磁盘结构,无共享结构和层次结构。
    一维数据划分: 轮转法:不适用于点查询和范围查询,但充分发挥了并行性。
    散列划分:适合点查询,对于顺序查询也是非常高效的,如果选择散列函数不合理会导致数据划分的不均衡。
    范围划分:适用于点查询和范围查询。
    

    54.数据挖掘

    数据挖掘的步骤:数据准备,数据挖掘,结果解释与评估。
    数据挖掘的分类:  
     关联规则挖掘:发现数据间的某种联系。支持度,置信度
     分类挖掘:建立分类函数,构造分类器。
     聚类挖掘:组内具有较高的相似度,而在不同组内的相似度有很大差异。
     时间序列分析:数据演变分析。
    

    55.DFD数据流图:分为四部门:

    数据流(箭头,描述数据的流向),处理(矩形框,对数据进行加工和变换),数据存储,外部项(平行四边形框,数据的提供者和使用者)自顶向下逐步细化的结构化分析方法。
    

    56.IDEFO(ICAM DEFinition Method):矩形框(功能活动)和箭头。上方箭头控制,下方箭头机制,左方箭头条件,右方箭头输出。

    57.云计算通常包括软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(Iaas)。

    58.创建分区表有一下几个步骤:创建分区函数,创建分区方案和使用分区方案创建表。

    59.从功能角度可以将数据库应用系统划分为4个层次即表示层、业务逻辑层、数据访问层、数据持久层。其中表示层概要设计的主要任务是进行人机界面设计;业务逻层概要设计的主要任务是梳理DBAS的各项业务活动,将其表示为各种系统架构;数据访问层概要设计的主要任务就是针对DBAS的数据处理需求设计用于操作数据库的各类事务;数据持久层概要设计的主要任务进行应用系统的存储结构设计。

    60.对象间的通信用对象生命线之间的水平消息线表示,箭头说明消息的类型,如同步、异步或简单。
    顺序图可以表示递归过程,当一个操作调用它本身时,消息总是同步的。
    在顺序图中可以描述如何创建和销毁对象,创建或销毁一个对象的消息一般是同步的。
    顺序图中的消息可以有条件,并规定只有条件为真时才可以发送和接收消息,如果条件之间不互相排斥,则消息可能会并行发出。

    61.不能在视图上定义AFTER型触发器

    62.标量函数是返回单个数据值的函数。标量函数中不适用SET语句.

    63.将数据文件和索引文件放置在同一磁盘上不能提高查询效率,这是因为同一磁盘读取数据没有在不同磁盘上并行读取数据快。

    64.建立数据仓库的主要目的在于根据决策需求对企业的数据采取适当的手段进行集成,形成一个综合的、面向分析的数据环境,用于支持企业的信息性、决策性的分析应用。

    65.如果要使某用户可以将授予他的权限再转授给其他用户,那么在授权语句中需要加上WITH GRANT OPTION 选项。

    66.需求分析过程包括标识问题、建立需求模型、描述需求、确认需求。其中DFD和IDEF0可用于建立需求模型;而IDEF2用于系统模拟,建立动态模型。

    67.在UML中,用例用椭圆形表示,用例位于系统边界的内部。

    68.无共享结构被认为是支持并行数据库系统的最好并行结构,它通过最小化共享资源来降低资源竞争的概率,具有极高的可扩展性,并可在复杂数据库查询处理和联机事务处理过程中达到近线性的加速比,因此,无共享结构比较适合OLTP之类的应用。

    69.XML数据库适合管理复杂数据结构的数据集,当数据本身具有层次特征时,由于XML数据格式能够清晰表达数据的层次特性,因此XML数据库便于对层次化的数据进行操作。

    70.聚类方法包括统计方法、机器学习方法、神经网络方法和面向数据库的方法等。在机器学习中,聚类称作无监督(或无教师)归纳。与分类相比,分类的例子或数据对象均有类别标记,而聚类的例子则没有标记,需要由聚类算法来自动确定。聚类的核心就是将一个数据集中的数据进行分组,使得每一组内的数据尽可能的相似而不同组见的数据尽可能不同。

    71.在IDEF1X数据建模方法中,直角矩形框用于表示独立实体集,圆角矩形框用于表示从属实体集。

    72.在分类预测任务中,需要用到的数据一般包括训练集、测试集和验证集。
    73.SQL Server 2008数据库中主要数据文件大小最小不能小于3MB。
    74.Guest是SQL Server中的一个特殊的数据库用户,在实际中经常作为数据库的匿名访问者使用。sa是系统定义的一个数据库登录账户。一个登录账户可以映射为多个数据库中的用户。当登录账户成为数据库中的合法用户之后,该账户除了具有一些系统视图的查询权限之外,并不对数据库中的用户数据和对象具有任何操作权限。
    75.数据集成是将源自不同数据源的数据经过抽取、转换、清理、装载等操作载入数据仓库的过程,用户只有从数据源中抽取出所需数据,再经过数据清洗,并加载到按照先前所设计的数据仓库中以后,才能对数据仓库中的数据进行报表分析、多维分析和数据挖掘等,而并不是把企业里的所有数据集成到数据仓库中
    76.创建用户定义函数:
    标量函数:
    CREATE FUCNTION function_name(参数)
    RETURNS int
    AS
    BEGIN
    RETURN(返回值)
    END

    	内联表值函数:
    			单语句表值函数:
    				CREATE FUNCTION function_name(参数)
    				RETURNS table
    				AS
    				BEGIN
    					RETURN(SELECT语句)
    				END
    			多语句表值函数:
    				CREATE FUNCTION function_name(参数)
    				RETURNS 表名 table()
    				AS
    				BEGIN
    					INSERT INTO 表名
    						SELECT 语句
    					RETURN
    				END
    

    77.触发器的定义规则:触发器分为DML(数据操作语言),DDL(数据定义语言)和登录触发器(LOGON)。

    创建触发器:CREATE TRIGGER trigger_name ON table_name FOR/AFTER/INSTEAD OF
    			AS
    			BEGIN
    			END;
    触发器注意事项: 对于AFTER型触发器,同一种操作能建立多个触发器。
    			   对于INSTEAD OF型触发器,在同一种操作上只能建立一个触发器。
    			   触发器主体中不允许使用建立和更改数据库及数据库对象的语句。
    			   IF UPDATE 来判断是否对指定字段有影响。
    			   产生INSERTED和DELETED表,DELETED表中存储DELETE和UPDATE语句所影响的行的副本。
    			   						   INSERTED表中存储INSERT和UPDATE语句所影响的行的副本。
    

    78.事务内部的故障分为预期的事务内部故障和非预期的事务内部故障。预期的事务内部指的是事务程序本身发现的事务内部故障(校园卡余额出现不一致的情况,由于事务的一致性得不到保障)。而非预期的事务内部故障是不能由事务程序来处理的,比如运算溢出故障、并发事务死锁故障、违反了某些完整性限制而导致的故障。(看是否能通过事务程序去处理)

    79.分布式数据库的三大特点:非集中式管理,高可用性,本地自治

    80.数据仓库的特点:面向主题的、集成的、非易失的、随时间变化的。(面向主题性,集成性,不可更新性,时间特性)

    81.在IDEF1X数据建模方法中,直角矩形框用于表示独立实体集,圆角矩形框用于表示从属实体集。
    IDEF1X用矩形框来表示实体集,用加了圆形的矩形框来表示从属实体集。
    联系:标定型联系(由双亲的联系确定,实线连接单点)、非标定型联系(无需了解双亲的实体集,虚线连接单点)、分类联系(月薪职工和计时职工,单点实线两杠)、非确定联系(多对多关系,两点实线)

    82.账户只能连接到SQL Server数据库服务器上,但是不具有访问任何使用数据库的权限。让数据库账户成为数据库用户的操作成为“映射”。一个登陆账户可以映射多个数据库的用户。新建立的数据库只有一个用户:dbo。它是数据库的拥有者。其中,还有guest用户可以匿名访问数据库(不需要账户)。

    83.XML(Extensible Markup Language):可扩展标识语言。
    XML数据库的优势:

    1.XML数据库能够对半结构化数据进行有效的存取和管理。
    2.提供对标签和路径的操作。
    3.便于对层次化的数据进行操作。
    

    84.事务规范包括了事务名称、事务描述、事务所访问的数据项、事务用户

    85.事务日志备份仅用于完整恢复模式和大容量日志恢复模式,它并不备份数据库本身,只备份日志记录,而且只备份从上次备份之后到当前备份时间发生变化的日志内容。但是不允许对大容量操作日志备份进行时点恢复。结尾日志备份在出现故障时进行,用于防止丢失数据,可以包含纯日志记录或者大容量操作日志记录。

    86.聚集函数的并行化计算可以采取“先分后合”的方法。

    87.位置独立性、数据分片独立性和数据复制独立性是使分布式数据库具有分布式透明性的主要因素。

    88.两阶段的提交协议将场地的事务管理器分为协调者和参与者,通过协调者在第一阶段询问所有参与者事务是否可以提交,参与者做出应答,在第二阶段协调者根据参与者的回答决定事务是否提交。

    89.在制定备份策略时,除考虑使用备份恢复时丢失的数据量外,还需考虑数据库备份所需的时间。检查点技术大幅度减少了数据库完全恢复时所必须执行的日志部分。静态转储虽然保证了数据的有效性,但是却是以降低数据库的可用性为代价;动态转储虽然提高了数据库的可用性,但数据的有效性却可能得不到保障。差量转储和增量转储相比,速度慢,占用空间较多,但恢复速度比增量转储快。

    90.SQL Server支持两种备份方式,一种是先建立备份设备,然后再将数据库备份到备份设备上,这样的备份设备称为永久备份设备;另一种是直接将数据库备份到物理文件上,这样的备份设备称为临时备份设备。创建备份设备的T-SQL存储过程为sp_addumpdevice

    91.快照是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。它反映的是某个时间点内的数据,该数据具有不可以改变性。而商场商品销售表、电信公司通话详单属于动态数据,不适合用快照的方式获取数据。

    92.在UML的状态机图中,状态之间的转移是由事件驱动的。

    93.日志备份知识点:

    备份内容:用户数据和系统数据。
    备份时间:系统数据库一定要在修改之后立即做备份。
    			 对用户数据库采取周期性的备份方法。
    需要立刻对用户数据库进行备份的情况:
    			 创建数据库或者在数据库中批量加载数据之后。
    			 创建索引之后。
    			 执行了清理事务日志的操作之后。
    			 执行了大容量数据操作之后。
    备份方式:永久备份设备:先建立备份,然后再将数据库备份到备份设备上。
    			 临时备份设备:直接将数据库备份到物理文件上。
    创建备份设备的SQL语句为:sp_addumpdevice
    备份类型:数据库备份:
    完整数据库备份:备份特定数据库中的所有数据以及可以恢复这些数据的足够日志。(备份并不影响用户的操作,还能把备份过程中所发生的操作也全都备份下来)
    		差异数据库:备份从最近的完整备份后数据库的全部变化内容。占用的空间小,执行速度快                
    文件备份:可以只还原损坏的文件,而不用还原数据库的其余部分,从而加快了恢复速度。
    文件备份:一个或多个文件或文件组。
    差异文件备份
    事务日志备份:可以将数据库恢复到故障点或特定的某个时间点。事务日志使用的资源少。
    事务日志的三种类型:纯日志备份(仅包含一定量的事务日志备份),大容量操作日志备份(包含日志记录和大容量操作更改的数据页的备份,不允许对大容量操作日志备份进行时点恢复),结尾日志备份。
    常用的备份策略: 设计有效的备份策略需要仔细规划、实现和测试。其中测试是必须的环节。
    				完整数据库备份。
    				完整数据库备份加日志备份。
    				完整数据库备份加差异备份再加日志备份。
    

    94.客户服务器架构(C/S):客户端负责用户界面和应用业务规则。数据库服务器负责事务逻辑,数据存储,数据存取。胖客户端
    浏览器服务器架构(B/S):浏览器负责显示逻辑,Web应用服务器负责应用业务规则,数据库服务器负责事务逻辑,数据存储,数据存取。瘦客户端

    95.检查点:
    事务在故障发生时未完成,也就是未提交,应该予以撤销;
    如果事务在检查点之后才提交,它们对数据库所做的修改在故障发生时仍在缓冲区,尚未写入数据库,所以要REDO操作;
    如果事务在检查点之前已经提交,所以不必执行REDO操作。

    96.为了避免活锁,采用先来先服务的策略处理事务。

    97.元数据主要分为技术元数据和业务元数据两类.

    98.数据库镜像分为高可用操作模式、高保护操作模式和高性能操作模式。

    99.数据处理需求分析结果也可以表示为事务规范。事务规范包括事务名称、事务描述、事务所访问的数据项、事务用户

    100.tempdb是临时数据库,用于保存临时对象或中间结果集,并为数据的排序等操作提供一个临时工作空间。每次启动SQL Server时都会重新创建tempdb数据库。tempdb用于存放临时信息,用户创建的局部和全局临时表均被自动放置在该数据库中。

    100.SQL Server 2008支持数据库、数据文件两个级别的数据恢复。

    101.数据库完整性约束条件的作用对象分为列、元组和关系三种级别。元组对应于行,关系对应于表。

    102.SELECT基本语法格式是

    SELECT 查询内容  
    FROM 表名
    WHERE 条件表达式
    GROUP BY 待分组的列名
    HAVING 列名 
    ORDER BY 待排序的列名。
    

    103.在数据仓库的导出数据或物化视图(实视图)的维护策略中,只在用户查询时发现数据已经过期才进行更新的策略称为延时维护策略.
    维护策略包括:实时维护,延时维护和快照维护。

    104.在调用存储过程时,只需要声明参数的类型,不能指明参数为输出参数。只有再执行时才能指明参数为输出参数。

    105.分离数据库时需要停用被分离的数据库,但是不需要停用SQL Server服务

    106.Oracle的安全控制机制可分为数据库级的安全控制、表级、行级和列级的安全控制。数据库级的安全性通过用户身份认证和授予用户相应系统权限来保证,而表级、行级、列级的安全性是通过授予或回收对象特权保证的。Oracle数据库中的用户按其操作权限大小可分DBA用户和普通用户

    107.数据库运行维护工作主要包括数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监控分析和改进;数据库的重组和重构。其中新建数据库用户属于数据库的安全性和完整性控制的一项功能。

    108.数据库系统运行需要依赖服务器、操作系统、存储、网络等多种因素。单纯地增加数据库CPU数量并不一定会提高数据库查询速度。RAID1提高了读速度,加强了系统的可靠性,但是磁盘的利用率低,冗余度高,写的速度并未提高。数据库管理员进行优化时需要对数据库系统有深入了解,对业务系统也要深入了解。

    109.分离和附加数据库:

    分离数据库会将数据库从SQL Server实例中删除,但不删除数据库的数据文件和日志文件。分离数据库的目的是让数据库文件和日志不受数据库系统的管理,而是复制到另一台计算机上或同一台计算机的其它地方。sp_detach_db
    附加数据库就是讲分离的数据库重新附加到数据库管理系统中,可以附加到一个实例上,也可以附加到另一台数据库服务器上。
    

    110.系统设计细分为概念设计、逻辑设计、物理设计3个步骤。事务详细编码设计采用高级程序语言设计或DBMS提供的事务实现机制,涵盖于系统设计的物理设计模块。

    111.角色是与系统进行交互的外部实体,可以是系统用户也可以是其他系统或者硬件设备。

    112.完整数据库备份(也称为完全存储)将备份特定数据库中的所有数据,以及可以恢复这些数据的足够日志。完整数据库备份是所有备份方法中最基本也是最重要的备份,是备份的基础。完整数据库备份备份了数据库中的全部信息,是恢复的基线。由于数据库备份是一个在线的操作,一个大的完整数据库备份可能需要一个小时甚至更长的时间,数据库在这段时间里还会发生变化,所以完整数据库备份还要对部分事务日志进行备份,以便能够恢复数据库到一个事务一致的状态。在利用“完整数据库备份+日志备份”时,需要有序并逐个还原所有日志备份。如果有差异备份,则“完整数据库备份+差异备份+日志备份”比“完整数据库备份+日志备份”还原起来方便快捷,节省时间成本。仅有差异备份是无法恢复数据库数据的

    113.层次结构综合了共享内存、共享磁盘和无共享结构的特点。

    114.RANK():返回结果集的分区内每行的排名。行的排名是相关行之前的排名数加一。如果两个或多个行与一个排名关联,则每个关联行将得到相同的排名。

    DENSE_RANK():返回结果集分区中行的排名,在排名中没有任何间断。行的排名等于所讨论行之前的所有排名数加一。如果有两个或多个行受同一个分区中排名的约束,则每个约束行将接收相同的排名。

    ROW_NUMBER():返回结果集分区内行的序列号,每个分区的第一行从开始。ORDER BY子句可确定在特定分区中为行分配唯一ROW_NUMBER的顺序。

    NTILE():将有序分区中的行分发到指定数目的组中。各个组有编号,编号从一开始。对于每一个行,NTILE 将返回此行所属的组的编号。

    115.操作可行性研究是论证是否具备DBAS开发所需的各类人员资源(项目管理人员、数据库系统分析员、应用编程人员等)、软件资源、硬件资源和工作环境等,以及为支持DBAS开发如何去改进加强这几方面资源。

    116.①确定数据的存储结构;②设计数据的存取路径;③确定数据的存放位置;④确定系统配置。

    117.用例模型描述的是外部执行者(Actor)所理解的系统功能,它是从系统外部看系统功能,并不描述系统内部对功能的具体实现。

    118.设计良好的备份策略,除了要考虑特定业务要求外,同时还应尽量提高数据的可用性并尽量减少数据的丢失。备份策略的制定包括定义备份的类型和频率、备份所需硬件的特性和速度、备份的测试方法以及备份媒体的存储位置和方法。一般应将数据库和备份放置在不同的设备上,因此备份策略应考虑备份的存放位置和存放设备。

    119.BigTable表的索引是行关键字、列关键字和时间戳,每个单元由行关键字、列关键字和时间戳共同定位。BigTable数据模型的特点是:①表中的关键字可以是任意的字符串;②列族是由列关键字组成的集合,是访问控制的基本单位;③时间戳记录了BigTable是每一个数据项所包含的不同版本的数据的时间标识。在BigTable中,不仅可以随意地增减行的数量,在一定的约束条件下,还可以对列的数量进行扩展。

    图表类型 功能描述
    活动图 主要描述系统、用例和程序模块中逻辑流程的先后执行次序,并行次序
    用例图 用例模型是把满足用户需求的所有功能表示出来的工具。用例模型描述的是外部执行者(Actor)所理解的系统功能,它是从系统外部看系统功能,并不描述系统内部对功能的具体实现。
    类图(静态结构) 类图展现了一组类、结构和协作以及它们之间的关系;关联(共享聚集:空心菱形,组合:实心菱形),通用化继承:空心三角形实线,依赖:,精化:空心三角形虚线
    顺序图(动态结构) 说明对象的协作如何达到系统的目标
    通信图(动态结构) 显示了在交互过程中各个对象之间的组织交互关系以及对象彼此之间的链接
    对象图 对象图是某一个特定时间点上,系统所存在的所有对象的一个快照
    状态机图 状态图主要目的在于陈述系统中有关事件或对象的状态转移
    时间图 主要利用时间轴的推移让时间因子呈现一个可视化的效果
    包图 表达系统中不同的包、命名空间或不同的项目间彼此的关系。
    交互概述图 利用活动图作为基础,在其控制流间连接的是交互图
    复合结构图 需要进行系统整合的情况,绘制出要开发的系统与外部系统间的关系
    组件图 用来表示系统的静态实现视图,展现组件之间的组织依赖,用于系统建模
    部署图 描述系统中硬件与软件的物理配置情况和系统体系结构

    121.支持度和置信度(经常考选择题):

    支持度:数据库D中有S%包含X->Y.
    置信度:数据库D中包含X的所有元组中有C%包含X->Y.
    

    122.事务等待图动态地反映了所有事务的等待情况,并发控制子系统周期性地生成事务等待图进行检测,而不是在执行每个事务的时候进行检测。

    123.简单恢复模式只用于测试和开发数据库,或用于主要包含只读数据的数据库,如数据仓库。

    124.数据库用户可分为系统管理员、普通用户和对象拥有者。

    125.数据处理需求分析结果可以表示为事务规范。

    126.oracle数据库用户按其操作权限大小可分为DBA用户和普通用户。

    127.数据模型由数据结构,数据操作和完整性约束三部分构成。

    129.datediff():用来计算两个日期之差。

    130.两级加锁协议可以保证可串行性。

    131.在分布式数据库中,采用半连接操作可以减少场地间的·数据传输量。

    132.索引结构:索引列列值和对应的指针构成。

    133.标量函数,内嵌表值函数,多语句表值函数

    134.手动监控机制和自动监控机制。

    135.数据转换,对数据粒度不一致的数据进行转换。

    136.运用ETL工具通常要完成的处理操作是:抽取,转换和装载。

    137.建立物化视图和聚集属于存储优化方法。

    考后总结

    最后写一下本人对于计算机三级数据库考试的一些看法。相信大家报考计算机三级一是为了拿到证书,二是为了能够拓宽知识面。三级考试是知识点式的考核模式,因此只要肯拿出时间,数据库小白也可以考高分。但是,会考试不一定代表会应用,数据库作为当今应用最广泛的数据存储,处理架构,它是经过无数代数据库工程师一步一步优化后才形成现在成熟的体系,这不可能是3~4周备考的时间就能够掌握的。作为一个参加过这门考试的人,我不建议大家花一个月的时间成本去考取证书,如果有时间,可以尽量寻找一些包含数据库应用的项目,在应用中不断进步才是当代的新青年,工程师应该走的学习之路。
    如果大家已经报名,那么就按着博客的复习方式,用大概一个月的时间去准备它吧!毕竟这也是证明自己的一种方式。加油!在学习中不断成长。

    展开全文
  • 面试字节跳动的一点经验

    万次阅读 2019-07-16 23:30:21
    我在 2019 年 7 月 8 日入职了字节跳动,借着这次机会想与伙伴们分享一下字节跳动的面试经验,希望对你有用。 通过本篇文章你将了解到: 应该抱着什么样的心态去大公司 加入字节跳动前我是如何做准备的 我在字节...

    我在 2019 年 7 月 8 日入职了字节跳动,借着这次机会想与小伙伴们分享一下字节跳动的面试经验,希望对你有用。

    通过本篇文章你将了解到:

    • 应该抱着什么样的心态去大公司
    • 加入字节跳动前我是如何做准备的
    • 我在字节跳动的面试感受
    • 面试经验总结
    • 一些小福利

    适合的小伙伴:

    • 1 - 3 年的后端

    今天正式入职了字节跳动。工号超吉利,尾数是 4 个 6。然后办公环境也很好,这边一栋楼都是办公区域。公司内部配备各种小零食、饮料,还有免费的咖啡。15 楼还有健身房。而且公司包三餐来着。下午三点半左右还会有阿姨推着小车给大家送下午茶。

    听说入职以后很容易长胖来着。不过如果想要保持身材的话,公司二楼还提供专门的健身餐。周二周四还可以预约专业的按摩服务,有效调理颈椎和腰椎。生活服务得这么贴心,感觉在这里就只需要好好工作就好了吧,哈哈

    其实很早就和小伙伴们说要写一篇面试经验的。包括我为什么想要换工作,为了换工作做了什么准备,以及面试过程的一些分享。但是前段时间因为住院做了个小手术而耽误了。

    今天刚刚好现在在入职的熟悉时期。晚上的时候趁机把这篇写完,顺便也借机会完成一下我们组的新手村任务。各位有兴趣来字节跳动的朋友们,可以把简历发送给我邮箱,我来帮你内推哟。

    为什么想去字节跳动

    实际上,这次的工作变动并不在我计划中。只是在四月份的时候偶然得知字节跳动上海要搬到合川路地铁站附近,我就忽然心动了。

    为什么呢?

    因为我家距离合川路地铁站步行只要十分钟。本身宇宙条待遇高名声在外,也就是说,只要我能来这里的话,人生最美满的钱多事少离家近的不可能三角我能拿俩。

    所以在五月份的时候我就开始悄摸摸地准备面试头条了。为的就是以后可以过上早上八点半起床,然后慢慢悠悠走到公司还不迟到(可能还是很早来的人之一)的生活。

    当然,这是我为什么想去字节跳动的原因。换算到你们自己的时候,你们也要想一想是因为什么想要换一份工作、想要去某个公司。为了薪资?环境?平台?还是大公司的名头?记住,不管是为了哪一个,都 OK 的。

    谈钱不伤感情,目标明确,心智坚定以后,才好围绕着这个目标做一系列的准备。面试的过程中每次面试官问我为什么想来字节跳动,我都是直截了当地说离家近,还说假如这次面不上,准备准备,过段时间再面试好了。反正你们公司就在我家旁边,三年五载的可能都跑不掉,哈哈。

    因为这种面上 OK,面不上也没事的心态,所以感觉面试的时候我的发挥也好一些。本身就是一个互相选择的过程,而且这个过程中,公司方相对来说固定一些,因为他的招人标准不太可能会有太大的变化。

    拿我经常用来怼人的一个例子来打比方:我常常和别人说,搞技术开发,英语很重要。你需要英语来看最新的技术文档,并且有些翻译并不准确,你可能需要看原文才能理解什么意思。有的人当时就会和我说,哎,可惜我英语不太好。这个时候我会回,没事,你现在英语不好不是你的错,但是如果我一年以后,甚至两年三年以后再来问你英语怎么样,要是你还和我说你英文不好的话,那你就得查一下自己的问题了。你根本就不想着学英语,英语怎么可能会好?

    类比下来,如果你根本不想去这个公司,那你怎么可能来到这个公司?如果你真的想去一个公司,可能现在这个时候你暂时不满足要求,但是没事,只要咱知道别人是啥要求,咱认真学习,好好准备,一年以后再面试,两年以后再面试,甚至三年、五年以后再来试试,都可以的。

    人最怕的不是没有达成目标,而是没有一个真正的目标。所以,换工作之前,你要想清楚为什么,并且提前开始准备。

    我准备了些啥?

    其实我有好长一段时间没有正规地面试过了。三年前从数云换到 GIO 的时候,因为简历上的相关技术太过于匹配,所以基本上就和 CTO 聊了聊就确定过去了;后来再回数云的时候,也就和总监喝了一下咖啡就回来了。也就是大约 5 年的时间里面,我没有正规地接受过面试。所以在准备投字节跳动之前,我投了几个公司做了一下热身活动。

    记住,这个时候其实不需要有啥心理包袱。因为本身候选人面试成功的可能性比较低,一个合适的可以面试的人选他们也很乐意看看,而且万一你确实想换工作,但是心仪的公司面不上,而热身活动的公司拿到了 offer,你也可以考虑考虑去看下。并且这个时候你没有任何的心理包袱,因为反正你也就是来面试看看的,所以面试时候的发挥可能也会更好点,因此说不定最终拿的 offer 会比最后想去的那家更好呢?

    当然这里面不包括我。我第一次面试的时候就被血虐了 T-T。参加中间件比赛的时候,我用的 netty 做的实现。个人感觉对 netty 还算有所了解的,结果面试官让我直接写出 netty 的源码结构,包括哪几个主要的类以及名称还有互相之间的关系……工作的项目里面我使用了 kafka 来做消息队列,来缓冲流量,保护系统,结果直接让我描述 kafka 的存储结构……比赛的时候我通过各种手段让程序无 GC,结果直接就要我说出各种 GC 算法的原理和应用场景……PolarDB 比赛我们自己写了 KV,对标的是 RocksDB,结果让我描述 RocksDB 的索引结构……

    当然,虽然基本上他问的东西我都有所了解,并且清楚应用场景在哪里,但是到了细节里面的时候,就稍微有点蒙圈了。虽然每个细节我确认我稍微看一下就能搞定的,但是架不住面试的时候无法张口就来呀。

    这个时候,感觉仿佛我变成了年轻时候的杨过,忽然身边出现了一个金轮法王对我说:"杨兄弟,你的武功花样甚多,不过我倚老卖老说一句,博采众家固然甚妙,但也不免驳而不纯。你最擅长的到底是哪一门功夫?要用什么武功去对付郭靖夫妇?"。

    对呀,我的知识面很广,各种应用框架新技术可能都有所耳闻,但是我最擅长的是哪一个呢?虽然我深深地知道我最擅长的是 Scala 和 Akka、Play、Lagom 等,但是架不住没有人会问呀。

    事已至此,虽然我帅如杨过,但是此时也不得不考虑一下整理一下平生所学,找出强点和弱点,然后在面试的时候有的放矢。所以第一次热身面试之后的一个星期,我基本就在整理我的知识结构了。我大致按照如下结构做了一份思维导图:

    1. JVM 相关
      1. 运行时结构
      2. GC 算法
      3. JVM 调优
    2. 编程语言
      1. Scala
      2. Java
    3. 数据结构与算法
      1. 表、栈、队列
      2. 散列
      3. 优先队列
      4. 排序
      5. 高级数据结构
    4. 并发编程
      1. Java 内存模型
      2. 基本工具
      3. 无锁并发
      4. 反应式工具
    5. 微服务
      1. 微服务设计
      2. 服务治理
    6. 中间件
      1. 分布式缓存
      2. 消息队列
      3. RPC
    7. 数据库
      1. 关系型数据库
      2. NoSQL
      3. NewSQL
    8. 机器学习算法
      1. 推荐算法

    其中 JVM、Scala 相关、并发编程、消息队列什么的,我都仔细写了一下;Java 语言太简单就没弄,数据结构稍微看了一下感觉脑海里面尘封很久的记忆忽然就被唤醒了,所以也没咋做笔记,微服务相关的太熟没弄,推荐算法太难了也没有弄;数据库相关的内容太多了,也没弄。

    但是大体来说索引结构在这里,拿到 xmind 之后,你可以按照自己的知识结构体系将其补全或者修改,然后学而时习之,甚至在面试之前也可以稍微看看加深一下记忆。(想要获得我的索引笔记,关注我的公众号“写 Scala 的老王”,后台回复"知识索引"即可。)

    这之后我就进行了第二次面试。第二次面试技术相关的问题其实就没啥太大的问题了,主要考验我的是说话技巧相关的事情。我这人有点毛病,想的太多,想要做的事情太多。这些其实没啥大问题,但是我不确定的事情我也喜欢和人说,还不分场合地就和人说了。

    比如,我面的是中间件团队,但是我终面面试的时候却说我因为之前搞推荐算法对深度学习产生了兴趣,想要今年考个在职研究生学一下深度学习。

    可其实,这个时候我说这个干嘛呢?脑袋有点抽抽的吗?并且他问了我一个手写代码的题,我想了半天没有想出来。问题是如何去算根号 2 的值。我的第一反应很快,牛顿迭代法嘛!

    但是他说让我在纸上把代码写出来的时候,我就一直在想办法回忆牛顿迭代法是个什么鬼,应该怎么用来算根号 2。

    然后一直在纸上推演导数啊什么鬼的……直到他提示我这个不是一个数学问题,二分查找就能算出来的时候,我才心不甘情不愿地开始弄二分查找的写法(内心 OS:牛顿迭代法肯定比二分查找好的呀!为什么不给我时间回忆一下牛顿迭代!)。

    这个时候又暴露了我一个问题,我好久没有手写代码了。没有 IDE 的时候,我基本上啥都不是……写了半天勉勉强强地弄了个版本出来,估计也不是 bug free 的。所以,最终这个公司的 offer 也没拿到。辛苦为我推荐的普架了。

    这之后我又知道了我出来面试的几个缺点。

    首先就是要合适地说话,与面试无关的话题不要扯;其次就是我得练习一下手写代码了。不至于要刷题,但是问到什么必须能至少写出个大概吧。

    所以我就登录了我好友邱嘉和个人制作的网站 AlgoCasts(https://algocasts.io/), 看了一下他精心录制的小视频。然后跟着敲了一下代码。这之后,我就开始找人帮我推字节跳动了。

    字节跳动面试体验

    字节其实我面试了两个职位。第一个职位的一面感觉挺好的,面试官很亲和,问的问题也蛮到位的,然后留给我的发挥空间也蛮大的,所以顺利过了。二面的时候就有点聊不来了,而且越聊越感觉职位不合适。

    所以后来朋友帮我重新推了一个职位,就是我现在所在的数据平台部门。一面的面试官又年轻又高大又帅气,而且基本上是针对我的简历问的问题。

    当然,第一个问题让我讲 Akka 的时候,我是真的呆了。完全不按套路出牌呀!我从来没有遇到过有人会问我 Akka 的!!!怎么会有人问我 Akka!!!内心一阵狂喜和激动之后,我先收拾了一下心情,慢慢整理了一下自己脑海中一直在跳着举手喊着"讲我讲我"的 Akka 特性。于是先从线程模型开始讲起,讲了它的 M:N 实质,Actor 模型依赖的消息传递模式,层级结构划分的监督职责,让它垮的失败处理,Akka 集群支撑起的横向扩展,等等等等。

    然后围绕着 Akka 又问了一些小问题,基本很顺利的过去了。后来又问了一下缓存相关的内容,其中讲了一个缓存雪崩的问题我一时半会儿没有反应过来。

    问题其实很简单,就是忽然有一堆请求访问同一个 key,而这个 key 在缓存中不存在。如此所有请求就会同时去访问数据库然后又同时去更新缓存。这样的缓存雪崩效应应该如何解决?这个问题听起来其实很熟很熟很熟的,但是当时我脑袋短路了没有想起来。

    后来想起来原来 Akka-Http-Caching(以前的 Spray-Caching)就是专门为这种情况服务的。老外给的说法是这种问题叫做惊群效应,讲的是很多请求在第一个请求完成之前,一起访问同一个键(This approach has the advantage of taking care of the thundering herds problem where many requests to a particular cache key (e.g. a resource URI) arrive before the first one could be completed.)。文档上说的 This approach 指的是缓存的时候,不要缓存一个值,而是一个Future[T]

    这样,第一个请求获取值的过程也被缓存下了。后续的请求就会访问到这个Future,然后可以向其注册回调,等待缓存动作完成再完成回调。

    当然,这个没有答得特别好也没事,后续又问了我一下关于 JVM 相关的一些东西,最后手写了一个算法题。然后一面顺利地就过了。

    之后二面的话基本也是围绕我的简历来问的,讲了一下当时做的推荐算法的原理,讲了一下 Spark 的基本原理,然后最后做了一个算法题,然后也顺利过了(其实还有一些其他问题,但是我忘了问的是什么了……)。

    当然这个算法题的实现并不是最好的。题目内容是 26 进制的加法,其实要涉及单个字符的加减和进位的处理的,这样实现下来细节就要处理好多东西,还很有可能出错。

    所以我取了个巧,我先把字符数字都转化成了整型,然后整型加减得到结果,然后再把结果转化成了 26 进制字符。虽然结果不是最优的,因为数字大了肯定会溢出的嘛。但是起码还是做出来了,所以二面也顺利过了。

    三面的时候也是先围绕着我的项目问了一些相关的问题,所以答得蛮平淡的,但是也还行。然后他问了一下我如何做流量控制。问我流量控制哎!!!然后,我又强行按捺下了内心的喜悦,将《反应式设计模式》的第十六章流量控制的内容大致讲了一遍。也许就是给了这样一个我发挥的空间,所以我第三面也很顺利地过了。没多久就是 HR 面试大致谈了一些技术之外的问题。

    HR 面我就中规中矩了。当时面完感觉就稳了,但是等了好久好久还没有跟我沟通 offer 的事情,等的我有点难受了……之后 HR 联系我说,还要给我加面试,说团队老大要面我一下。

    原本字节面试一般 3+1 就 OK 了,然后突如其来地加面试让我感觉有点忐忑,所以后面的面试发挥没有前面好了。其实后来回想一下,我可能是以为前面面试表现不好,不能给我确定 offer,才会有后来多的面试的。所以当时心态不好,答的感觉也没有之前果断。

    后来第五面完了以后,团队老大还是不确定,还要加一面交叉面试,这个时候我就豁出去了。无所谓,面上面不上没关系,反正字节跳动在我家旁边,只要庙不搬,我就进得去。

    所以最后一面跟隔壁 leader 聊的时候相对来说还好一些。问题没有问啥特别的,就是仔细问了下我最近做的一个项目,优点在哪里,缺点在哪里,难点在哪里。然后顺着难点来进行扩展,为什么是难点,怎么解决,有哪些方案,这些方案有哪些优缺点。幸好我平时工作还是有思考的,所以最终答的还不错。于是终于到了 6 月 10 号左右,HR 和我确定要发 offer 了。

    经验总结

    整个面试过程,如果加上之前不合适的职位的话,总共 8 面,前后跨度一个多月。然后到了今天的时候,最终入职成功。说起来还是有点漫长的。如果再加上前面的两次热身面试,可能跨度就有接近两个月的时间了。

    说实话我并不是那种别人一看就很喜欢的工程师,因为一直在小公司做个小架构,而且主力编程语言比较偏门,所以适合我的职位范围相对来说很窄。实际上我今天看了一下和我工作相关的两个项目,一个 go,一个 python,我的 scala 技能可能在后面相当长一段时间要荒废了……不过没关系,离家近就行,而且跳出舒适区看一下其他风景,我感觉对我来说也是一件好事。

    最终总结为什么能成功面上字节跳动,首先我的基础实际上还可以的,虽然第二次面试的面试官觉得我基础不好,但是其实很多内容在我深入的时候我就把思路、结构、来龙去脉整的明明白白的,所以就算忘了,回忆起来也能很快塞进体系里重新理解透彻。

    其次我有自己的拳头产品,面试不问就罢了,一旦问到 Scala、Akka、Play、Lagom 或者能扯上反应式架构的时候,只要嘉和和品神不在这条街,我就是这条街最靓滴仔!!!最后,我知道我为什么想去这家公司,并且就算不去也没啥大的损失,所以面试的时候可以不卑不亢,心平气和,于是发挥的就也还行。而且,反正公司就在我家旁边,这次没面上没事,过段时间再面呗。

    这些经验换算到你这边:如果你说你现在基础不好,我会说没关系;但是如果一年、两年、三年以后你还和我说你基础不好,那是不是要自我反思一下呢?如果你说你现在没有拳头产品,我会说没关系;如果一年、两年、三年以后,你还是没有拳头产品,那你看我这篇文章有啥用呢?然后心态的问题可能就需要自己调整了。只要有基础,有拔高,然后心平气和地来面试,我相信你肯定能面试成功的。

    哦,对了,在准备的同时,可以配合着嘉和的 AlgoCasts(https://algocasts.io) 一起服用,如果带上一本《反应式设计模式》就更好了,很多方案真的就是属于降维打击的内容。而且,就算字节跳动没有适合你的岗位,只要你能把嘉和的小视频、品神的《反应式设计模式》都学好,那你去面淘宝的消息团队,也能有额外的优势。

    总之,只要觉得可以了,准备好了,就给我发邮件吧!邮箱地址是 wangshichong.wayne@bytedance.com 。

    你有俩选项,一个是我这边的数据平台,另一个是品神所在的淘宝消息团队,发简历的时候在标题里面注明就好了。当然如果你觉得搞不定字节跳动的算法题目,那你也可以带着我的专属优惠码 wayne 去看看嘉和的小视频。

    手绘讲解算法思路,逐行撸代码逐行解释,一题多解,并提供最优解法,助你搞定各大厂面试算法。使用专属优惠码 wayne,购买套餐后添加微信 Hawstein-Studio 还可以获得 40 元返现。

    所以,要学算法、要投简历的小伙伴们,赶紧行动吧!

    阅读全文: http://gitbook.cn/gitchat/activity/5d26a93b1a091a2c4afd382c

    您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

    FtooAtPSkEJwnW-9xkCLqSTRpBKX

    展开全文
  • 、基本操作 答题前的操作 建议在答题前将系统设置为“显示隐藏的文件、文件夹和驱动器”及不“隐藏已知文件类型的扩展名”,再开始答题。 方法如下:在“计算机”或“Windows资源管理器”的“组织”菜单中选择...
  • 1 一级标题 1.1 二级标题 1.1.1三级标题1 1.1.2 三级标题2 1.1.3 三级标题3 目录展示为 因为改到第三章了,就以第三章为例。 STEP1 在列表库中用这个格式刷你的各级文字 此时得到的结果如下,标号后面多了一个 ...
  • 、计算机基础知识 二、Word 的功能和使用 三、Excel 的功能和使用 四、PowerPoint 的功能和使用 考试方式 上机考试,考试时长 120 分钟,满分 100 分。 考试时间 考试成绩 备考建议 选择...
  • 使用thinkphp搞了个简单的三分销

    千次阅读 2018-11-26 09:48:59
    使用thinkphp搞了个简单的三分销关于为何要写-分销第步是先思考下逻辑功能快捷键合理的创建标题,有助于目录的生成创建个自定义列表如何创建个注脚注释也是必不可少的 关于为何要写-分销 第次看到这个...
  • 使用titlesec设置标题

    万次阅读 2016-06-29 19:36:20
    比较入门的使用格式如下\titleformat{command}[shape]%定义标题类型和标题样式 {format}%定义标题格式 {label}%定义标题的标签,即标题的标号等 {sep}%定义标题和标号之间的水平距离 {before-code}%定义标题前的内容...
  • 最终编写的操作系统将是非常个程序(仅仅是个系统引导程序),并且只有非常少的功能,但它是您在这方面进一步进行研究和探索的个起点。 在您阅读了本文之后,如果您想更进一步在这方面进行探索并扩展您的...
  • WORD 毕设页眉页码目录标题 排版

    千次阅读 2018-03-01 12:09:26
    准备几个标题(1,2,3级标题都有)和正文。 ①文章标题正文实现: ③目录能够根据文章标题更改自动更改目录标题和页码 ④实现页码和页眉(文章页码和摘要目录页码要分开两节算,因为插入了分节符) 1、点击插入–》...
  • 这里写自定义目录标题前言、解析models.py文件1.如何更方便的准备debug环境?2.parse_model_config()函数是如何加载配置文件的?3.怎样更方便的debug yolov3模型结构?总结如何改变文本的样式插入链接与图片如何...
  • 、资源片源解析 根据命名,可以知道资源的来源,从而判断资源画质的好坏。 1.CAM(枪版)——珍爱生命,远离枪版 CAM通常是用数码摄像机从电影院盗录。有时会使用三角架,但大多数时候不可能使用,所以摄像机会...
  • word 多级标题的编辑

    千次阅读 2011-05-27 09:53:00
    有的人可能会用“标题一”样式来做单列表,但是在碰到需要二列表甚至三列表的时候,却完全不知所措了。结果往往只能纯靠手工进行,费时费力不说,还经常因为标题对不齐或者缩进搞不定而头疼。尤其是当文档还...
  • //CGRectContainsPoint 作用 : 判断CGRect 数据是否包含 point 如果包含这个 函数值就是1 //类似属性 CGRectIntersectsRect(CGRect rect1, CGRect rect2) 判断两个坐标是否有交集 //NO1. 触摸对象坐标 ...
  • android 顶部标题栏ActionBar详解

    万次阅读 2016-08-07 15:24:04
     在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是个非常重要的交互元素,Action Bar取代了传统的tittle bar和menu,在程序运行中一直置于顶部,对于Android平板设备来说屏幕更大它的标题使用Action...
  • 【Python+OpenCV】基于Harris角的边缘提取以及矩形四角检测开始之前必须要说的一些事一、参考文章二、实验目标三、局限性声明开始说正事了,所以标题一定要比第一个一级标题长一、思路(一)基于Harris角检测...
  • Parcelable 也可以实现相同的效果,不过不同于将对象进行序列化,Parcelable 方式的实现原理是将个完整的对象进行分解,而分解后的每部分都是Intent所支持的数据类型,这样也就实现传递对象的功能了。...
  • Python 高级编程(第2版)

    万次阅读 2018-04-12 10:44:14
    Python 作为种高级程序设计语言,凭借其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言之。 本书基于 Python 3.5 版本进行讲解,深度揭示了 Python 编程的高级技巧。本书从 Python 语言及其社区的现状...
  • 由于我们的学位论文要求章节按照汉语数字“、二、三...”来编号,其他小标题则依旧是"1.1, 1.2, ...1.2.1, ..."这种编号,而直接运用word中的多级标题编号会出现“.1”这种异类。 所以,如何实现这种
  • 微信程序开发-开发入门(

    万次阅读 2017-12-20 17:43:06
    微信程序已经火了段时间了,之前一直也在关注,就这半年的发展来看,相对原生APP大部分公司还是不愿意将主营业务放到微信平台上,以免受制于腾讯,不过就程序的应用场景(用完即走和二维码分发等)还是很值得...
  • 高级变量类型

    万次阅读 2019-07-27 17:38:31
    知识回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) 真 True 非 0 数 —— 非零即真 假 False 0 复数型 (complex) 主要用于科学计算,例如:...
  • 正式加入字节跳动,分享一点面试经验

    万次阅读 多人点赞 2019-07-12 08:30:00
    今天正式入职了字节跳动。工号超吉利,尾数是4个6。然后办公环境也很好,这边栋楼都是办公区域。公司内部配备各种零食、饮料,还有免费的咖啡。15楼还有健身房。而且公司包三...
  • matlab 高级绘图函数

    千次阅读 2018-05-23 21:48:59
    与高级绘图函数的相对的是,低级绘图函数,这我们放在在后面探讨,这篇博客我们就来探讨一下matlab高级绘图函数。 plot 函数 (1)当x和y是同维矩阵时,配对的x、y按对应列元素为横、 纵坐标分别绘制曲线,曲线...
  • 2021.1安装kali Linux 最新版本虚拟机录标题

    万次阅读 多人点赞 2021-03-01 23:05:28
    2021.1安装kali Linux 最新版本虚拟机录标题 安装VMware(VMware以下简称VM) 如果已有VM并能正常使用则可以跳过 1.1 打开微信,搜索 软件管家 公众号。 1.2 关注后,进入公众号,点击软件目录。 1.3 在 1电脑系统 ...
  • Android 顶部标题栏ActionBar详解

    万次阅读 多人点赞 2016-10-15 21:06:08
     在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是个非常重要的交互元素,Action Bar取代了传统的tittle bar和menu,在程序运行中一直置于顶部,对于Android平板设备来说屏幕更大它的
  • PHP知识总结(

    千次阅读 2016-12-24 22:34:54
    分号是种分隔符,用于把指令集区分开来。 通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。 [php] view plain copy           My first PHP page  ...
  • OpenCV特征检测算法对比

    万次阅读 2015-04-01 13:32:55
    06-20 20:5454441人阅读评论(10)收藏举报 算法blog活动 识别算法概述: SIFT/SURF基于灰度图, 、首先建立图像金字塔,形成三维的图像空间,通过Hessian矩阵获取每层的局部极大值,然后进行在极值周围26个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,792
精华内容 19,116
关键字:

一级标题后面的小点