- 怎样写简历
简历是别人了解你的第一个地方,所以简历很重要且要好好写;
当然,我们知道真正的好简历是要用自己的经历去写的,比如,有人的简历就是一句话:我发明了Java语言。
简历上的信息不要写太多,信息太多相当于没有信息,不要单纯地罗列,要突出自己的长处和技能。一般来说,简历需要包括以下几项内容.
- 自我简介。这个自我简介是用最简单的话来说明自己的情况,不超过200字。比如:5+年的软件开发经验(说明你的主业),3+年的团队管理经验(说明你的领导力),擅长高可用高性能的分布式架构(说明你的专业和专攻),多年互联网和电商行业背景(说明你的行业背景),任职于###公司的##职位(说明你的职业),负责**平台或系统(说明你的业务场景)......
- 个人信息。
- 基本信息
- 个人网站
- 网站内容
- 作品展
- 个人技能。这些内容要能很明显的让对方了解你掌握的技术和熟悉的领域。
- 技术技能栈。其中包括你擅长和会用的编程语言(如Java,Go、Python等),编程框架或一些重要的库(如Spring Boot、Netty等),熟悉的一些技术软件(如Redis、Kafka、Docker等),设计或架构(如面向对象设计、分布式系统架构、异步编程、高性能调优等)。
- 技术领域。前端、算法、机器学习、分布式、底层、数据库等。
- 业务领域。一方面是行业领域,如金融、电商、电信等。另一方面是业务领域,如CRM,支付,物流、商品等。
- 经验和软技能。带过多少人的团队、有多少年的项目管理经验、学习能力如何、执行力怎么样、设计过什么样的系统
- 工作经历和教育经历
- 列一下你的工作经历。每份工作完成的主要项目,主要突出项目的难度、规模、挑战、职责,以及获得的认可和荣誉
- 技术知识准备
- 你写上了熟悉Java, 那么Java的基本语法要了解,并发编程、NIO、JVM等,你多少要有点了解,Spring、Netty这些框架也要了解。
- 你写上了Redis,那么除了Redis的数据结构,Redis的性能优化、高可用配置、分布式锁什么的,你多少也要吧官网上的那几篇文章读一读。
- 你写上了面向对象,那么怎么着也得把《设计模式》中的23个模式了解一下。
- 你写上了分布式架构,那么CAP理论、微服务架构、弹力设计、Spring Cloud、Cloud Native 这些架构就要做到心里有数。
- 你写上网络编程,那么TCP/IP的三次握手,四次回收,两端的状态变化你得知道吧,Socket编程的那几个系统调用,还有select、poll、epoll这些异步IO多路复用的东西,你得知道。
- 算法题准备
- 如果是数据排序方面的题,那基本上是和二分查找有关系的
- 如果是一个无序数组上的搜索或者统计,基本上来说需要动用O(1)时间复杂度的hash数据结构。
- 在一堆无序的数据中找top n的算法,基本上来说,就是使用最大堆或是最小堆的数据结构。
- 如果是穷举相关的题(如八皇后、二叉树等),基本上来说,需要使用深度优先、广度优先或是回溯等递归的思路。
- 动态规划要重点准备一下,背包问题、爬楼梯等
- 一些经典的数据结构算法也要看一下,比如,二叉树、链表和数组上的经典算法,LRU算法,Trie树,字符串子串匹配,回文等。
- 工作项目准备
- 说一个你做过的最自豪的项目,或是最近做过的一个项目。
- 说一个你解决过得最难的技术问题,或是最有技术含量的问题。
- 说一个你最痛苦的项目,或最艰难的项目。
- 说一个你犯过的最大的技术错误,或是引发的技术故障。
对于上班这四个问题:第一个问题,主要是看你过去工作中做过的最高级的事是什么,还有你的兴趣点和兴奋点是什么;第二和第三个问题,主要是想看看你解决问题的能力,以及面对压力和困难时的心态;第四个问题,主要是想了解一下你面对错误时的态度,还要了解你是否会对错误有所总结和改进。
怎样准备这样的题,我这里有几个提示。
- 要有框架。讲故事要学会使用在什么样的场景下(Situation),你要干什么样的事(Task)。你采取了什么样的行动和努力(Action),最终得到了什么样的效果(Result)
- 要有细节。
- 要有感情
- 要有思考
训练这方面的能力最好的方式就是在工作中写文档,在工作之余写博客。只有写得多了,写得好了,你这样的能力才能训练出来。