七牛云测开实习一面凉经整理

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 余超颖整理的关于七牛云测开实习一面的面试经历,包括了面试中遇到的技术问题和答案,如HashMap的底层实现、创建线程的方式、消息队列、并发流程、SQL优化、Linux操作、Selenium使用、单元测试、网络异常处理、WebSocket、加密、Git使用、DNS解析等,以及编程题目和对项目的讨论。

七牛云测开实习一面凉经_牛客网

23.8月可能 七牛云测开实习一面凉经

1. 自我介绍

2. 为什么想做测试

3. 实习经历

4. HashMap底层实现(1.7和1.8的区别)

Java 大厂面试 —— 常见集合篇 List HashMap 红黑树_java list是连续内存吗-CSDN博客

5. 创建线程的方式

23Java面试专题 八股文面试全套真题(含大厂高频面试真题)多线程_linux系统编程多线程编程网络io编程八股文面经-CSDN博客

继承Thread类、实现runnable接口、实现Callable接口、线程池创建线程(项目中常用)

6. 讲一讲消息队列

RabbitMQ入门到实战教程,MQ消息中间件,消息队列实战_rabbittemplate 获取消息-CSDN博客

7. 并发流程 怎样确保同一份数据不被重复消费 如何保证一个订单只会被分配给一个人

RabbitMQ高级篇 发送者、MQ、消费者的可靠性_mq发送者-CSDN博客

8. 分析慢SQL 优化SQL

23Java面试专题 八股文面试全套真题(含大厂高频面试真题)Redis、数据库、spring、集合、树_java23年八股文-CSDN博客

9. 两张表 学生表 专业表 查询一个专业对应多少学生个数

SELECT majors.专业名称, COUNT(students.学生ID) AS 学生个数
FROM students
JOIN majors ON students.专业ID = majors.专业ID
WHERE majors.专业名称 = '某个专业名称'
GROUP BY majors.专业名称;

10. Linux程序如何隐式启动

    1. 启动脚本(init.d 或 systemd):可以创建一个启动脚本并将其放置在 /etc/init.d//etc/systemd/system/ 目录中。这样,系统启动时会自动运行该脚本,并隐式启动相应的程序。
    2. cron 作业:可以使用 crontab 创建一个定时作业,指定程序在特定时间或间隔内运行。使用 crontab -e 命令编辑 crontab 文件,并添加适当的命令来启动程序。
    3. 用户登录脚本:可以将程序的启动命令添加到用户的登录脚本(如 .bashrc)中。这样,在用户登录时会自动执行该脚本,并隐式启动程序。
    4. 进程守护(daemon):可以将程序设计为守护进程,守护进程会在系统启动时自动运行,并在后台持续运行。你可以使用编程语言(如C/C++)创建一个守护进程程序,或者使用现有的守护进程管理工具(如 supervisord)。
    5. 自定义服务单元:对于使用 systemd 的系统,可以创建一个自定义的服务单元文件(.service),并将其放置在 /etc/systemd/system/ 目录中。然后使用 systemctl 命令启动、停止或管理该服务。

11. Linux查看系统资源使用情况

Linux系统可以使用多种命令来查看系统资源的使用情况,以下是几个常用的命令:

    • top 命令:实时显示系统的进程信息和资源占用情况。
    • ps 命令:列出系统中运行的进程信息。
    • free 命令:显示系统内存的使用情况。
    • df 命令:显示磁盘的使用情况。
    • iostat 命令:显示磁盘、CPU以及其他设备的输入/输出情况。

12. Linux移动文件夹操作指令,如何查看error错误

在Linux中,可以使用 mv 命令来移动文件夹。该命令的语法如下:

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY

其中,SOURCE 表示要被移动的文件或文件夹,DESTDIRECTORY 表示目标位置。如果目标位置已经存在同名文件或文件夹,那么会覆盖该文件或文件夹。

要查看错误日志,可以使用以下命令来查看最近的错误信息:

dmesg | tail

13. Selenium常用定位元素的方法,嵌套的如何定位

    • 根据ID定位:使用 find_element_by_id() 方法,例如 driver.find_element_by_id("username")
    • 根据name属性定位:使用 find_element_by_name() 方法。
    • 根据class名称定位:使用 find_element_by_class_name() 方法。
    • 根据标签名定位:使用 find_element_by_tag_name() 方法。
    • 根据链接文字定位:使用 find_element_by_link_text() 方法。
    • 根据部分链接文字定位:使用 find_element_by_partial_link_text() 方法。
    • 根据XPath 定位:使用 find_element_by_xpath() 方法。
    • 根据CSS选择器定位:使用 find_element_by_css_selector() 方法。

对于嵌套的元素,可以使用相对定位或绝对定位来找到该元素。相对定位是根据父元素或兄弟元素来定位子元素;绝对定位则是根据页面的整体结构来定位元素。

14. 使用Junit主要用来做什么

JUnit是Java中的一个单元测试框架,它可以帮助开发者编写和运行测试用例,并生成测试报告。JUnit主要用来检测单元测试是否通过或失败,以确保代码的正确性。

JUnit提供了一些注解(Annotation)和断言(Assertion)等工具,使得编写和运行测试用例变得非常方便。开发者可以通过JUnit来测试Java类、方法、代码片段等,以确保它们的功能和预期结果是正确的。

15. 如果要使用fiddler抓包的话 在手机端怎么实现

要在手机上使用 Fiddler 抓包,需要先将手机设置为使用 Fiddler 代理。具体步骤如下:

    1. 在 PC 上安装 Fiddler,并启动 Fiddler。
    2. 手机连接到与 PC 相同的 Wi-Fi 网络。
    3. 手机设置代理:在 Android 手机中,打开 Wi-Fi 设置,长按要连接的 Wi-Fi 网络,选择“修改网络”,然后选择“高级选项”,找到“代理”选项,将其设置为“手动”模式,输入 PC 的 IP 地址和 Fiddler 的监听端口(默认为8888)。
    4. 在手机上打开浏览器或应用程序,访问网站或进行网络操作。
    5. 在 Fiddler 的会话列表中,可以看到手机发送和接收的网络请求和响应,从而进行分析和调试。

16. 讲解项目

17. 简述对websocket的了解,具体有什么优点,和长轮询有什么区别

WebSocket 是一种基于 TCP 协议的全双工通信协议,在客户端和服务器之间建立一个持久化的连接,实现双向实时通信。与 HTTP 协议相比,WebSocket 的优点包括:

    • 实时性更高:WebSocket 建立的是持久连接,可以实时地推送数据,而不需要像 HTTP 请求那样每次都要重新建立连接。
    • 双向通信:WebSocket 支持客户端和服务器之间的双向通信,客户端可以主动发送消息给服务器,服务器也可以主动向客户端推送消息。
    • 更少的网络流量:WebSocket 的请求头比 HTTP 短,只有几个字节,因此可以减少网络流量。

长轮询是一种模拟实时通信的技术,它的原理是客户端定时向服务器发送请求,服务器在收到请求后,如果有新数据就立即返回,否则就一直等待直到超时。与 WebSocket 相比,长轮询的缺点是需要频繁地发送请求,增加了网络流量和服务器负担。

18. websocket里是怎么处理数据的 四个事件

WebSocket 处理数据有四个主要事件:

    • onopen 事件:建立连接后触发,可以在该事件中发送握手信息或者心跳包等。
    • onmessage 事件:接收到消息时触发,可以在该事件中处理收到的数据。
    • onerror 事件:出现错误时触发,可以在该事件中处理错误信息。
    • onclose 事件:连接关闭时触发,可以在该事件中进行资源释放等操作。

19. websocket做一个负载均衡,使用Java做websocket怎么做

在 Java 中实现 WebSocket 负载均衡可以使用 Nginx 或者 Apache 等 Web 服务器来实现。具体步骤如下:

    • 安装并配置 Nginx 或 Apache 作为反向代理服务器。
    • 在反向代理服务器上配置 WebSocket 模块或插件,以支持 WebSocket 连接。
    • 将请求转发到后端的多个 WebSocket 服务器,例如使用 Round-Robin 负载均衡算法等。

在 Java 中实现 WebSocket 服务器可以使用 Java EE 7 或者 Spring 框架等来实现。具体步骤如下:

    • 使用 Java EE 7 中的 WebSocket API 或者 Spring 框架中的 WebSocket 模块来实现 WebSocket 服务器。
    • 部署多个 WebSocket 服务器,并使用负载均衡技术来均衡分配请求。
    • 使用集群技术来保证 WebSocket 服务器的高可用性,例如使用 ZooKeeper 来实现服务发现和负载均衡等。

20. 加密这块了解多少

21. 使用过Git吗,有没有遇到过Git冲突的时候

22. 如果遇到网络异常怎么保证消息的完整性 不被丢失

    • 重试机制:在网络连接断开或者出现异常时,可以重新发送消息,直到消息被正确地发送并接收到回复。
    • 心跳机制:定期发送心跳包以保持连接状态,并检测网络连接是否正常,如果异常则进行重连。
    • 消息队列:将消息存储到消息队列中,等待网络连接恢复后再进行发送。
    • 数据备份:将数据备份到不同的服务器或存储设备中,以防止数据丢失

23. DNS是做什么的 DNS解析过程(问的比较底层,要我说底层递归过程,顶级,一级,二级域名DNS)

    1. DNS(Domain Name System)是一种分布式的域名解析系统,它将域名映射为 IP 地址。DNS 解析过程主要包括以下步骤:
    2. 客户端向本地 DNS 服务器请求解析域名,如果本地 DNS 服务器缓存了该域名对应的 IP 地址,则直接返回结果,否则进行下一步。
    3. 本地 DNS 服务器向根 DNS 服务器发出请求,询问该域名所属的顶级域名服务器的 IP 地址。
    4. 根 DNS 服务器返回顶级域名服务器的 IP 地址,本地 DNS 服务器再向顶级域名服务器发出请求,询问该域名所属的二级域名服务器的 IP 地址。
    5. 顶级域名服务器返回二级域名服务器的 IP 地址,本地 DNS 服务器再向二级域名服务器发出请求,询问该域名对应的 IP 地址。
    6. 二级域名服务器返回该域名对应的 IP 地址,本地 DNS 服务器将结果缓存起来并返回给客户端。

在这个过程中,DNS 服务器之间会进行递归查询或迭代查询,以查找到最终的 IP 地址,并将结果返回给客户端。

24. 手撕快排,二叉树的反转

25. 最近在做什么项目

26. 反问

作者:余超颖

快手测开实习二面(商业化)_牛客网

数字马力测开长沙二面挂_牛客网

相关文章
|
缓存 NoSQL 应用服务中间件
万字攻略,社招腾讯天美C++后台面经,面试题整理(上)
万字攻略,社招腾讯天美C++后台面经,面试题整理
|
NoSQL 算法 Linux
秋招无望,五个C++项目助你上岸(可以写进简历)
秋招无望,五个C++项目助你上岸(可以写进简历)
|
4月前
|
自然语言处理 网络协议 JavaScript
23.2月 可能七牛云实习测试面试(技术面一面)面经整理
关于2月进行的七牛云实习测试面试(技术面一面)的面经整理,涵盖了多个技术问题,包括马尔可夫链的用处、软件测试工具、TCP/IP协议的三次握手过程、TCP与UDP的区别、网络诊断方法、DNS的作用、ifconfig命令的用途、Spring Boot的优势以及Java中Map的了解,还包括了一个编程题目:在n个书中找出k个最小的数。
|
7月前
如何制作一份专业高通过率的简历——【大学生就业训练营】系列第三课
系列课程共有八节,下方完成视频课程观看并在评论区回复学习心得,还可以领取惊喜礼品~
384367 1366
|
Java 数据库连接 开发工具
遇到的问题、秋招整理总结
遇到的问题、秋招整理总结
98 0
|
7月前
|
设计模式 前端开发 JavaScript
[干货满满] 三年经验前端的面试经验分享
[干货满满] 三年经验前端的面试经验分享
476 1
|
存储 Kubernetes 并行计算
万字攻略,社招腾讯天美C++后台面经,面试题整理(下)
万字攻略,社招腾讯天美C++后台面经,面试题整理
|
运维 Linux 网络协议
7大板块,200+面试题,助你拿下offer | 运维工程师面试宝典
在2020阿里云峰会上,阿里云智能总裁张建锋表示,阿里云今年再招5000人,大规模引进顶尖科技人才。7月9日 19:00-21:30 阿里云开发者社区首场“Offer 5000”直播开启!15位团队技术大牛在线招人,《阿里云技术面试红宝书》助你拿下Offer!马上投递简历: https://developer.aliyun.com/special/offerday01,在此,小编奉上运维工程师面试宝典,帮你拿下好工作!
13373 0
7大板块,200+面试题,助你拿下offer | 运维工程师面试宝典
|
算法 Java 关系型数据库
圆梦腾讯之后,我收集整理了这份“2023春招常见面试真题汇总”
大家看我前几天的文章就能够知道,我在今年春招中成功拿到了腾讯Java工程师的Offer!在我拿到Offer之后,我就在想,能不能够把我和几个哥们这两个月面试过程中经常被问到的面试进行一个收集整理,能够帮助大家在面试的时候更加得心应手,也能少走一些弯路!
|
设计模式 Rust 前端开发
春招季,这份前端学习及面试指南请查收
大家好,我是剽悍一小兔,一个在IT行业摸爬滚打六年之久的码农。主要从事Java后端,和部分前端业务的设计与开发,参与过多个大型金融,政府系统的开发,也是《JavaScript百炼成仙》的作者。 正值春招季,让我们就几个前端的热点问题来简单聊一聊吧~
118 0