为什么要写这篇文章
后端开发工程师的知识体系又大又杂,从Java基础到算法、数据库、操作系统、网络、中间件、系统设计等都可以理解为后端的射程。 下定决心开始准备面试的时候,几乎无法着手。 我的开始是被合作伙伴推荐使用自己整理的简单博客,整理了后端开发工程师的知识框架。 我们从这个框架继续调查陷阱,最终完成了后端面试。 希望我的分享能为更多的伙伴找到开始的方向。
我的背景
从事传统软件行业的工作近三年来,尴尬的是在集团内部的工作协调下进行了产品设计,但近两年没有接触过代码。 虽然是计算机系本科毕业生,但项目经验不足,实际操作经验少,项目简单、挑战为零是软肋。 在准备过程中,要针对自己的弱点不断加强,在面试中也要不断总结。
面试经验
这次参加了阿里、头条、微软、eBay、腾讯的面试。 每个面试的岗位都不一样,但都是同一个后端开发职位。 在此简要记录每个技术方面的回合数和内容。
阿里巴巴三轮技术方面(项目经历系统设计)
今日前四轮技术(项目经历、算法问题、系统设计、技术细节) ) )。
微软一轮首发五轮技术(项目经历算法问题系统设计) )
eBay 1轮电面3轮技术(Java基础算法问题数据库设计) )。
腾讯2轮技术跪下(难以解释) )。
虽然没有透露具体的面试内容,但大多是根据个人背景、项目来提问。 大家可以根据以下资料,自己准备。
整理数据
1 .算法问题
Leetcode是大家的共识,在准备过程中,“HOT 100热点”“best top问题”这两个划分基本可以涵盖问题中的算法内容。 当然是自己总结各种问题的方法。
致力于中国:
字节跳动专区为主题题库(免费) :
当然,专区里也有微软的脸书。 氪金用了之后效果不大(热点100和最佳TOP几乎可以覆盖),各位合作伙伴根据需要购买。 这里不推荐。
2 .基础知识框架
这里也借花献佛,引用朋友的总结:
Github上的开源社区整理的知识体系:
3 .系统设计相关
Github资源、系统设计难的伙伴要好好研究:
B加深对站台视频、操作系统、网络TCP、BIO/NIO的了解,加深理解和表达:
总结心得
这些资料内部有大量的连接,扩展性极高,大家感兴趣的人可以自己探索。 我希望这个水文能帮助正在准备后端面试的你。