面试复盘5——后端开发——一面面经——大厂的面试果然干货满满

2024-01-04 03:44

本文主要是介绍面试复盘5——后端开发——一面面经——大厂的面试果然干货满满,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

本文主要用于个人复盘学习,因此为保障公平,所以本文不指出公司名,题目编号只是为了自己区别而已。对待面经,望读者还是更多从其中学习总结,而不是去碰原题。

面试岗位信息

后端开发秋招,上海某大中厂,二次元。Boss投递,大约三天后约面。

一面(12.26)

总体1h,大约15分钟项目,15分钟语言基础,15分钟八股,15分钟笔试。面试官态度很好,会一直引导、给出提示。算是我目前冬招过程中,收益比较大的一场面试了。

这个面试的有点紧张了,自我介绍疯狂的“然后”…还是需要巩固一下这个稿。

先聊了项目1,该项目内容是一个kafka做的死信队列服务。

如何判断消息是否重发?——根据发送时候设置的参数。
自己消息发送失败时候如何做?——发回来这个主题再。(后续考虑一下这里)
服务的吞吐,大量信息时候如何处理——目前没考虑,因为死信收到大量数据,那其他地方早就挂的不能再挂了。
如何做?——, 增加消费者,利用kafka的分区。(这个后续再考虑完善一下,包括多个东西存数据库这种如何做)
你们这个项目使用到kratos,使用了他的哪些功能?——我只知道个依赖注入…wire
什么是依赖注入?
kafka消息消费可能会失败,失败涉及到重试,使用kafka重试是否会出现重复消费,丢消息情况?如何解决。
kratos的其他一些模块有了解吗?选一个讲一下。

接下来开始聊的是语言基础

先问了Python…我不理解为什么我go的他问我那么多Python呜呜呜。

Python问题

is和==的区别。
有哪些常见的数据结构?
list和集合区别。
Python常见的内置方法?比如map。

golang问题

开协程,其中出现了空指针导致panic,会怎么样?
对一个数组循环,for range,使用kv时候有什么要注意的吗?大概是这个东西的知识点k、v是对元素的引用,始终是一个变量。
函数传递值时候,不同数据结构(数组、切片、map、struct)入参时候,有什么区别?哪些是地址哪些不是。
(这里我struct不清楚,他帮我举例了一个参数struct在函数内修改时,是否会影响?答案是会根据struct内的内容来判断,看他是否是地址还是什么)
深浅拷贝参考这里修改拷贝的值,是否影响另一个?
浅拷贝什么时候影响,什么时候不影响?(浅拷贝只是拷贝了第一级,所以根据他内容判断,是值类型还是引用类型)(此部分没找见直接文章,待我回头研究一下源码。。)

八股

http的全称是什么?——超文本传输协议。我没记得…
是哪一层的?——应用层。应用层还有什么?
Http协议常用的状态码。
http和https的区别。
tls是怎么保障安全的。
Post和Get的区别。
发起请求时候,请求组成包里面第一行是请求方法和路由地址,第二部分是header,第三部分是body。——列举几个常见的header?

进程之间通信方式。
线程之间通信方式。
进程和线程的区别。

索引的优缺点。(这里缺点的时候回答是会变慢,面试官建议让我说再深入点。我补充了B+tree这些)

编程

LeetCode-1. 两数之和
for+hash表
之后顺带聊了一下hash表的底层结构

总结

1、发现自己基础还是很不扎实,很多面试高频都还没背完。
2、算法题还是手生。。简单题也能卡。
3、紧张了。。
4、有时候要尽可能深入的聊吧。

这个面试还是算我近期几场面试中,直接收益最高的一场了…给我带来的很多努力的方向。但自我感觉不好,有点泼天富贵接不住的感觉了,哎。

这篇关于面试复盘5——后端开发——一面面经——大厂的面试果然干货满满的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/568060

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark