聊聊后端面试那些事-【公粽号:堆栈future】
原文
面试到底要怎么准备
面试官心里
简历必须真实
简历上写的最近的项目必须做到熟悉
你掌握的技术必须做到知根知底
具备做事的能力
简历上没有的软技能
态度和心态
候选人心里
我要刷题 top100?
我要准备自我介绍
我要熟悉项目
我要把数据库相关知识掌握
我要把NoSQL相关知识掌握
我要把语言层面的知识掌握
我要把态度摆端正
PK环节
面试官问你的问题肯定是你要具备的,但是你具体掌握到什么程度就看你造诣有多深,但是如果问你的问题你确实不知道,那么这个时候你去问下周边小伙伴知不知道,如果不知道那么可能是面试官他想知道你知不知道,如果不知道就真诚地说出来,没什么大不了的,但是知道的话又不太了解一定要说不知道!
其次不管面试官是刁难你还是顺从你,你都应该表现出是谦卑的姿态,面试官也是打工的,当然很多面试官都不知道自己是打工的,以为自己是高人,对你不屑一顾,这个时候你一定要冷静的面试完,不要跟他翻白眼。
最后就是你熟悉的知识不要做到一知半解,就是面试官问你你最拿手的知识,你却给面试官一句话总结了,这是不地道的,面试1h,你5s就答完了,剩下的时间你让面试官怎么办?难道多给你出两道hard题让你做?所以这个时候一定要把面试官往你熟悉的领域上引导,多说几句又何妨?
准备阶段
正常面试官问你的问题都是按照既定套路来的,这个套路大致如下:
-
自我介绍
(XXX)网上有模板。 -
最近项目介绍
(XXX)网上有模板。 -
语言介绍
这里拿Go举例
map的扩容原理
slice的扩容原理
chan的原理
并发控制技术有哪些
gmp调度
内存分配和垃圾回收
性能调优
无非就这几种,你就看你了解吗,不了解回去背下来。
说实话,语言层面你如果一知半解,基本上给面试官的感觉就是你会写,你是初级水平而已,你离我要的候选人的目标差点意思,基本上心里已经把你毙掉了。
- 数据库原理
这里拿MySQL举例
几种日志
隔离级别
mvcc
幻读
间隙锁 行锁 Next-key Lock
索引优化 explain
索引类型和区别
主从相关
分库分表
基本上就这些知识,你如果不清楚,那么工作5年和工作10年你是一丁点都没积累,35岁淘汰的可能就是你了。
- NoSQL原理
这里拿Redis举例
redis几种数据类型
为什么是单线程
如何做持久化
大key删除和查询
后台线程或者进程有哪些具体做什么
主从相关
Redis Cluster相关
脑裂或者鲸群相关
缓存击穿 穿透 雪崩
缓存使用策略
基本上就这些知识,我在这里重点强调一下,你可以不用它但是你不得不掌握它,不为别的就为和面试官能把这1h聊完,这样你就不用写算法了。
-
其他组件原理
kafka相关
MQ相关
ES相关
Nginx
其他
就是你起码得熟悉一个组件,比如kafka或者MQ,因为大公司一定在用,所以不要局限在业务中说没有用到就不研究了,这样就大错特错,你得为你的将来负责,而不是成为公司的一颗螺丝钉。 -
八股文
分布式锁
1亿个数 找到top100相关等无关痛痒的面试题
分布式一致性raft等
分布式事务
一致性hash
其他
这些问题说实话你回答出来就是加分项,你回答不出来也没事,因为基本用不到,所以这些你可以多阅读多积累,这样慢慢就会背下来的。 -
架构
设计一个系统
微服务架构
监控指标或者SRE相关
部署相关
流量镜像或者分流
链路压测或者灰度流量
API网管设计
服务治理
高可靠 高可用 可扩展等
集群相关 -
算法
阿里比较厉害,基本不问算法
其他公司效仿字节都问算法,所以没办法你得多刷题
你今天不刷题,明天面试官就把你刷了。
其实刷题不是让你刷一遍,重点在“刷“,就是一直刷,一直刷,一直刷,直到背下来,不然你刷1000道你还是不会,一定要刷高频题!
小结
总之面试是一场持久战,你起码得好好准备一个月左右,不要断断续续,要1个月持续学习,直到感觉自己背下来了可以上战场了才可以约面试,不然你面试的越多,浪费的时间越多,过不了的机遇越大,你的自信心下降的越厉害,你就越找不到工作,你就越颓废,最后死循环!
网友评论