前言

最近刚刚入职,确实很忙,大周末的跑到公司来研究Apollo的源码。但是答应了群友出一篇面试的文章,所以想来想去先把文章写了再说。

先大概说下我的面试经历吧

笔者是从9月3号开始面试的,9月15号入职了微盟,目前是微盟基础技术中心的一名高级开发工程师。期间一共面试了9家公司,其中4家确定了offer跟具体薪资。

两家过了所有技术面,到HR面之后没回应了,估计是觉得我薪资要的比较高,笔者这次跳槽薪资涨幅还是比较满意的,月薪的话上涨了70%。

剩下还有3家,一家是在我入职后才通知我去公司做最后一轮面试,直接放弃了,其余两家感觉被HR刷KPI了。

这篇文章主要是分享面试的经验,但是为什么取这么个标题呢?因为最近总是听到内卷这个词,大概就是说,程序员加班内卷、工资内卷等等之类的。说实话,我刚刚听到这个词的时候,连内卷是什么意思都不知道,然后还特地去搜了一下,下面是百度百科的解释

这个解释太抽象了,后来特地多找了找资料,内卷大概是这么个意思

  • 在宏观上,发展停滞不前,甚至在规模上萎缩退化。
  • 在微观上,努力的效用停滞不前,甚至在边际效用上萎缩退化。

把内卷这个词放到程序员身上大概就是说

  1. 原来可能只要会个SSM就能拿1W一个月,现在可能连工作都找不到
  2. 原来一周工作40个小时可以拿1W一个月,现在可能一周要上50个小时,个人时薪低了

总结起来就是,个人价值被大环境拉低了。

怎么说呢,首先,我个人觉得对任意一个充满机遇的行业而言内卷都是一个必然的现象吧,其次的话没有太感受到内卷,我觉得我还在享受这个行业的红利,可能是因为我起点比较低的原因,就笔者最近的几次跳槽而言,薪资涨幅都还比较高。其次,只要你足够努力的话,内卷也没关系,你进步的速度大于行业内卷的速度,那么就可以一直走在行业的首端,每个行业都是大浪淘沙,但是分量足够重的人是不会被淘汰的!

聊聊学历

笔者是以高中学历出去面试的,因为我本身是大学肄业的,我当时考在华南理工大学,后来大三的时候自己退学了,创业做了两三年的游戏工作室,你们可以理解为打游戏吧,哈哈!工作室当时做游戏代练、金币交易等等一些东西

学历还是比较重要的,如果你现在还是一名学生的话请一定要珍惜你现在的时光。不过哪些错过了学生时代或者蹉跎了学生时代的朋友们也不要泄气,因为能证明你能力的不仅仅只有学历嘛!你可以从别的地方去给自己附加价值,作为一名程序员,给自己附加价值的最好方法应该就是参与开源项目了,笔者自己的话就参与了Spring的开源,给Spring提交了issue而且被采纳了,除此之外,个人博客也是一张技术名片。但是话也说回来,尽量去提升下学历吧,笔者跟技术群里的小伙伴组建了一个自考群,有兴趣的可以加我好友哈,可以一起交流一些自考的信息(杜绝广告)

实际上不管你有学历或者没学历,请记住一句话,决定你未来的不是过去,而是当下!

所以,奋斗吧,骚年!越努力,越幸运!

活在当下最重要,积累最重要,厚积薄发也不失为一种好的选择

干了上面的鸡汤,我们开始进入面试的正题!

面试分享

对于一个去面试的人而言,首先要知道自己应该去准备哪些知识去面试,每个人的工作环境是不一样的,所以每个人的知识体系也不一样。网上很多面试的文章都是给了一副巨复杂的思维导图,然后告诉你,把这张图上的东西学完你就能年薪XX万,但是可能画图的人自己都没学完,因为他也学不完,东西太多了!

所以,笔者给的建议是,每个人应该根据自己现有的技术栈去准备面试。以笔者自己为例,因为近两年使用的都是SpringCoud技术栈,所以在准备面试的时候完全放弃了Dubbo、ZK一系列的东西。如果面试官问起来,我基本就是回答:“以前用过,最近两年没怎么用过了,会用,不是特别了解”

同样的,笔者在消息中间件一直使用的RabbitMQ,对于RocketMQ、Kafka也放弃了。如果面试官问到这一块的东西我基本就是凭着自己的一些了解一两句带过,因为确实没怎么用过,没做太多了解。

但是如果你这么做的话,那么意味着你在其他通用的技术栈上要做到比一般人强。什么叫通用的技术栈呢?比如Redis、MySQL、SSM、SpringBoot,这些东西你没用过的话就不太合适了。所以我建议大家在这些技术应该要下些功夫,对于这些应该要做到只要面试官问到了,那么你就要跟他聊到不想聊为止。

我的整个复习版图如下:

要获取这些图的话在公众号后台回复【2020年9月面试总结】即可获取

接下来是一些常见面试问题,以及我在复习的时候总结的一些要点,其实就是上面的图

Redis

常见问题

对于Redis以笔者这次面试的经验来看,最常问的是两方面

  1. 数据结构。
  2. Redis如何解决单点问题,其实问的就是Redis的集群

关于Redis的数据结构,一般来说提问场景如下

第一问:“你了解Redis有哪些数据结构吗?”

Hsah、String、Set…。第一问背一背就好了,没什么难度

第二问:“你们项目中是怎么使用的?”

很多同学对这个答不好,因为可能就用过一个string结构。最好起码要说个两三种吧

string,一般存token

hash,做一些聚合信息的缓存,例如商品详情页要聚合很多信息,要查很多表,用hash做缓存

string提供的位运算功能(bitmap),统计用户登录次数

第三问:“如何解决Redis的单点问题?” 或者会问 “讲一件Redis的集群”

这个问题我只讲讲思路,详细讲起码要一篇文章。

首先,我们思考,什么是单点问题?或者说单点有什么问题?

问题一:单点故障,也就是说单机挂了,整个服务就不可用了

问题二:单机存储上限,也就是说一台机器只能存这么多东西

对于单点故障我们如何解决?-----------> 主从模型

对于单机存储上限我们如何解决 ----------> 数据分区

从这里我们再引出Redis的集群是如何做的?Redis有两种集群模型

  • 哨兵

  • RedisCluster

关于这两种集群模式区别大家自行百度吧

复习要点

高清原图地址:https://www.processon.com/view/link/5f66b13de401fd2ad7ebd002

高清原图地址:https://www.processon.com/view/link/5f4b48686376890e62f93fa5

MySQL

常见问题

  1. 事务的隔离级别
  2. 什么是幻读?
  3. 聊聊事务的实现原理

在之前的文章中全部覆盖到了,所以基本没难度

复习要点

SSM、SpringBoot、SpringCloud

也就是Spring、SpringMVC、MyBatis

  1. 问的比较多的,Spring的生命周期、AOP、事务

  2. SpringMVC的工作流程

  3. MyBatis基本没问

  4. SpringBoot跟SpringCloud的区别

  5. SpringBoot自动装配的原理

框架这块因为比较了解,没特地花时间去整理。

消息中间件

我就讲讲RabbitMQ的工作模式、集群模式。然后讲一下RocketMQ的topic跟队列,对比下kafka的topic跟分区。

这块没什么准备,所以聊的不多

高清原图:https://www.processon.com/view/link/5f66b4aaf346fb40fb9b4497

JDK

高清原图地址:https://www.processon.com/view/link/5f66b59c6376894e327a0889

集合这块我复习的比较细,如果你不是面试一线大厂的话,没必要了解这么细,因为面试官也不会。着重了解1.8的就好了。

高清原图地址:https://www.processon.com/view/link/5f48bc915653bb0c71dce481

JVM

  1. 内存结构
  2. GC
  3. 类是如何加载的?如何打破双亲委派?对SPI了解吗?

基础

高清原图地址:https://www.processon.com/view/link/5f66b636f346fb40fb9b461c

分布式

分布式事务、分布式锁、幂等性。这些是重点

分布式这块是重点!分布式这块是重点!分布式这块是重点!

重要的话说三遍,一定要搞懂,必问

高清原图地址:https://www.processon.com/view/link/5f66b6450791295dccc7fbea

内推岗位

最后是一波内推岗位,有兴趣的小伙伴赶紧拿简历砸我吧!!!

只要我跑的够快,内卷它就卷不到我,一名高中生是如何做到在疫情下涨薪70%的?相关推荐

  1. 现实!程序员内推圈:“同事跳槽快手,涨薪70%!”

    如果有人告诉你,疫情之下,程序员要过苦日子了-- 请你让他"有多远gun多远". 就在上周,CSDN的博客专家群里,专家们就讨论的热火朝天: 有学弟今年校招38w年薪,还有10w期 ...

  2. python移动图形工作站_让Python跑得更快

    原标题:让Python跑得更快 点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 Tips 参与文末话题讨论,即有机会获得异步图书一本. Python很容易学.你之所以阅读本 ...

  3. 罗森便利店3000家店铺数据分析,只要铺店够快,黑马就追不上来

    作者:极海 来源:极海 罗森便利店今年利好不断,4月进军河北,8月进驻南通.唐山,京津冀地区开60+新店,又要首次进驻海南.福州,安徽也计划开设100家门店,更多向芜湖等地下沉-- 去年年底,罗森便立 ...

  4. 让Python跑得更快

    点击关注 异步图书 ,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 Tips 参与文末话题讨论,即有机会获得异步图书一本. Python很容易学.你之所以阅读本文可能是因为你的代码现在能够正 ...

  5. 25匹马,5个跑道,每次只能5匹马跑,问最少几次得到跑的最快的3匹马

    正确答案: 7 场. 推理过程: 你可以先询问面试官,「最快」的意思,是不是指比赛时总能赢?在真实情况下并非如此.但倘若你假设, A 在比赛中跑赢了 B , A 就无可争议地跑得更快,这就极大地简化了 ...

  6. 写着简单跑得又快的数据库语言 SPL

    数据库语言的目标 要说清这个目标,先要理解数据库是做什么的. 数据库这个软件,名字中有个"库"字,会让人觉得它主要是为了存储的.其实不然,数据库实现的重要功能有两条:计算.事务!也 ...

  7. 王劲首度解析景驰:我们是跑得最快的无人驾驶公司

    来源:AI世代 概要:9月14日,在景驰科技天使轮投资方之一华创资本组织的分享会上,王劲以景驰科技创始人兼首席执行官的身份,发表了主题为"无人驾驶的大国冲刺"的演讲. 创业近半年后 ...

  8. 够快云库, 加速企业信息化建设

    随着信息技术的高速发展,越来越多的企业意识到信息化建设的重要性.加快企业信息化建设,不仅能够帮助企业提高生产运营效率,而且能够降低经营成本和运营风险,增加企业获利和持续经营的能力.然而,企业信息化建设 ...

  9. SPL - 写着简单跑得又快的数据库语言

    数据库语言的目标 要说清这个目标,先要理解数据库是做什么的. 数据库这个软件,名字中有个"库"字,会让人觉得它主要是为了存储的.其实不然,数据库实现的重要功能有两条:计算.事务!也 ...

最新文章

  1. 漫画谈一下Maven依赖,百分之90的同学不知道!
  2. 64位的机器上VS2008不能使用SharePoint的workflow template
  3. IOS单例的两种实现方式
  4. MATLAB:图像的与、或、非、异或逻辑运算(、|、~、xor)
  5. c语言af-1,单反对焦模式中的AF-S、AF-C、AF-A是什么意思,
  6. UART 异步串行通信发送模块设计与实现
  7. LeetCode:递增的三元子序列【334】
  8. java指的是什么_java什么是实例意思指的是
  9. Aspose-Cells结合Apache POI生成excel文件以及转换为pdf
  10. Git 合并代码操作失误,Rebase current,导致拉取代码一直冲突
  11. 动易 转 html5,动易dedecms数据转成dedecms的php程序
  12. 真鱼游来游去动态壁纸_超级漂亮的鱼池动态壁纸(Fish Pond)1.54中文完整版
  13. NVIDIA显卡驱动丢失 安装失败
  14. 数字信号处理第二章:Z变换及离散时间系统系统分析
  15. 怎样配置 Docker IPv6 ?
  16. 使用ssh登录华为云linux,mac远程ssh登陆华为云--linux版本
  17. Emacs footnote 自动排序
  18. IOS锁屏状态播放音乐时显示专辑信息和图片
  19. 加速度传感器的计步算法Pedometer
  20. Linux从入门到精通的总结

热门文章

  1. 关于python学习记录
  2. 小程序上传图片裁剪工具 we-cropper的使用方法
  3. 程序员福音 【完整的Java开发环境搭建】 系列篇
  4. Android 3DES 进行加密解密详细步骤及demo
  5. 研究生学历的我嫁给了只有大专文凭的程序员,我从不后悔
  6. 【迷你兔教程】硬盘数据恢复方法详解
  7. NRF52832学习笔记(32)——添加微信硬件接入服务AirSync
  8. 0802-0803 category/product/[order]/orderitem/[user]
  9. Beginning Ruby: From Novice to Professional
  10. 什么是Web服务端点?