summary:

  • 投递
    • 海投公司,差不多符合要求的公司就投递,boss 不回就多投递。
    • Boss 中可能有外包,人头拿提成,这种外包往往需要填写各种信息、问各种问题,可以提前准备好必要的文字内容存起来。
  • 八股文
    • 比较常见的八股文可以看看  https://cyc2018.xyz/
    • 图解网络、操作系统、计算机组成  小林 coding
    • 八股文介绍时需要结合项目,比如 MQ 的可靠性和不可重复,正常情况消费一次,但是如果服务器重启或者接受服务重启,可能导致消息不可靠。最好本地搭建服务,模拟丢失情况并解决。把这个问题解决的思路和过程改成自己在工作中解决了这种问题,再加一点自己的思考,比纯背题好很多。
  • 项目经验
    • 项目背景
      • 让面试官和 HR 知道解决了什么问题,HR 会匹配相同经历的面试者
      • 解决了什么问题、整个项目如何运行的
      • PS. 比赛平台项目的需求基本上都是自提供的,在运行过程中发现存在什么问题然后解决。不同于一般的 C 端产品服务,项目的需求是产品提供,比赛平台的项目需求往往都是内部开发以及使用过程中发现问题后产生的,比如调用外部服务时存在数据集泄露、策略运行顺序问题等等。
    • 参与的角色+负责模块 / 项目职责
      • ❌ 简单的写自己做了 xxx 模块。✔️ 从整个项目触发,解决什么问题。
      • ❌ 订单商品维度销量统计、订单炼厂维度销售统计、…
      • ✔️ 业务团队收集需求,明确数据分析的需求和指标。设计并实现数据统计和多维度分析统计。要统计每天或每周的订单、商品、供应商、业务员、新客户等销售数据。配合前端提供图形化展示,帮助业务团队快速洞察问题。
  • 技术技能
    • 工作 5-6 年,罗列熟练使用的技术,不合适。
    • 技能需要关联到相关的业务技能和沟通技能。
    • 修改后:
      • 七年 Java 后端开发经验,熟练使用 SpringCloud、SpringBoot、MyBatis 等主流框架。
      • 熟悉常见的数据结构、网络。主要涉及到电商、物联网等方面工作。独立推进项目开发
      • 对电商开发五年的开发经验,覆盖商品、订单、支付、财务等方面的开发。
      • 指导同事代码编写,并提供解决方案。定期向上级汇报项目的进度、遇到的问题和解决
      • 坚持写技术文章,访问量10万+,博客 : https://juejin.cn/user/3139860940197207
  • 面试经历
    • 介绍自己的项目经历,自己负责的模块,如何实现对应的技术模块。
    • CPU 飙升到 100% 如何处理

首先就要海投,不管什么公司,只要差不多符合要求的公司就投递,boss 不回就多投,一天最低要投递几十份简历。先要找到机会去面试,有机会面试,找到面试的感觉,根据面试的反馈做调整,聊天沟通几千家,投递一百多的简历,才有几次面试。

|400

当时找工作的时候,外包的回复比较多,不过都是要求填写各种信息,还会问各种问。然后问完了就消息了。我后面从一个 HR 朋友才知道,原来外包的 HR 都是按照招的人数拿提成,他们有一个表格,填完表格之后,就直接交给用人部门,一个岗位招十个人,他可能聊了几百的候选人,这种情况下没有下文也正常。

针对外包 HR,聊了几次之后,基本都知道他们要什么信息,都会把新增存在聊天记录里面。下次要这些信息的时候就方便很多。

背八股文

大部分面试的都会问到八股文。

  • 比较常见的八股文可以看看  https://cyc2018.xyz/
  • 图解网络、操作系统、计算机组成  小林 coding

知识成体系

很多知识点会有很多的关联性。比如 HashMap 适用于并发度不高的情况,而如果想要保证线程安全就需要使用 ConCurrentHashMap ,再看看 add 和 get 方法是如何线程线程安全,一环扣一环。

不同的知识点,底层都是有关联性,比如 ArrayList 和 Redis 的简单字符串的扩容,当数据不够的时候,都会扩大自己的 1.5 ,这样的都是为了减少扩容的次数。

带着问题或者解决的难点去看八股文,比如 MQ 基本都会问消息的可靠性不可重复,MQ 主要就是做一个消息的传递,在正常情况下,消息都能正常消费一次,但是如果服务器重启了,或者接收的服务重启,这都可能导致消息不可靠,带着问题,最好本地搭建服务,模拟消息丢失的情况,进而解决这个问题。把这个问题解决的思路和过程改成自己在工作中解决了这种问题,再加一点自己的思考,这样比纯背题加分很多。

准备简历

简历主要展示两个技能:

  • 项目经验
  • 技术技能

项目经验

项目包含几个点:

  • 项目背景

让面试官和 hr 知道解决了什么问题,hr 会通过项目来匹配相同的经历的面试者。简单点就是说,这个项目解决了那些问题,整个项目是如何运的。

项目背景或者需求一般都是产品最了解,程序员大部分时间都用在如何实现功能上,用在需求的理解比较少。了解项目又会技术就给面试官印象比较深,面试通过的概率也比较高。

  • 你参与的角色,负责模块

参与的模块,负责那些代码,不要简单写自己做了 xx 模块,而是从一整个项目出发,解决那些问题。比如一个数据分析系统。这是修改前项目职责:

  • 订单商品维度销量统计
  • 订单炼厂维度销售统计
  • 订单客户统计
  • 订单新客户统计

流水账记录实现的功能,没有了解到具体的需求和目标。好的技术是要先了解需求、技术设计、功能实现、配合同事完成任务对接。

下面是优化后的项目职责:

  • 和业务团队收集需求,明确数据分析的需求和指标。
  • 设计并实现数据统计和多维度分析统计。
  • 主要统计每天或每周的订单、商品、供应商、业务员、新客户等销售数据。
  • 配合前端提供图形化展示,帮助业务团队快速洞察问题。

相对一个只会干活的程序员,一个会思考需求的来源、项目解决的难点和痛点、设计技术实现方案以及高效的沟通的优秀程序员肯定的更受青睐,而且修改后的项目职责也相对更加的专业和规范。

技术技能

先看一下技术技能对比,这是修改前的技能:

修改前技能问题:

  • 前后端都熟悉,没有突出的技能,现在很多公司都是前后端分离,没有突出的技能,面试那关估计就被刷掉。
  • 技能比较简单,工作 5,6 年就不适用简单的技能了。
  • 技术技能需要关联到相关的业务技能和沟通技能。

修改上面的问题,这是优化后的技能:

技能除了介绍技术之外,更重要的要介绍自己的工作经验,主要涉及的业务方向。此外博客也是一个很好的展示技能。

准备完毕,开始面试

一共面试了 6 家,其中拿到了 4 个 offer ,因为是去年面试的,过程只记了一个大概。

某喜到家

这是第一家面试的公司,是一家 o2o 的公司,面试架构组职位。主要问了一些项目,如何实现,几个八股文,微服务的有什么缺点,分布式事务的替换方案。面试出奇的顺利,有的问题不太熟悉的,面试官也会给点提示。一下午技术面试过了两轮,hr 面试也过了两轮。然后就回去等通知。

过了一天之后,通知我面试通过了。但是他们的上班时间是上午 9 点半到中午 12 点,中午休息 2 个小时。下午两点到六点,晚上休息半个个小时,六点半点到 8 点,而且还是大小周。给出的薪资相对之前基本是没涨(虽然工资涨了,工作时间也增加了),还是先拿个 offer 保底,再继续找工作。

这么长的工作时间,应该也很难招到人。工资也卡的比较死。这种情况自然面试也比较容易就通过了。

银行外包

面试过了一天,来了一个珠海外包的电话面试,主要问了一些八股文:

  • SpringBoot 自动装配原理
  • 线程池线程数量设置,拒绝策略
  • JMM

然后介绍自己的项目经历,自己负责的模块,如何实现对应的技术模块。印象比较的深一个点,是自己写博客地址,就问了下是不是自己写的,说看了还是写的挺不错的。而且还说:我最近几天面试了十多个人,你是唯一一个让我感觉挺满意,背八股文不是应付任务一样的背,还会结合一些实际的工作常见使用。做项目也有自己的想法,而且还会把自己的心得、总结写成博客。当时就感觉自己写了这么久的博客有人表扬还是很开心的。

二面时候,也是问了一个技术的问题,面试也过了。给的薪资还可以,比上面的 o2o 的工资好一点。但是毕竟外包还是工作比较累,还是拿个 offer ,再继续找工作。

某外贸公司

这是一家跨境电商的公司,主营的是电子烟,想要做一个独立站,跨境销售产品。面试形式是笔试 + 面试。比如主要写了一些八股文:

  • CPU 飙升到 100% 如何处理
  • MQ 消息可靠性如何保证
  • Mysql 事务隔离级别,以及各自的问题
  • HashMap 、ConCurrentHashMap 、Hashtable 的区别

面试主要问项目经验和一些八股文,对 HashMap 的细节一直问的比较细节。后面人事总监面试也过了,第二天回复面试也通过了。给的薪资比前面都高,基本上对这个工资是比较满意,也准备拿了 offer 就准备上班了。

半路杀出个珠宝公司

本来就准备下周就去新的公司报道了,在 boss 上又来了一个面试,反正也没啥事,多面试几次也没事。前面几次面试基本上都是问  项目 + 八股文,都问出经验了,一面主要是问项目经验,自己的负责的模块用哪些技术实现。最后就问了一下如何实现点赞功能,要看到每天点赞的人数、每个人点赞的数量,这么统计的话,就不能使用 Redis 统计了,只能使用关系型数据库,比如 Mysql 实现。

一面过了,就来到了技术总监的面试,主要讲项目,还叫我在画板上画下流程图,面试也通过了,之后就是 HR 谈薪资。薪资和之前的外贸公司差不多,但是这个公司包吃住,相当于涨了三千的工资。

最后选择

最后就在外贸公司和珠宝公司选择,两个公司都是大小周,(后面面试的公司基本都是大小周)无论是薪资还是福利方面,珠宝公司都更好,而且相对来说珠宝行业也比较稳定点,所以最后就选择了珠宝公司。

总结

断断续续终于写完几篇失业日记,最开始失业的不适应、迷茫,后面找工作的屡屡碰壁,一次又一次的失败。简历一遍一遍的修改,疯狂打招呼,疯狂投简历。那个时候也不知道什么时候能找到工作,开始找工作的 10 月份的时候感觉过年都可能找不到工作,没想到 11 月份,半个月就拿了 4 个 offer ,就像《阿甘正传》的那句台词一样: