后端开发技术面试指南

news2024/12/20 19:11:16

工作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)不清楚,等我当上领导了再说吧。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习 | 四大常用机器学习Python库介绍

今天这篇我们介绍下Python中常用的机器学习库(机器学习、深度学习啥的,小编还是建议使用Python进行建模编写哈),也算是本公号机器学习的第一篇推文,主要内容如下: 机器学习常用四大Python库 关于机器学习的我想说的话 所有完整代…

Linux系统Docker部署RStudio Server

文章目录 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE,并通过 Web 浏览器进行访问…

公网IP怎么获取?

公网IP是网络中设备的唯一标识符,用于在Internet上进行通信和定位。对于普通用户来说,了解如何获取自己的公网IP是很有必要的,本文将介绍几种获取公网IP的方法。 方法一:通过路由器查询 大多数家庭和办公室使用的路由器都会有一个…

Java集合-ArraysLIst集合

集合是“由若干个确定的元素锁构成的整体”,在程序中,一般代表保存若干个元素(数据)的某种容器类。在Java中,如果一个Java对象可以在内部持有(保存)若干其他Java对象,并对外提供访问接口,我们把这种Java对象的容器称为…

计算机视觉基础知识(一)--数学基础

向量 线性变换 矩阵 充满数字的表格 矩阵加减法 要满足两个矩阵的行数与列数一致;加法交换律:ABBA 矩阵乘法 要满足A的列数等于B的行数; 单位矩阵 是一个nxn矩阵;从左到右对角线上的元素值为1;其余元素为0;A为nxn矩阵,I为单位矩阵,;单位矩阵在乘法中的作用相当于数字1; 逆矩…

【windows】环境下部署 java 项目

文章目录 前言一、工具:winsw二、使用步骤1.winsw文件2.修改后的winsw文件3.修改testJava.xml文件 三、运行1.注册服务2.注销服务 总结 前言 有时我们部署的环境是 Windows,需要借用 winsw 将 java 发布成服务形式。 提示:以下是本篇文章正文…

go linux监测文件变化

go linux监测文件变化 文件改变内容有两种方式,效果一样,但执行方式有区别: 直接打开文件改,现在很多编辑器都是这样操作的先删除原来的,再新创建写入一个替代原来的。比如vi/vim.这种方式会打断linux inotify原有的监测(就好比…

解决maven远程仓库找不到问题

首先可以修改maven镜像,改成国内镜像 在上步行不通的情况下 可以进行下面的设置 首先jar包下载下来,打开maven的设置 将下面代码改成自己的实际,插入到3中 mvn install:install-file -Dfile{$jar包地址} -DgroupId{$jar包的groupid} -Dar…

web3时事粥报

比特币正成为更具有吸引力的通胀对冲工具 在通胀的宏观经济浪潮中,比特币正逐渐崭露头角,成为那些渴望多元化投资组合的投资者眼中的璀璨明星。Kooner 预测,2024年,各种宏观经济挑战可能进一步提升比特币、黄金和白银等资产的避险…

基于机器学习的曲面拟合方法

随着科技的不断发展,机器学习成为了最近最热门的技术之一,也被广泛应用于各个领域。其中,基于机器学习的曲面拟合方法也备受研究者们的关注。曲面拟合是三维模型处理中的重要技术,其目的是用一组数据点拟合出平滑的曲面&#xff0…

文生视频基础1:sora技术报告学习

sora技术报告学习 背景学后理解训练流程技术拆解编码解码扩散模型训练用数据 28号直播交流会后的一些想法自身的一点点想法 参考 原文地址:Video generation models as world simulators 背景 此项目的背景是基于Datawhale的关于sora技术文档的拆解和相关技术讲解…

安卓tcp ip通讯

废话不多说直接上代码 //权限 引入<uses-permission android:name"android.permission.ACCESS_NETWORK_STATE" /><!--允许应用程序改变网络状态--><uses-permission android:name"android.permission.CHANGE_NETWORK_STATE"/><!--允…

NumpyPython 笔记1 3.4

array.ndim 几维 array.shape 几行&#xff0c;几列 array.size 存在多少个元素 np.array 转化为矩阵 dtype 确定类型&#xff0c;并且确定精度64&#xff1f;32&#xff1f;16&#xff1f;数字越小&#xff0c;越不精确 二维 np.zeros 生成零矩阵&#xff0c;并且规…

java常用应用程序编程接口(API)——Instant,DateTimeFormatter,Period,Duration概述

前言&#xff1a; 整理下学习心得。打好基础&#xff0c;daydayup&#xff01; Instant Instant是时间线上的某个时刻/时间戳&#xff0c;通过获取Instant的对象可以拿到此刻的时间&#xff0c;该时间由两部分组成&#xff1a;1&#xff0c;从1970年1月1日00:00:00开始走到此刻…

驱动开发面试复习

创建字符设备 1 创建设备号 alloc_chrdev_region 2.创建cdev cdev_init 3.添加一个 cdev,完成字符设备注册到内核 cdev_add 4.创建类 class_create 5.创建设备 device_create 1.内核空间与用户空间数据 copy_from_user 和copy_to_user 俩个函数来完成。 copy_from_user 函数…

招聘人才小程序源码系统:多城市招聘平台+招聘会+职场咨询 带完整的搭建教程以及安装代码包

移动互联网的飞速发展&#xff0c;线上招聘已成为企业和求职者之间的重要桥梁。为了满足多城市、多行业、多岗位的招聘需求&#xff0c;以及提供一站式的求职服务&#xff0c;小编给大家分享一款“招聘人才小程序源码系统”。该系统不仅整合了多城市的招聘平台资源&#xff0c;…

ssm226基于jsp的快递管理系统的开发

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一 、设计说明 1.1 研究…

动态库制作

win下扩展名为.dll(dynamic linking library) linux下前缀为dll 扩展名为.so(shared object) linux 下使用动态库步骤 1&#xff0c;制作动态库&#xff0c; libmath.so 2&#xff0c;在主程序中包含动态库&#xff08;就是添加头文件的方法&#xff09; 3&#xff0c;编译…

IO 与 NIO

优质博文&#xff1a;IT-BLOG-CN 一、阻塞IO / 非阻塞NIO 阻塞IO&#xff1a;当一条线程执行read()或者write()方法时&#xff0c;这条线程会一直阻塞直到读取到了一些数据或者要写出去的数据已经全部写出&#xff0c;在这期间这条线程不能做任何其他的事情。 非阻塞NIO&…

[Java 探索之路~大数据篇] 新时代大数据流处理入门指南

本文主要介绍大数据基础&#xff0c;以及 flink 流计算 文章目录 【基础知识】1. 批处理与流处理1.批处理2.流处理 2. 为什么需要一个优秀的流处理框架1. 股票交易的业务场景2.生产者——消费者模型3. 流处理框架要解决的诸多问题&#xff08;1&#xff09;可扩展性&#xff08…