面试复盘2——测试开发——一面+二面面经——反问环节不可掉以轻心

前言

本文主要用于个人复盘学习,因此为保障公平,所以本文不指出公司名,题目编号只是为了自己区别而已。对待面经,望读者还是更多从其中学习总结,而不是去碰原题。

面试岗位信息

测试开发工程师,秋招但需要提前入职(培训),上海某中厂,游戏公司,旗下很多游戏。

一面(12.20)

一面面了两次,因为第一次19号的时候电脑出了些状况,死机重启了…面试官大发慈悲,让我次日再面了一次。也算是给敲响了警钟,以后面试,一定一定要先行调试好设备,多做检查。出现突发状况及时沟通,诚恳道歉。

正经的一面是在20号,面试开始是自我介绍,复盘视频时候发现自己的自我介绍还是有些不熟练,语速过快,讲述顺序和简历顺序不一致。

问题1:你之前简历偏开发,现在面游戏测开。有无了解这个岗位是做什么工作?

我回答了几点:为测开进行工具开发、数据库安全测试、协议测试、安全测试(外挂反外挂)

问题2:开发中部署的情况,docker部署的常用指令。

回答了一下自己使用docker-compose和docker build-t这些,以及docker ps,docker logs,docker kill这些。
这篇文章找来了一个复习的图片。
此问题回答时候感觉自己是完全顺着工作环境说下去的,自己xx时候用到什么,xx情景用到什么。复盘时候听起来自己的回答还算比较流畅。但是这样的问题是,深度也暴露的一览无余。所以看来也还是得多做多用啊…

有没有遇到自己的服务down的情况,该怎么做,如何保障稳定?——没遇到过,面试官没关系了。
在这里插入图片描述

问题3:简历写到代码产出比较多(woc当时写的这个居然是坑啊),使用代码管理工具,有无遇到代码层面的冲突?平常是怎么用git的?

这个貌似是真没碰到过…就实话实说了。结果第二天上班就碰见了一个分叉的报错去查了查(…
代码冲突文章1
这个待我日后补充总结

常用的话,就是git add.,git commit -m"xxx" ,git push。
创建分支 git branch,切换分支推送如何。
还有绑定分支这种。

这个发现问题是:我用过,但是说起来不太清楚…

问题4:写一个冒泡排序,可以支持正序和倒叙排两种。

额,这就没啥发的了,毕竟冒泡…倒叙部分是用了个bool,在比较那个地方a[i+1] >a[i]改成a[i+1]-a[i]>0 ==bool这个样子。

(冒泡排序有好几种写法, 搞混了会很尴尬。。这个可是注意好得)

问题5:给定数组诸如[1,2,30,31],求出可以组成最大的数

LeetCode-179

洛谷-P1012 [NOIP1998 提高组] 拼数
之前做过,但是现场没想起来…

问题6:挑一个自己熟悉的游戏,介绍喜欢/不喜欢的原因

毕竟游戏公司,这个太正常。

先说了H1Z1(真的爷青结…)好:双排
不好:不可言说的原因凉了…
面试官都尬住了哈哈哈哈,让我换一个 别说不可抗力的。

讲了dota1,
喜欢原因团队性、翻盘的快感如何。
不喜欢原因是环境差,队友喷hhh。

问题7:职业规划,1-3年。

说实话,自己规划主要是半年一年,或者五年十年。
三年差不多是在一家公司苟住,沉淀。

问题8:有无其他公司offer

无offer,只有大饼(缓解一下呜呜呜)

反问1:去了做些什么,用些什么

夸了我了解的蛮到位的…(真的,以后面任何东西,都需要提前了解好)
然后给我讲了一些。

反问2:面试流程(此处已经不知道问啥了…)

反问3:岗位发展如何(这个问题纯属没脑子了)赶紧开始圆场,问会不会裁应届生如何。

有,但是只是看能力如何如何,不是按照比例。

反问4:工作时间

反问5:hr说的提前实习是什么情况

一面总结

1、电脑情况、开发工具的情况,多检查一下避免出问题。
2、提前了解好自己面试岗位的情况,能说的上来自己知道这个岗位、公司情况,尊嘟可能是加分…
3、自我介绍和简历需要对应好大概顺序,用词相对规划一下。
4、 部分问题做好总结,结合自己的实战经验去讲。(比如docker、git方面)
5、反问的问题提前想好…别问没脑子的问题。

二面(12.27)

本来是约的12.26,结果改时间到了12.27。
二面面了大概40分钟,自认为答的还不错,但是挂了。。自认为也有一部分原因是最后反问的地方没说好吧,而且毕竟自己后端转测开,go语言转Python/C#,所以不太匹配就被拒了。

上来先是正常的自我介绍,之后问了我一嘴“擅长什么语言”——golang。之后就开始按我的简历倒叙问我…

问题1:简历说到四年班长, 讲述一下班长工作内容,过程中有无什么困难的事情?

介绍了一下,然后自己讲了两个经历。

问题2:简历提到的计算机协会(社团),在社团做了什么?

实际上没有,加进去只是水群了。。就美化的说了一下hhhhh

(竞赛项目部分)问题3:开发板和服务器的通信是怎么做的?

问题4:讲述一下MQTT协议

https://blog.csdn.net/Ws_Te47/article/details/134559353
之前写过一个总结。

这里记得QOS的0、1、2说了多些。之后说到分区的时候,自己拐到了实习项目里面。。这里发现一个问题,自己说跑题了,之后需要注意。

问题5:你们项目采取的QOS是几?是否会出现误传?

例举了场景:发生堵塞,无法发送/无法消费。
只管接收到最新的,不管旧的。
多久没有收到数据,会认为是有问题的?
因为当时的确没有考虑这个问题,所以难住了。直接说当时如果出问题,就用假数据。。
然后面试官就没有为难我,到了下一个…但复盘时候发现,这个时候面试官应该是给出了差评的。

(实习1)问题六:代码覆盖率94%,是如何测到的。

说了一下自己大概是写测试代码,追问我——“你觉得这个覆盖率算是好还是坏?”我说是觉得OK的。
再追问“如果我觉得94%不OK,那你觉得什么样的情况下是不ok的?”

八股

值类型和引用类型

堆和栈

很浅显的说了一下,提到了一嘴栈溢出,结果被追问…自己埋坑了。

构造函数和析构函数

追问——构造函数和析构函数必须实现吗?不写的话会有什么问题吗?

序列化和反序列化

什么是死锁

垃圾回收

这边当时只知道go的三色分类法,但记不太清了。没说好。

局部变量和全局变量

追问——二者的生命周期有什么不同吗?

什么是单例模式

什么是线程安全

MySQL

1、一个表,ID和NAME,不连续。需要取第10到15行的人。

2、CLASS表,ID、NAME、COURSE、SCORE、CLASSNAME。
取每门课不小于60分的人

算法

1、字符串中有([{]}),判断是否对称。
栈。

2、多个回文字符串,找到最长的回文字符串。
5. 最长回文子串

Redis数据类型有哪些?Redis优缺点

二面总结

二面面完还是信心满满——毕竟八股部分自己答的感觉不错,前面项目也一直聊了下去,算法不会dp考虑了双指针。但很可惜的是挂了。复盘时候才发现自己的项目部分还是有所欠缺,只是答了基本的,一深入问都没接的下去。
其次就是反问环节踩大坑。一面时候问我“测开是做什么的”,我答的很不错,面试官对我感觉应该也很好。
二面的反问我直接问了“进去后具体做什么?”面试官直接震惊“你一面没问?”
而且我说从后端转测开是为了大厂如何。。但感觉不满意好像,所以我以后反问该多过脑子了。

<think>嗯,用户想知道如何在Ubuntu中启用和配置root用户登录。我之前记得Ubuntu默认是禁用root用户的,需要通过sudo来执行管理员命令。那具体步骤应该是什么呢? 首先,根据引用里的资料,启用root用户需要使用sudo passwd root命令来设置密码。对的,用户需要先创建一个普通用户,这个用户在安装时会被加入admin组,然后才有权限启用root设置密码后,可以用su root切换,输入新密码就能进入root账户了。不过用户可能还想让root通过SSH登录,这需要修改SSH的配置。 然后,查看引用里的步骤,比如引用[3]和引用[5]提到要编辑/etc/ssh/sshd_config文件,找到PermitRootLogin这一项,改成yes。可能还需要开启密码认证,把PasswordAuthentication设为yes。改完后重启SSH服务,比如用systemctl restart sshd或者service ssh restart。这样root就能远程登录了。 不过用户可能会有疑问,比如为什么要先设置root密码?因为默认情况下root没有密码,所以必须先设置。另外,修改SSH配置的时候要注意权限,可能需要用sudo来编辑文件。还有安全性问题,启用root远程登录可能会有风险,建议用户考虑使用密钥认证或者限制访问IP。 用户可能还会遇到问题,比如修改配置后无法登录,这时候要检查防火墙设置,或者确认SSH服务正确重启。另外,如果PermitRootLogin被注释了,需要取消注释或者新增一行,确保配置生效。 总的来说,步骤应该是:1. 设置root密码;2. 切换root测试;3. 修改SSH配置允许root登录;4. 启用密码认证;5. 重启服务。同时提醒用户注意安全风险,建议仅在必要时启用,并采取其他安全措施。</think>### Ubuntu启用和配置root用户登录的详细步骤 #### 一、启用root用户 1. **设置root密码** 在终端执行命令: ```bash sudo passwd root ``` 输入当前用户密码(安装系统时创建的账户密码),接着设置新的root密码并确认[^2][^3][^5]。 2. **验证root切换** 输入命令切换到root用户: ```bash su root ``` 输入新设置root密码后,命令行提示符将变为`root@hostname:#`,表示已进入root权限环境[^1][^2]。 3. **退出root用户** 在root权限下输入: ```bash exit ``` 可返回普通用户模式[^1]。 --- #### 二、配置SSH允许root登录(可选) > *注意:此操作可能降低系统安全性,建议仅在受信任环境中使用* 1. **修改SSH配置文件** 执行命令编辑配置文件: ```bash sudo nano /etc/ssh/sshd_config ``` 找到以下两处配置项: - 将 `#PermitRootLogin prohibit-password` 改为 `PermitRootLogin yes` - 将 `PasswordAuthentication no` 改为 `PasswordAuthentication yes`[^4] 2. **重启SSH服务** 执行命令使配置生效: ```bash sudo systemctl restart sshd # 或使用旧版命令 sudo service ssh restart ``` --- #### 三、验证远程登录 使用SSH客户端连接: ```bash ssh root@服务器IP ``` 输入root密码后若成功登录,说明配置生效[^3]。 --- ### 安全建议 1. **最小化启用原则** 仅在必要时启用root远程登录,日常操作建议通过`sudo`提权。 2. **密钥认证替代密码** 通过配置SSH密钥登录可大幅提升安全性,操作步骤: ```bash # 生成密钥对 ssh-keygen -t rsa # 上传公钥到服务器 ssh-copy-id root@服务器IP ``` 3. **防火墙限制** 使用UFW限制SSH访问IP: ```bash sudo ufw allow from 指定IP to any port 22 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值