「字节跳动测试开发面经」一二三面+hr面+超级多干货+复习资料
说在前面,面试时最好不要虚报工资。本来字节跳动是很想去的,几轮面试也通过了,最后没offer,自己只想到几个原因:
1、虚报工资,比实际高30%;
2、有更好的人选,这个可能性不大,我看还在招聘。我是面试Android开发的,3年经验,下面是面试流程:
一面
自我介绍项目
实习
算法题:如何判断一棵树是否是平衡二叉树 我写的递归有点问题,算是写出来了50%吧
算法题:最长回文子串 只写了中心扩散法,面试官问我还有没有其他思路,我知道有动态规划,但是我当时对动态规划底气不足,直接说了不知道其他方法
如何实现一个操作系统
sql注入是什么
分页和分段的区别
http和https的区别
cookie和session的区别
应用层哪些协议是基于udp,哪些基于tcp
rip是什么
进程调度算法有哪些,在实际情况中如何选择这几种算法
最熟悉的数据结构有哪些
计算机组成原理讲了什么
反问
二面
自我介绍项目
实习
发现了哪些漏洞
哪些是你手动发现的
讲一个安全工具的工作原理
sql注入是什么
xss注入是什么
操作系统
操作系统有哪些功能
说一下磁盘管理
熟悉哪些算法?
请问是排序这些吗?
linux用过没有?
命令了解哪些
现在只能想起查ip的命令(完蛋,一个都不记得)
算法题 数组中数据两两交换 -先说一下思路
三面
自我介绍;算法题:给定字符串s,输出第一个满足:在s中恰好出现3次的字母。保证存在这样的字母且字符串都是小写字母组成。
比较简单,扫一遍开个数组统计,再开个vector存一下就行了。手写代码。
SQL:给一个id,科目;成绩的表,搜索不及格科目大于两门课的学生id。
数据库的事务是什么;
如何实现事务的隔离性;
你觉得后端包括那些东西;
听过web编程吗;
Cookie是什么;
你在登录一个网站时,输入完账号密码点击确定的时候发生了什么;
四面
酷跑游戏如何使得用户感受到跑道无穷无尽游戏引擎和体感传感器可以连起来的原理
发现了哪些漏洞,大概分为几类
12306买票系统,请设计一个查询方案,要查出了车次,车站名,车站名和地点名可能不相关
进程和线程的区别
进程间的通信方式
用共享存储方式通信会有什么问题,如何解决
计算机网络五层每一层说一下
知道什么是端口号吗?
http的状态码301和302有什么区别
linux命令会吗?
HR面
询问了除字节跳动以外,还在看其他工作机会么?分别是什么字节、XXX公司、XXX公司,你的优先级是什么,为什么?
之前薪资待遇是多少?你期望的薪资是多少?
平时有什么爱好?
了解职位需求吗?
有没有想问的?
这是我在某论坛看到的故事,我知道我们很多程序员都有一个大厂梦,但如何针对大厂进行面试准备,如何和 HR 聊天,比如谈钱等等,很多程序员就显得手足无措了。
下面就开始以软件测试为例来分析下面试过程所需的技术!
测试理论:
软件测试的目标发现尽可能多的错误,测试是一个为了寻找错误而运行程序的过程。
一个好的测试案例是指很可能找到迄今为止尚未发现的错误的用例。
一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
软件都有多少种分类?
根据功能的不同,电脑软件可以粗略地分成四个层次:
- 最贴近电脑硬件的是一些小巧的软件。它们实现一些最基本的功能,通常“固化”在只读存储器芯片中,因此称为固件。
- 系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供一个“平台”。它们管理和优化电脑硬件资源的使用。
- 支持软件。包括图形用户界面、软件开发工具、软件评测工具、数据库管理系统、中间件等。
- 应用软件种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等等。
Linux 基础
在 Linux 系统中,一个文件的访问权限是 755755 表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。
如何查看一个文件的末尾 50 行?
查看/etc/profile 的前 10 行内容,应该是: # head -n 10 /etc/profile
查看/etc/profile 的最后 50 行内容,应该是: # tail -n 50 /etc/profile
MySQL 基础
什么是数据库?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
什么是关系型数据库,主键,外键,索引分别是什么?
关系型数据库是由多张能互相联接的二维行列表格组成的数据库
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录
外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键
的表被称为主表的从表。外键又称作外关键字
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,
它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单
Web 测试
nginx,tomcat,apache 都是什么?Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。
Apache HTTP Server 是一个模块化的服务器,源于 NCSAhttpd 服务器
Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,是开发和调试JSP 程序的首选。
接口测试
什么是接口接口是指外部系统与系统之间以及内部各子系统之间的交互点。
包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。
如果模块请求 http 改为了 https ,测试方案应该如何制定,修改?
分别用 http 还有 https 登录试试。如果用 https 可以正常登录,地址栏显示一把锁头,那么这个网站是有部署 SSL 的。如果 http 和 https 都能够正常登录,进一步说明该网站没有设置强制 https 登录,或者说没有设置 http 链接自动跳转 https 链接;相反如果用 http 登录,结果跳转到 https 页面,说明网站部署了 SSL, 而且设置了 http 自动跳转 https。
App 测试
什么是 Android 四大组件?Android 的四大组件包括:Activity、Service、BroadcasReceiver、ContentProvider
总结:
由于内容过多,就不在这里就不把所有的知识点内容列举出来,阿里大牛总共整理了有400多页的PDF文档,
有需要的可以点击:
【阿里大牛总共整理了有400多页的PDF文档,暗号牛客】。除了阿里大牛整理的这一份软件测试的核心知识点之外,还有一些小编整理的备战金九银十的面试题。
如何获取免费架构学习资料?
点击:【软件测试架构资料,暗号 牛客】获取!