聊聊后端面试那些事

简介: 聊聊后端面试那些事


聊聊后端面试那些事



面试到底怎么准备


面试官心里

  1. 简历必须真实
  2. 简历上写的最近的项目必须做到熟悉
  3. 你掌握的技术必须做到知根知底
  4. 具备做事的能力
  5. 简历上没有的软技能
  6. 态度和心态


候选人心里

  1. 我要刷题 top100?
  2. 我要准备自我介绍
  3. 我要熟悉项目
  4. 我要把数据库相关知识掌握
  5. 我要把NoSQL相关知识掌握
  6. 我要把语言层面的知识掌握
  7. 我要把态度摆端正


PK环节


面试官问你的问题肯定是你要具备的,但是你具体掌握到什么程度就看你造诣有多深,但是如果问你的问题你确实不知道,那么这个时候你去问下周边小伙伴知不知道,如果不知道那么可能是面试官他想知道你知不知道,如果不知道就真诚地说出来,没什么大不了的,但是知道的话又不太了解一定要说不知道!


其次不管面试官是刁难你还是顺从你,你都应该表现出是谦卑的姿态,面试官也是打工的,当然很多面试官都不知道自己是打工的,以为自己是高人,对你不屑一顾,这个时候你一定要冷静的面试完,不要跟他翻白眼。


最后就是你熟悉的知识不要做到一知半解,就是面试官问你你最拿手的知识,你却给面试官一句话总结了,这是不地道的,面试1h,你5s就答完了,剩下的时间你让面试官怎么办?难道多给你出两道hard题让你做?所以这个时候一定要把面试官往你熟悉的领域上引导,多说几句又何妨?


准备阶段

正常面试官问你的问题都是按照既定套路来的,这个套路大致如下:


1. 自我介绍

(XXX)网上有模板。


2. 最近项目介绍

(XXX)网上有模板。


3. 语言介绍

这里拿Go举例

  1. map的扩容原理
  2. slice的扩容原理
  3. chan的原理
  4. 并发控制技术有哪些
  5. gmp调度
  6. 内存分配和垃圾回收
  7. 性能调优


无非就这几种,你就看你了解吗,不了解回去背下来。

说实话,语言层面你如果一知半解,基本上给面试官的感觉就是你会写,你是初级水平而已,你离我要的候选人的目标差点意思,基本上心里已经把你毙掉了。


4. 数据库原理


这里拿MySQL举例

  1. 几种日志
  2. 隔离级别
  3. mvcc
  4. 幻读
  5. 间隙锁 行锁 Next-key Lock
  6. 索引优化 explain
  7. 索引类型和区别
  8. 主从相关
  9. 分库分表


基本上就这些知识,你如果不清楚,那么工作5年和工作10年你是一丁点都没积累,35岁淘汰的可能就是你了。


5. NoSQL原理


这里拿Redis举例

  1. redis几种数据类型
  2. 为什么是单线程
  3. 如何做持久化
  4. 大key删除和查询
  5. 后台线程或者进程有哪些具体做什么
  6. 主从相关
  7. Redis Cluster相关
  8. 脑裂或者鲸群相关
  9. 缓存击穿 穿透 雪崩
  10. 缓存使用策略


基本上就这些知识,我在这里重点强调一下,你可以不用它但是你不得不掌握它,不为别的就为和面试官能把这1h聊完,这样你就不用写算法了。


6. 其他组件原理
  1. kafka相关
  2. MQ相关
  3. ES相关
  4. Nginx
  5. 其他


就是你起码得熟悉一个组件,比如kafka或者MQ,因为大公司一定在用,所以不要局限在业务中说没有用到就不研究了,这样就大错特错,你得为你的将来负责,而不是成为公司的一颗螺丝钉。


7. 八股文


  1. 分布式锁
  2. 1亿个数 找到top100相关等无关痛痒的面试题
  3. 分布式一致性raft等
  4. 分布式事务
  5. 一致性hash
  6. 其他


这些问题说实话你回答出来就是加分项,你回答不出来也没事,因为基本用不到,所以这些你可以多阅读多积累,这样慢慢就会背下来的。


8. 架构
  1. 设计一个系统
  2. 微服务架构
  3. 监控指标或者SRE相关
  4. 部署相关
  5. 流量镜像或者分流
  6. 链路压测或者灰度流量
  7. API网管设计
  8. 服务治理
  9. 高可靠 高可用 可扩展等
  10. 集群相关


9. 算法


阿里比较厉害,基本不问算法

其他公司效仿字节都问算法,所以没办法你得多刷题

你今天不刷题,明天面试官就把你刷了

其实刷题不是让你刷一遍,重点在“刷“,就是一直刷,一直刷,一直刷,直到背下来,不然你刷1000道你还是不会,一定要刷高频题!


小结

总之面试是一场持久战,你起码得好好准备一个月左右,不要断断续续,要1个月持续学习,直到感觉自己背下来了可以上战场了才可以约面试,不然你面试的越多,浪费的时间越多,过不了的机遇越大,你的自信心下降的越厉害,你就越找不到工作,你就越颓废,最后死循环

相关文章
|
3月前
|
设计模式 算法 Java
后端面试题:接口和抽象类的区别?抽象类可以多继承吗?
字节后端面试题:接口和抽象类的区别?抽象类可以多继承吗?
40 0
|
3月前
|
前端开发 JavaScript
【面试题】面试官:如果后端给你 1w 条数据,你如何做展示?
【面试题】面试官:如果后端给你 1w 条数据,你如何做展示?
|
12天前
|
缓存 前端开发 中间件
[go 面试] 前端请求到后端API的中间件流程解析
[go 面试] 前端请求到后端API的中间件流程解析
|
1月前
|
算法 网络协议 Linux
|
2月前
|
索引 NoSQL 关系型数据库
【后端面经】【NoSQL】ElasticSearch - 1 -2 Translog + Elasticsearch索引与分片 + 面试准备
【6月更文挑战第15天】Elasticsearch利用Translog确保数据安全,类比MySQL的redo log,它在内存缓冲后记录Translog,每隔5秒持久化磁盘,提供高效且顺序的写入。尽管如此,仍可能最多丢失5秒数据。索引由分片组成,每个分片有主从结构,分布于不同节点以降低故障影响。当主分片失败,主节点会选择新主分片。面试中可讨论公司如何使用Elasticsearch、其性能、索引设计、可用性策略及解决过的挑战。常见问题涉及Elasticsearch的应用场景、问题解决及写入流程。
17 1
【后端面经】【NoSQL】ElasticSearch - 1 -2 Translog + Elasticsearch索引与分片 + 面试准备
|
1月前
|
存储 安全 Java
Java面试题:假设你正在开发一个Java后端服务,该服务需要处理高并发的用户请求,并且对内存使用效率有严格的要求,在多线程环境下,如何确保共享资源的线程安全?
Java面试题:假设你正在开发一个Java后端服务,该服务需要处理高并发的用户请求,并且对内存使用效率有严格的要求,在多线程环境下,如何确保共享资源的线程安全?
40 0
|
1月前
|
负载均衡 NoSQL 中间件
|
2月前
|
存储 算法 Java
JAVA后端开发面试题库
JAVA后端开发面试题库
35 1
|
2月前
|
算法 前端开发 安全
面试官:前端加密怎么做?这,这,这不是后端的活儿吗?
前端加密技术概述: 前端加密主要用来保护数据在传输过程中的安全,但因浏览器环境开放性,仅能提供有限的安全性,真正安全策略需结合服务器端加密和安全协议。
|
3月前
|
存储 缓存 安全
大型互联网企业Java后端技术面试题总结(含答案)
大型互联网企业Java后端技术面试题总结(含答案)
60 0