字节测试开发工程师面经(二面已凉)

本文记录了一次深入的信息安全面试,涵盖了XSS、CSRF、SQL注入等Web安全问题,以及HTTP请求流程、TCP/IP协议、数据库查询与多线程安全。面试官对每个问题进行了详尽的追问,考察了面试者对技术细节的掌握和实际应用能力。同时,面试中涉及的算法题目为无重复字符的最长子串,体现了对算法理解的要求。

一面

1.先自我介绍,问了问在校经历和志愿者的经历;
2.聊实习经历(这部分占了很多的时间,问的很细致);
3.说说xss和csrf的区别,原理,防范措施?
4.说说sql注入的原理,类型,防范措施?
5.玩过抖音吧,你觉得抖音可能存在哪些安全漏洞(缺陷),怎么去解决?
6.说说重写和重载?
7.讲讲多线程?怎么确保多线程安全?
8.计算机网络问题:说说完成一个http请求到浏览器显示出页面的完整过程?
9.详细说说怎么解析为IP?
10.详细说说TCP/IP协议三次握手四次挥手?
11.数据库:给一个学生成绩表(学号、语文成绩、数学成绩)和一个学生信息表(学号、姓名):查找语文成绩前20名姓张的同学;
12.算法:无重复字符的最长子串leetcode链接:无重复字符的最长子串
13.有什么想问我的?

(当晚通知二面)

二面

1.自我介绍;
2.继续聊实习经历;
3.csrf和ssrf区别,原理,防范措施?
4.hashmap和hashtable的区别?
5.hashmap安不安全?为什么?那hashtable呢?
6.mysql索引?
7.(还问了一个mysql的问题,具体是什么忘记了)
8.描述一下浏览器显示页面的过程?
9.四次挥手要等待多长时间?为什么要等待这么长时间?
10.TCP和UDP的区别?
11.为什么TCP更安全可靠?
12.算法:leetcode链接:组合总和
13.今后的职业规划?
14.有什么问我的?

隔日收到感谢信,已凉。

问的不多,但是每个问题都问的特别细致,临时抱佛脚很容易露馅TAT,希望各位加油努力学习!

### 字节跳动商户平台后端开发工程师 C++ 面试经验 #### 基础语法与 STL 掌握程度 在字节跳动的面试过程中,基础语法和标准模板库 (STL) 是考察的重点之一。候选人需要熟悉 `#include` 和命名空间声明的方式,例如通过 `using namespace std;` 来简化代码书写[^1]。此外,还需要掌握常见的容器(如 vector、map)、算法(如 sort、find)以及迭代器的使用。 #### 数据结构与算法能力 数据结构与算法是后端开发岗位的核心考核点。以字符串处理为例,在某些题目中可能会要求实现一个函数来计算字符串中最后一个单词的长度。这类题可以通过去除字符串两端空格并从右至左查找单词边界的方法解决[^4]。此过程不仅测试了候选人的逻辑思维能力,还评估其对复杂度优化的理解。 #### 编程实践中的性能调优意识 针对高性能场景下的服务设计,C++ 的内存管理机制显得尤为重要。面试官通常会关注应聘者如何合理分配动态内存 (`new/delete`) 或利用智能指针减少资源泄漏风险。同时也会探讨多线程环境下同步原语的应用技巧及其潜在开销影响。 #### 对现代 C++ 特性的理解 随着语言版本不断更新迭代,像 lambda 表达式这样的新增特性已被广泛应用于实际项目当中 。然而值得注意的是 ,尽管新技术能够带来便利之处 ,但在企业内部推广接受度方仍存在一定阻力 [^2]。因此,在讨论解决方案时既要体现创新能力也要兼顾兼容性考虑 。 #### 开源生态贡献情况 近年来 ,越来越多的企业开始重视开源社区建设工作 .其中关于 JDK 替代方案的选择成为热点话题之一.[^3]虽然这里提到的内容主要围绕 Java 展开论述,但对于从事跨平台软件研发工作的技术人员而言,类似的趋势同样适用于其他编程环境.比如是否积极参与到 LLVM/Clang 等项目的维护工作中去就成为了衡量个人技术视野宽广与否的重要指标. ```cpp // 示例代码展示简单的字符串操作功能 #include <iostream> #include <string> int main() { std::string str = " Hello World "; // 移除首尾空白字符 size_t start_pos = str.find_first_not_of(' '); if(start_pos != std::string::npos){ str.erase(0,start_pos); } size_t end_pos = str.find_last_not_of(' '); if(end_pos !=std::string::npos && end_pos !=str.length()-1 ){ str.erase(end_pos+1); } int last_word_length=0; bool inside_word=false; for(auto it=str.rbegin();it!=str.rend();++it){ char c=*it; if(c!=' '&& !inside_word){ inside_word=true; ++last_word_length; }else if(c==' '&& inside_word){ break ; }else{ continue ; } } std::cout << "Last word length:"<<last_word_length<< "\n"; } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值