后端开发技术面试指南

工作10多年,每年都会帮组里面试一些新同学校招社招的都有,下面我就从一个面试官的视角来给大家拆解一下如何淡然应对后端开发技术面试。

1.一面多为电话面试

(1)问七问八

①简历要注重内容,形式上不丑没有错别字即可。之前收到过一个工作5年的简历,内容只有一面,因为他一直在一个公司的一个项目组,他就写了一个大项目。这种简历很有问题,如果你确实没项目可写,

②换工作不能太频繁。如果你跳槽的频率是半年到一年,相信我,没有大厂敢要你,因为大厂流程复杂,半年相当于刚把你培训上道,你却要跑了。

③不要说自己是被优化掉的。你自己不承认,面试官怀疑也没有用,如果你面试状态很不错,其实没有影响。但是如果你上来就说自己是被上家优化掉的,很多大厂都不会考虑。

(2)自我介绍免不了

①下面是个不好的例子:我告诉他进行一次简短的自我介绍,结果他聊了15分钟也不停歇,尝试打断他,没说几句,他又开始聊起来自认为很牛x的项目。

(3)背八股。你说你精通c++,刚好我也懂。。

①面试官很喜欢问一些底层实现之类的问题以彰显他们的智慧,比如虚函数是怎么实现的?如果你能条理清晰的虚函数表的内存布局就差不多了。还有比如STL的hashmap是如何实现的?其实这些东西在工作中鲜有实际用途,但是能判别一个人是不是真的一天到晚CRUD,从不学习底层技术。你也知道大厂都是招聘火箭专家进来打螺丝。

(4)系统设计侃大山

①一般电话面试不会要求做题(也有那种给你一个共享文档让你来做题的情况),但是系统设计是可以不用写写画画就能聊的,比如面试官会让你设计实现一个限流器,碰到这种问题,你不要一上来就给答案,你需要先跟面试官沟通问清楚需求,比如问面试官如下问题:你是要给什么东西限流,面试官会说后端API接口;然后再问是给单机服务限流还是集群API限流;然后再问需求是否是只需要限制每秒少于N个请求即可还是说要尽可能的平滑请求等等;你把需求问清楚了,思路基本就出来了,比如你给出了一个用redis实现的令牌桶。

(5)你有什么问题?

①理论上你可以问面试官任何问题,但是最好不要问,你们组卷不卷,加班多不多之类的问题,你问了,面试官会觉得你不喜欢加班,而且这种问题你在面试官那里也得不到真实的答案,这个问题你最好问给你内推的人。

2.二面/三面

二面三面基本都是硬核的做题类型的面试。

(1)自我介绍,请开始你的表演。注意时长(5分钟以内),重点说难度说亮点。什么叫难度?高并发高可用低延迟,往这上面靠就行。

(2)八股文你能背出来吗?

①所有你简历上的内容,你都需要提前准备,尤其是你精通的,比如你说你精通Redis,面试官可能就会问你,redis为什么这么快?你如果只回答了一句因为redis是存内存的,你可能这次面试会挂,即使你作对了两道题。而如果你说了很多点,比如非阻塞I/O多路复用,以及哈希表优化等等,即使你两道编程题只做对了一道,一般还会有下次机会。

(3)先做一道入门级别的编程题热热身.

①这里一般面试官会让你用自己最擅长的语言写一道基本的编程题。比如将一个数1234转成中文一千二百三十四,拿到这种题目切记不要大意,面试官考察的是你能否编写干净整洁和正确的代码,干净整洁需要你逻辑清晰不写垃圾代码,正确需要你想清楚各种边边角角的情况比如4000,0等,并写好单元测试。

(4)工作5年,并发编程应该小菜一碟吧。

①比如让你写一个多线程压测工具,给你一个url,需要你开多线程对这个网站发送http请求,并打印出来当前压测的QPS是多少。你如果用java,拿到这个题,你至少需要知道如何开thread,如何发http请求,如何线程安全的记录QPS,可以看出这种题目并不难,但是如果你写代码不多,很容易写不满足要求的代码。

(5)重头戏来了:算法和数据结构

①这一块可能很难,如果你面试的职级比较高,碰到比较难的题例如某些复杂的动态规划题目的概率就比较大, 还有一般女生碰到难题的概率相对较小,以及特别牛X轰轰的人碰到难题的概率相对较大。

②正常都是leetcode上中等难度的题,比如对常见的数据结构二叉树,就会出一道这样的题,给你一个二叉树,验证它是否是一个二叉搜索树,什么?你连二叉搜索树是啥都不知道?这时候你不要慌,你就说平时编程时没有用过二叉搜索树,5年前学过的,现在忘记了,让面试官提醒你一下二叉搜索树的特性;面试官心情不差的情况下应该会告诉你;要是你刚好刷过这道题,你应该窃喜,并且不露声色的做思考状,“嗯,这道题没做过,递归不好搞啊,遍历一下怎么样,左中右,BST遍历之后应该是升序啊,然后装作问面试官,是升序就是BST?”。如果你很诚实,也可以告诉面试官我刚做过,请换一道。。

3.终面

(1)不清楚,等我当上领导了再说吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/426484.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第七天

● 自己看到题目的第一想法 第454题.四数相加II 方法&#xff1a; 方法一&#xff1a; 暴力法 思路&#xff1a; 注意&#xff1a; 代码&#xff1a; class Solution { public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<i…

SpringBlade CVE-2022-27360 export-user SQL 注入漏洞分析

漏洞描述 SpringBlade是一个基于Spring Cloud和Spring Boot的开发框架&#xff0c;旨在简化和加速微服务架构的开发过程。它提供了一系列开箱即用的功能和组件&#xff0c;帮助开发人员快速构建高效可靠的微服务应用。该产品/api/blade-user/export-user接口存在SQL注入。 漏…

探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式

目录 前言一、 单机模式二、 伪分布式模式三、 完全分布式模式&#xff08;重点&#xff09;3.1 准备工作3.2 配置集群3.2.1 配置core-site.xml 文件3.2.2 配置hdfs-site.xml 文件3.2.3 配置yarn-site.xml 文件3.2.4 配置mapred-site.xml 文件 3.3 启动集群3.3.1 配置workers3.…

神经网络系列---卷积

文章目录 卷积神经网络卷积转置卷积 卷积核和反卷积的三种实现方式卷积的次数计算 卷积神经网络 在神经网络的卷积层中&#xff0c;向下取整&#xff08;Floor&#xff09;是一种常用的策略&#xff0c;特别是在处理输出尺寸不是整数的情况时。当你计算出卷积层输出的尺寸&…

【 10X summary report】怎么看?详细解读笔记

报告内容 在开始正式的分析之前&#xff0c;需要查看在对齐和计数过程中生成的任何总结统计信息。下图是由Cell Ranger工具创建的10X总结报告&#xff0c;在从10X scRNA-seq实验生成计数矩阵时会生成。 The left half of the report describes sequencing and mapping statist…

李沐动手学习深度学习——3.1练习

字写的有点丑不要介意 由于公式推导烦的要死&#xff0c;所以手写形式&#xff0c;欢迎进行讨论&#xff0c;因为我也不知道对错

2024最新AI系统ChatGPT网站源码, AI绘画系统

一、前言说明 R5Ai创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GP…

lua调用C++函数

第一步搭建lua的环境. win10 lua环境搭建-CSDN博客 我使用的环境是win10vs2015lua54 先来个最简单的lua调用C函数, 无参数无返回值的 第一步:定义C函数. int CTest(lua_State* L) // 返回值是固定的int类型,返回0表示没有返回参数,返回1表示有一个返回参数 {std::cout &l…

模型部署 - BevFusion - (1) - 思路总结

模型部署实践 - BevFusion 思路总结一、网络结构 - 总结1.1、代码1.2、网络流程图1.3、模块大致梳理 二、Onnx 的导出 -总体思路分析三、优化思路总结 学习 BevFusion 的部署&#xff0c;看了很多的资料&#xff0c;这篇博客进行总结和记录自己的实践 思路总结 对于一个模型我…

自学高效备考2025年AMC8数学竞赛:2000-2024年AMC8真题解析

今天继续来随机看五道AMC8的真题和解析&#xff0c;根据实践经验&#xff0c;对于想了解或者加AMC8美国数学竞赛的孩子来说&#xff0c;吃透AMC8历年真题是备考最科学、最有效的方法之一。下面的五道题目如果你能在8分钟内做对&#xff08;主要结果对&#xff0c;无需过程&…

【C++精简版回顾】18.文件操作

1.文件操作头文件 2.操作文件所用到的函数 1.文件io 1.头文件 #include<fstream> 2.打开文件 &#xff08;1&#xff09;函数名 文件对象.open &#xff08;2&#xff09;函数参数 /* ios::out 可读 ios::in 可…

Vue前端+快速入门【详解】

目录 1.Vue概述 2. 快速入门 3. Vue指令 4.表格信息案例 5. 生命周期 1.Vue概述 1.MVVM思想 原始HTMLCSSJavaScript开发存在的问题&#xff1a;操作麻烦&#xff0c;耦合性强 为了实现html标签与数据的解耦&#xff0c;前端开发中提供了MVVM思想&#xff1a;即Model-Vi…

Spring框架精髓:带你手写IoC

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

巧用二进制实现俄罗斯方块小游戏

效果预览 思想 首先建立两个数组board、tetris用来存储当前已经堆积在棋盘的方块与正在下落的方块。 这两个是一维数组当需要在页面画棋盘时就对其每一项转成二进制&#xff08;看计算属性tetrisBoard&#xff09;&#xff0c;其中1&#xff08;红色&#xff09;0&#xff08;…

python celery beat实现定时任务

在Celery在python中的应用除了实现异步任务&#xff08;async task)外也可以执行定时任务(beat) 1.Celery定时任务是什么&#xff1f; Celery默认任务单元由任务生产者触发,但有时可能需要其自动触发, 而beat进程正是负责此类任务,能够自动触发定时/周期性任务. 只需要在配置…

yolov5训练太慢的解决方案

问题原因 训练太慢大多是因为没有安装CUDA和pytorch&#xff0c;导致的只有cpu在跑&#xff0c;显卡没跑 这就是很典型的。 解决方案 第一步&#xff1a;安装CUDA 在本机上面安装CUDA,记住只有N卡可以安装&#xff0c;一开始的电脑是自带CUDA的。 如果不是自带的CUDA&…

NoSQL--2.MongoDB配置

目录 2.MongdoDB配置 2.1 Windows环境下操作 2.1.1 注册MongDB Atlas&#xff1a; 2.1.2 MongoDB Community Server Download&#xff1a; 2.1.3 启动MondgoDB服务&#xff1a; 2.1.3.1 命令行参数的方式启动MongoDB服务&#xff1a; 2.1.3.2 使用配置文件方式启动Mongo…

游戏框架搭建

使用框架的目标&#xff1a;低耦合&#xff0c;高内聚&#xff0c;表现和数据分离 耦合&#xff1a;对象&#xff0c;类的双向引用&#xff0c;循环引用 内聚&#xff1a;相同类型的代码放在一起 表现和数据分离&#xff1a;需要共享的数据放在Model里 对象之间的交互一般有三…

如何使用恢复软件恢复删除的文件?回收站文件恢复攻略

随着计算机在日常生活中的普及&#xff0c;文件的管理和存储成为我们不可或缺的技能。在Windows操作系统中&#xff0c;回收站作为一个帮助我们管理文件删除的重要工具&#xff0c;在误删了一些重要文件之后&#xff0c;我们可能会因为找不到回收站中恢复的文件而感到困惑。本文…