面试复盘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、有时候要尽可能深入的聊吧。

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

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

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

相关文章

【Linux Shell】2. Shell 变量

文章目录 【 1. 变量命名规则 】【 2. 变量的使用 】【 3. 只读变量 】【 4. 删除变量 】【 5. 变量类型 】【 6. Shell 字符串 】6.1 字符串的分类6.2 字符串操作 【 7. Shell 数组 】7.1 定义数组7.2 读取数组7.3 获取数组的长度 【 8. Shell 注释 】8.1 单行注释8.2 多行注释…

机器学习的算法简单介绍-朴素贝叶斯算法

朴素贝叶斯网络(Naive Bayes Network)与贝叶斯网络(Bayesian Network)有一些不同之处,让我们来澄清一下这两个概念。 贝叶斯网络(Bayesian Network):贝叶斯网络是一种用于建模概率关…

Hi5 2.0 虚拟手与追踪器(Tracker)的位置修正

问题描述 使用环境与工具:Unity 2022.3.4fc1,steam VR(2.7.3),steamvrSDK(1.14.15),HTC vive pro专业版,Hi5 2.0数据手套 首先按照Hi5 2.0的使用说明(可参考:HI5 2.0 交…

windows 和linux 的区别

目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。主要区别如下 比较层面WindowsLinux界面界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同图形界面风格依发布版不同而不同,可…

Netty使用SSL实现双向通信加密

最近项目有个需求,TCP服务器实现基于证书通信加密,之前没做过,花了一些时间调研,今天整理下。 SSL(Secure Sockets Layer 安全套接字协议) 1、原理 算法原理 简而言之就是非对称加密算法 私钥自己持有,公钥发给对方,对方在发送信息的时候使用公钥进行加密数据,当接收到…

C# 数组相关操作

一。int[] 类型数组 1.求int[]数组中的最大值和最小值 int[] intArrnew int[]{ 1,2,3,4,5,-24,66};int a intArr.Max();int b intArr.Min();Console.WriteLine(a); //最大值为66Console.WriteLine(b); //最小值为-24 2.判断int[]数组中是否包含某个值 int[] intArrnew int[]…

IPA打包过程中的Invalid Bundle Structure错误如果解决

在iOS应用程序开发中,打包和发布应用程序是一个必要的步骤。有的时候在打包的过程中可能会遇到一些错误,其中一个比较常见的错误是"Invalid Bundle Structure"。这个错误通常意味着应用程序的文件结构不正确,而导致的无法成功打包应…

ShardingJDBC简单使用

Sharding-JDBC是当当网开源的适用于微服务的分布式数据访问基础类库,完整的实现了分库分表,读写分离和分布式主键功能,并初步实现了柔性事务。Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务。其适用于任何基于…

【NLP】2024年改变人工智能的前六大NLP语言模型

在快速发展的人工智能领域,自然语言处理已成为研究人员和开发人员关注的焦点。作为这一领域显著进步的证明,近年来出现了几种开创性的语言模型,突破了机器能够理解和生成的界限。在本文中,我们将深入研究大规模语言模型的最新进展…

精准快速定位的locate

精准快速定位的locate Linux locate命令用于查找符合条件的文档、程序、目录等等。这个命令会在数据库中查找符合条件的各种信息。 一般情况我们只需要输入 locate name 即可查找。 官方定义为: locate - list files in databases that match a pattern 使用方法为: $ lo…

ubuntu2204,mysql8.x安装

ubuntu 2204, MySQL8.x安装 sudo apt-get update sudo apt-get upgrade# 习惯性的先设置一下时区,这里我使用东八区 date -R # 若发现时间正常则无需设置tzselect# 依次选择 4 -> 10 -> 1 -> 1cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimedate -R# 同步时间…

ElementuiPlus文件上传失败原因,一个小坑记录!

记录一个自己犯得错误,一定记住要前后端file名字对应上! 原后端代码 RestController RequestMapping("/upload") public class UploadFileController {PostMappingpublic Result upload(MultipartFile multipartFile) throws IOException {S…

简单Diff算法

简单Diff算法 渲染器的核心 Diff算法 解决的问题 比较新旧虚拟节点的子节点,实现最小化更新。 虚拟节点key属性的作用 就像虚拟节点的“身份证号”,在更新时,渲染器会通过key属性找到可复用的节点,然后尽可能地通过DOM移动操…

GraalVM Native学习及使用

概述 在开发Spring Boot 应用或者其他JAVA程序的过程中,启动慢、内存占用大是比较头疼的问题,往往需要更多的资源去部署,成本大幅提高。为了优化上述问题,常常使用优化程序、使用更小消耗的JVM、使用容器等措施。 现在有一个叫做…

一起读《奔跑吧Linux内核(第2版)卷1:基础架构》- 大小端字节序

关注 点赞 不错过精彩内容 大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作! Hello,大家好我是硬核王同学,是一名刚刚工作一年多的Linux工程师&#xff0…

计算机网络(9):无线网络

无线局域网 WLAN 无线局域网常简写为 WLAN (Wireless Local Area Network)。 无线局域网的组成 无线局域网可分为两大类。第一类是有固定基础设施的,第二类是无固定基础设施的。所谓“固定基础设施”是指预先建立起来的、能够覆盖一定地理范围的一批固定基站。 …

关于java的递归

关于java的递归 本篇文章来了解以下java方法的最后一个基础知识,递归,递归是一个非常简便的东西,也是一个非常危险的东西🤣下面向大家仔细说明以下什么是递归,以及递归的注意事项,实现逻辑等。 递归 我们…

mapboxgl 中给地图添加遮罩蒙版,并不遮罩其中一块区域

文章目录 概要效果预览技术思路技术细节小结 概要 本篇文章主要是给一整块地图添加遮罩层蒙版,但是不遮罩其中一个区域,以反向高亮地区内容。 效果预览 技术思路 这里要实现某个区域反显高亮,需要这个区域的边界json文件,与ech…

java 类和对象的概念

类和对象的概念 面向对象当中最主要“一词”是:对象。 什么是类? 类实际上在现实世界当中是不存在的,是一个抽象的概念,是一个模板,是我们人类大脑进行思考、总结、抽象的一个结果。 (主要是因为人类的大脑…

每天五分钟计算机视觉:为什么要去GitHub寻找开源代码实现方案?

计算机视觉技术是当前人工智能领域的热门方向之一,其在许多领域都有着广泛的应用,如自动驾驶、智能安防、医疗诊断等。由于计算机视觉技术涉及到的算法和数据处理较为复杂,因此对于初学者来说,从零开始编写代码实现相关算法可能会…