后端日常实习笔面试记录(若干小厂+腾讯)
10月11
面试
数据分析岗,公司做面向学校的教育系统,提供计算均分等功能
技术上只问了是否接触过python的pandas和numpy库,并提到会用一些商业的数据分析软件
pandas=》用于处理EXCEL表格
numpy=》用于处理数组
到公司以后,会接触一下推荐算法。被画了很多饼
10月12
笔试
用双向链表做LRU 它能put和get
10月14
面试
公司是做分布式文件系统的开发,主要语言是c++和golang
一面问常用git操作,问用过哪些CI/CD工具
笔试考最小生成树,用了并查集+克鲁斯卡尔方法
二面问c++的编译细节,例如:
链接的时候发生了什么=》
1.预处理,处理所有的预处理指令,如
#include
、#define
、#ifdef
等。预处理器会:
- 处理头文件包含,将其内容插入到源代码中。
- 替换宏定义,并进行条件编译。
- 删除注释。
2.编译,会进行语法分析、语义分析,并生成对应的汇编代码
编译阶段中,会进行以下一些检查:
- 语法错误检查。
- 类型检查。
- 名称解析,确保所有变量和函数都有有效的声明。
3.汇编,将汇编代码转换成机器码(目标代码),并生成一个目标文件,通常以 .o 或 .obj 为扩展名。目标文件里包含二进制的机器可读的代码和相关的符号信息。
4.链接,将一个或多个目标文件(经过汇编生成的
.o
文件)组合成最终的可执行文件。链接的主要任务包括:
- 符号解析:将各个目标文件中的未定义符号(例如,函数调用或全局变量)解析为实际的地址。
- 处理库文件:将需要的库文件(如标准库、其他外部库)链接到可执行文件中。
- 生成最终的可执行文件,通常带有扩展名
.exe
(Windows)或无扩展名(Unix/Linux)。
为什么c++要有函数的声明=》方便类型检查;提高可读性。主要在编译阶段会进行类型检查
头文件的作用=》提供函数和类的声明;促进代码重用;隔离实现细节;支持条件编译
使用的soter和clang是什么关系=》Soter是一种开源的代码分析工具,使用 Soter 通常需要先编译好 LLVM,然后,再编译 Soter,使其能够链接到已构建的 LLVM 和 Clang 库。Soter 封装了许多底层的 LLVM 和 Clang 的复杂性,为开发者提供了更高层次的抽象
代码检查发生在什么时候=》在告警看板上面会显示。每次CI/CD之后,可以自动执行一遍这些检查
笔试考字典树 例如put一个word 再查询。不同之处在于可以查询a..b这样子。我的时间复杂度会偏高。
反馈:语言表达上有点紧张
面试2
公司大致业务是爬虫+数据存储,问了:
Linux常用命令=》
cat负责连接文件,合并多个文件并输出
grep搜索
find . -name负责在指定目录搜索文件
chmod用于更改权限,
三次握手和四次挥手。
爬虫的时候如何应对反爬验证码(识别+模拟点击+识别图形验证码)
首先检查页面中是否有检测robot的语句
先用xpath获取验证码图片的链接,再用amazoncaptcha得出结果,并用Selenium模拟输入验证码并按下按钮,即可解决验证码的问题
10月15
面试
非常小的初创公司,大致业务是 用java来处理音视频流等,然后用大模型来提供制作表情包等服务,主要面向海外网红
面试:为什么要用微服务=》提高可扩展性、容错能力,高可用,可以使用不同的技术栈和编程语言来开发不同的微服务
解释一下spring容器的依赖注入,例如@autowire 这个注解有什么用
笔试:提出了若干问题,包括1.线程安全如何解决=》用hashtable,还有保证串行化(通过synchronnized)2.提高并发性=》减小锁的粒度 3.如果缓存要过期=》在结点里面存储过期时间,a.在取数据的时候让它过期 b.加定时器 用优先队列存储所有结点 定期清除很久不使用的结点
问了主要要学的技术=》java的spring特性,设计模式,多线程,加锁
问了公司核心竞争力=》较高的用户友好性+垂直做这方面
面试2(腾讯)
厉害了是WXG...
业务是 基于腾讯的混元大模型 来自动化开发的很多个流程
需要提取数据(例如 自动化生成测试脚本的时候需要先提取测试用例),然后分步骤,对大模型进行调优
然后也要用node 改前端代码 让它能调用我们调好的模型
很意外..这种居然属于后台开发实习
还提到了WXG是小团队的,每个团队只有八九个人
先聊实习,问代码检查是发生在哪个时候=》在clang编译,获得中间文件以后
然后聊项目,是一个Python项目,问1是否有用到多线程爬取 2多线程是否能充分利用CPU的每个核
关于后端部分,问如果前端传来多个请求,后端会怎么处理=》用的是spring boot框架,这是高并发的,所以我们应该要设置合理的事务串行化执行机制,比如加锁等
笔试是k个一组 反转链表
10月21
腾讯二面
半小时,先问实习经历,问得很具体=》能否实时代码检查;你的代码检查器有什么优点(速度快,可扩展性好);介绍一下如何开发;如何优化;有哪些类型的代码检查
代码题:只用讲思路,如何判断图中是否有环
需要什么样的人=》什么都会,比如前端,数据库,C++,大模型
#面经##小厂也是厂,三千我也干##腾讯#