面试记录
格林深瞳 一面
一面时间:2023.11.1
用之前的笔试题开场,问我的处理逻辑,为什么这么想
通过第二道笔试题(报警响应),问了email的具体逻辑,有什么输出,有什么输入,还需要什么其他参数吗?
报警信息的来源
http的请求
http中 content type 有哪些 ?
- text/plain: 表示文本内容,通常是纯文本,不含任何格式化,如纯文本文件或普通文本消息。
- text/html: 表示HTML文档,通常用于Web页面。
- text/css: 表示Cascading Style Sheets(CSS)文件,用于定义文档的样式和布局。
- application/json: 表示JSON(JavaScript Object Notation)数据,常用于数据交换。
- application/xml: 表示XML(eXtensible Markup Language)数据,用于数据交换和配置文件等。
- application/pdf: 表示Adobe PDF文档,通常用于电子文档的传输和显示。
- image/jpeg: 表示JPEG图像,一种常见的图像格式。
- image/png: 表示PNG图像,另一种常见的图像格式。
- image/gif: 表示GIF图像,一种支持动画的图像格式。
- audio/mpeg: 表示MPEG音频文件,如MP3音频文件。
- video/mp4: 表示MP4视频文件,一种常见的视频格式。
- application/octet-stream: 表示二进制数据,通常不指定特定的媒体类型。
- multipart/form-data: 通常用于HTML表单文件上传,允许传输二进制文件数据。
- application/x-www-form-urlencoded: 通常用于HTML表单提交,编码表单字段的键值对。
http 中参数传递的方式
- URL查询字符串(Query Parameters):参数直接附加在URL的末尾,以问号(?)开头,不同参数之间使用“&”符号分隔。例如:
https://example.com/page?param1=value1¶m2=value2
。 - 表单(Form):表单是HTML中的一种元素,可以包含各种输入字段(文本框、下拉列表、单选框等),用户可以在浏览器中填写表单字段,然后提交给服务器。这些字段的值通常以键值对的形式传递,可以使用不同的HTTP方法,如POST和GET,来提交表单数据。
- HTTP头部(HTTP Headers):HTTP头部可以包含自定义的键值对,以传递一些元信息或参数。例如,可以在HTTP请求的头部中包含自定义的
X-My-Header: value
头部字段,服务器可以根据这些字段来处理请求。 - URL路径参数(Path Parameters):有时,参数信息可以包含在URL的路径中,通过在路径中使用占位符来传递参数。例如,RESTful API通常使用这种方式,如
https://example.com/users/123
中的123
是用户ID。 - 请求正文(Request Body):对于HTTP POST、PUT、PATCH等方法,数据可以包含在请求的正文中,通常以JSON、XML、或其他自定义格式进行编码。这种方式适用于传递复杂的数据结构,例如提交表单数据或上传文件。
- Cookie(HTTP Cookies):Cookie 是一种在客户端和服务器之间传递数据的方式,通常用于跟踪用户的会话状态。服务器可以在HTTP响应中设置Cookie,然后浏览器会在后续请求中自动包含Cookie数据。
- 会话(Session):在某些情况下,参数可以存储在会话中,用户的会话状态在多个HTTP请求之间保持一致。
- URL重写(URL Rewriting):在URL中将参数信息进行编码,通常使用URL路径的方式,以便将参数传递给服务器。
- URL查询字符串(Query Parameters):参数直接附加在URL的末尾,以问号(?)开头,不同参数之间使用“&”符号分隔。例如:
开始笔试
- 无缓冲的channel的读和写 (被卡脖子了~~,写了一个死锁,后来debug出来了)
- 有限容量队列的实现
- 先是这么写
arr:=arr[1:]
,发现arr的长度会变短 - 后来不敢偷懒了,共用了一块内存,过了
- 先是这么写
问项目
特殊词过滤和防止循环转链
的具体逻辑- MD5的实现,hash是什么…
- Snowflake 怎么实现,具体的参数有哪些
1. 开始时间+机器ID构成node
1. 使用来generate Int64的值 - JWT 怎么使用的,具体的参数有哪些
- 自定义的字段,如username,userID + standardClaims,构成了最终的Claims
- 其中StandardClaims 包括了expirationAt、Audience、ID、IssureAt、Subject、NotBefore
随时间权重下降的算法评论系统
的具体逻辑
我开始反问
- 有没有相应的ld,mt
- 面试会有几轮,会有HR面吗?
健康体育
的版块在公司中属于什么地位,开始研发多久了- 公司的主要技术栈
- 可以讲讲我的面试表现吗
我没了~~
2023.11.2 我收到了第一份感谢信,我被打回了人才库~~~
字节后端一面
面试时间:2023.11.7
2023.11.14,也就是7天后我开始反思自己,调整心态,一方面项目自己没能把握机会,另一方面自己的简历有夸大的部分,面试官基本围绕你的项目和简历来进行提问。
总结:
- 主动,你要主动把自己的知识面和特性展现出来,不要等面试官来找你的优点,你要牵引面试官跟着你的思路走,而不是他牵着你的鼻子走
- 自己不是很熟练的东西就不要往简历中写,面试官的问题思路来源大部分都是来自你的项目和个人介绍的技术栈中
字节AI编辑实习生
2023.11.13
总结转链项目:
Convert
1. 校验数据
- 数据不为空
- 链接可访问
- 不是之前已经转过的长链接(用MD5计算长链接的值,去数据库中查询)
- 不是数据库中存在的短链接
2. 取号
- 号码转链接
- 查看是否为blackList
3. 存入bloom filter
4. 存储长短连接的对应关系
5. 返回响应
Show
- 查询布隆过滤器 (若短链接不存在,访问失败)
- 用go-zero 查询短链接和长链接的对应关系
- 返回响应
http中的常见字段:
- connection
- content-type
- content-length
- host
- content-encoding
get 和 post的区别
- 幂等
- 数据传送方式
- 语义
- 数据长度
- 缓存
- 安全性
翼健
小西科技
深信服
面试记录
http://example.com/2023/10/30/面试记录/