腾讯金融科技测开一面凉经
1.自我介绍(自我介绍中有提到实习中有用到postman)
答:
2.实习的项目中有用postman进行接口测试,有用pytest框架对系统核心API进行封装,编写测试用例脚本,那你pytest里面会用postman吗?
答:pytest框架里面不会用到postman,postman的话,是自己在页面上通过F12复制接口URL到postman之后,会显示各种参数的名称以及参数的值,会更加方便在pytest里面写测试用例脚本。
3.那你用pytest框架能用来做接口测试吗?
答:可以的,通过调用各自的接口,然后传递所需的参数即可。
4.为什么用到pytest还要用postman?
答:postman的话,是自己在页面上通过F12复制接口URL到postman之后,会显示各种参数的名称以及参数的值,会更加方便在pytest里面写测试用例脚本。
5.假设用pytest怎么做postman的事情?用pytset写python用例的话,怎么去调用这个接口?
答:本质上是调用接口,所以需要请求接口,需要调用requests 库来执行 HTTP 请求。
6.必须要用Yaml吗?
答:在编写自动化测试用例时,不一定需要使用 YAML。使用 YAML 的主要原因通常是为了方便管理测试数据、配置文件或测试用例,使得测试代码与数据分离,易于维护。如果不使用这个Yaml的话,可以定义字典,列表等来存储相应的数据。
7.最终调用这个接口的话是通过调用什么库来调?python调通这个接口的话,想知道具体是使用什么来调用的?
答:本质上是调用接口,所以需要请求接口,需要调用requests 库来执行 HTTP 请求。
8.项目中涉及到一个商品的购买,假设多人去抢购这个商品,假设你这个商品的数量是100个的话,怎么保证商品不会被超卖?
答:使用redis分布式锁来保证每次只有一个进程可以进行库存的扣减操作。这样的话可以保证商品不会被超卖。
9.提到了redis,假设没有redis,现在库存的数据是记录在MySQL中的,假设MySQL中有一个字段存储商品的剩余个数,假设每卖一个就减1,假设每一个用户过来购买商品的时候,他会去查询这个商品的库存,然后去把库存去减1,那这个MySQL操作里面是如何保证库存的扣减的?举个例子,第一个用户去查询的是100去减1,第二个用户在减1之前查到库存为100,然后他也去减1,然后算完了之后大家都是99,这种问题应该去怎么避免?
答:为了避免这个问题,可以使用数据库的事务机制和行级锁 来确保并发情况下数据的一致性,
1.悲观锁通过锁住数据库中的记录,确保在事务执行期间,其他事务无法修改这些记录。这样可以避免多个用户同时操作同一个库存记录(在减库存之前,先通过 SELECT xxx FOR UPDATE; 查询库存并锁住该行数据。这个锁会一直持续到当前事务提交或回滚为止,确保在锁住的情况下其他事务不能修改该库存数据)。
2.乐观锁假设并发操作不会频繁发生,因此不会提前锁住资源,而是依赖在更新时的版本号来判断数据是否被其他事务修改过。如果发现冲突,则让事务失败并重试。在商品表中增加一个 version 字段,每次更新库存时同时检查和更新版本号。如果在更新时发现版本号已经被其他事务修改,则该事务回滚,提示用户重试。
实现方式:通过版本号字段 1.查询库存和版本号 2.执行更新时,检查版本号是否一致:
10.了解过MySQL的加锁吗?
答:同9
11.比如刚刚的问题,我就想先把这条记录先锁了,再更新,就这种MySQL的操作是怎么操作的?就是MySQL语句?
答:同9
12.你这个项目是在Linux里面安装的吗?(面试官想问一些Linux的东西)
13.假设linux机器上部署了很多服务,你想看他们的cpu的占用用什么命令?
答;top命令
14.说到了负载过载,但是我想问的是从显示上来说,它显示的是超过百分之百,但是从理论上来说,应该不存在进程超过百分之百的cpu占用率?
答:top 命令中显示的 CPU 占用率是相对于每个 CPU 核心的使用情况,而不是整个系统的总 CPU 资源。因此,当一个进程运行在多核 CPU 上时,它的 CPU 使用率可以超过 100%。
15.想知道服务的端口号,用什么命令?
答:netstat -tuln
16.,netstat命令打印内容的话,可以看到它的状态,比如它在通信中的话就是ESTABLISHED这种状态,那还有一种是TIME_WAIT 状态,那这是一种什么状态?
答:TIME_WAIT 状态是一种与 TCP 连接的关闭过程相关的状态,主动关闭连接的一方在完成四次挥手后进入 TIME_WAIT 状态。此状态等待足够的时间以确保对方收到 ACK,并防止旧数据包干扰新连接。
17.你写过sorckect网络编程没有,就是写一个简单的客户端服务端这种?
答:没有
18.你为什么要去在第二项目去使用到这个websocket呢?
答:主要是为了实现用户催单和来单提醒功能,达到实时通讯的一个效果
19.手撕:
二分查找实现
输入:1 2 3 5 5 7 11 13
5
输出:3 4
条件:完成程序输出
对异常输入进行处理
设计单测用例
反问:
1.简历还有没有什么需要修改的?
答:你这个简历的这两个项目,就是很多人都会写这两个项目,而且大概东西都是一样的,重复度太高了,可以把这个乐享优选换成一个别的东西,这种就是非常的多,怎么能体现你这个有什么亮点。
2.是需要把这个项目换掉还是换个场景?
答:项目可以是这个项目,但你这个职责描述这里所有人都是这样做的,体现跟大家不一样的点;
3.后续还需要加强哪个方面?
答:就是你在用一些东西的时候,举个例子,就是我刚刚问你超卖的问题,超卖的这个都是用redis和lua来做的,所有人都是用这个,那真的只有这个吗?或者是不用这个东西怎么做?哪几种做法?从基础知识的角度上来说,这个应该怎么做,先不管项目是怎么做的,他本质上应该是是个什么问题?
答:
2.实习的项目中有用postman进行接口测试,有用pytest框架对系统核心API进行封装,编写测试用例脚本,那你pytest里面会用postman吗?
答:pytest框架里面不会用到postman,postman的话,是自己在页面上通过F12复制接口URL到postman之后,会显示各种参数的名称以及参数的值,会更加方便在pytest里面写测试用例脚本。
3.那你用pytest框架能用来做接口测试吗?
答:可以的,通过调用各自的接口,然后传递所需的参数即可。
4.为什么用到pytest还要用postman?
答:postman的话,是自己在页面上通过F12复制接口URL到postman之后,会显示各种参数的名称以及参数的值,会更加方便在pytest里面写测试用例脚本。
5.假设用pytest怎么做postman的事情?用pytset写python用例的话,怎么去调用这个接口?
答:本质上是调用接口,所以需要请求接口,需要调用requests 库来执行 HTTP 请求。
6.必须要用Yaml吗?
答:在编写自动化测试用例时,不一定需要使用 YAML。使用 YAML 的主要原因通常是为了方便管理测试数据、配置文件或测试用例,使得测试代码与数据分离,易于维护。如果不使用这个Yaml的话,可以定义字典,列表等来存储相应的数据。
7.最终调用这个接口的话是通过调用什么库来调?python调通这个接口的话,想知道具体是使用什么来调用的?
答:本质上是调用接口,所以需要请求接口,需要调用requests 库来执行 HTTP 请求。
8.项目中涉及到一个商品的购买,假设多人去抢购这个商品,假设你这个商品的数量是100个的话,怎么保证商品不会被超卖?
答:使用redis分布式锁来保证每次只有一个进程可以进行库存的扣减操作。这样的话可以保证商品不会被超卖。
9.提到了redis,假设没有redis,现在库存的数据是记录在MySQL中的,假设MySQL中有一个字段存储商品的剩余个数,假设每卖一个就减1,假设每一个用户过来购买商品的时候,他会去查询这个商品的库存,然后去把库存去减1,那这个MySQL操作里面是如何保证库存的扣减的?举个例子,第一个用户去查询的是100去减1,第二个用户在减1之前查到库存为100,然后他也去减1,然后算完了之后大家都是99,这种问题应该去怎么避免?
答:为了避免这个问题,可以使用数据库的事务机制和行级锁 来确保并发情况下数据的一致性,
1.悲观锁通过锁住数据库中的记录,确保在事务执行期间,其他事务无法修改这些记录。这样可以避免多个用户同时操作同一个库存记录(在减库存之前,先通过 SELECT xxx FOR UPDATE; 查询库存并锁住该行数据。这个锁会一直持续到当前事务提交或回滚为止,确保在锁住的情况下其他事务不能修改该库存数据)。
2.乐观锁假设并发操作不会频繁发生,因此不会提前锁住资源,而是依赖在更新时的版本号来判断数据是否被其他事务修改过。如果发现冲突,则让事务失败并重试。在商品表中增加一个 version 字段,每次更新库存时同时检查和更新版本号。如果在更新时发现版本号已经被其他事务修改,则该事务回滚,提示用户重试。
实现方式:通过版本号字段 1.查询库存和版本号 2.执行更新时,检查版本号是否一致:
10.了解过MySQL的加锁吗?
答:同9
11.比如刚刚的问题,我就想先把这条记录先锁了,再更新,就这种MySQL的操作是怎么操作的?就是MySQL语句?
答:同9
12.你这个项目是在Linux里面安装的吗?(面试官想问一些Linux的东西)
13.假设linux机器上部署了很多服务,你想看他们的cpu的占用用什么命令?
答;top命令
14.说到了负载过载,但是我想问的是从显示上来说,它显示的是超过百分之百,但是从理论上来说,应该不存在进程超过百分之百的cpu占用率?
答:top 命令中显示的 CPU 占用率是相对于每个 CPU 核心的使用情况,而不是整个系统的总 CPU 资源。因此,当一个进程运行在多核 CPU 上时,它的 CPU 使用率可以超过 100%。
15.想知道服务的端口号,用什么命令?
答:netstat -tuln
16.,netstat命令打印内容的话,可以看到它的状态,比如它在通信中的话就是ESTABLISHED这种状态,那还有一种是TIME_WAIT 状态,那这是一种什么状态?
答:TIME_WAIT 状态是一种与 TCP 连接的关闭过程相关的状态,主动关闭连接的一方在完成四次挥手后进入 TIME_WAIT 状态。此状态等待足够的时间以确保对方收到 ACK,并防止旧数据包干扰新连接。
17.你写过sorckect网络编程没有,就是写一个简单的客户端服务端这种?
答:没有
18.你为什么要去在第二项目去使用到这个websocket呢?
答:主要是为了实现用户催单和来单提醒功能,达到实时通讯的一个效果
19.手撕:
二分查找实现
输入:1 2 3 5 5 7 11 13
5
输出:3 4
条件:完成程序输出
对异常输入进行处理
设计单测用例
反问:
1.简历还有没有什么需要修改的?
答:你这个简历的这两个项目,就是很多人都会写这两个项目,而且大概东西都是一样的,重复度太高了,可以把这个乐享优选换成一个别的东西,这种就是非常的多,怎么能体现你这个有什么亮点。
2.是需要把这个项目换掉还是换个场景?
答:项目可以是这个项目,但你这个职责描述这里所有人都是这样做的,体现跟大家不一样的点;
3.后续还需要加强哪个方面?
答:就是你在用一些东西的时候,举个例子,就是我刚刚问你超卖的问题,超卖的这个都是用redis和lua来做的,所有人都是用这个,那真的只有这个吗?或者是不用这个东西怎么做?哪几种做法?从基础知识的角度上来说,这个应该怎么做,先不管项目是怎么做的,他本质上应该是是个什么问题?
全部评论
相关推荐
点赞 评论 收藏
分享
鸿雁于飞:先说offer1:中广核工程公司驻陆丰仪控调试(待遇19+4)
中广核这艘央企大船还是很稳的,集团综合效益稳居央企前列。但你得搞清楚,这个19+4的"19"是总包,不是到手数——招聘宣传待遇里把所有能算的都算进去了,饭卡福利积分啥的全包含,有牛油分享实际到手大概打七折。试用期到手可能就四五千的水平,转正后基本工资4800左右,其余靠绩效、年终、大修费撑着。不过核电的工作环境有点"牢笼感"——核电站位置偏僻,远离繁华都市。工程公司是承包商性质,干活比业主公司累,而且大概率要经常出差,有的岗位年出差天数100天以上。最大问题是你这1800km的距离过于离谱,核电员工工作强度最小的时候一周也就回一次家,离得远回家成本高,夫妻感情和亲子关系都是现实考验。说白了:高薪是拿青春和生活换的。
再来看offer2:张家口卷烟厂(待遇约13个)
张家口卷烟厂是河北中烟下属三家卷烟厂之一,河北中烟主打的"荷花"系列连续多年位居全国高端卷烟品牌销量前列。烟草系统薪资由基本工资+绩效+年终奖构成,综合年薪普遍显著高于当地平均水平,六险二金齐全,福利拉满。有人问"13个是不是太平平无奇了"——关键张家口是四线城市,生活成本低,这13万的购买力相当于深圳的二十多万。离家500km,开车半天到家,周末回趟家完全可行,幸福感直接上两个档次。中广核的牛油说了句大实话: "哪个核电站好?永远是离家近的那个最好。" 选烟厂同理。
但是,卷烟厂的坑你得清楚:
首先卷烟厂和烟草局不一样,卷烟厂是生产操作类岗位,很多要三班倒。报考条件明确写了要能"胜任夜班工作和长时间站立工作"。一线操作工每天盯着流水线卷烟,工作内容高度重复,有入职的人描述为"食之无味弃之可惜"。有牛油直言"卷烟厂和商业性质的烟草公司不一样,前者很坑很累"。其次你家里人不是不喜欢,而是担心你这211计算机科班出身,进了烟厂干操作工,技能会快速退化,未来如果行业改革,技术壁垒不高,转行比较困难。等你干两年再跳出来,技术栈全忘干净了,回头再去敲代码,发现连应届生都卷不过。
老牛油的灵魂三问:
1. 你是更怕穷,还是更怕想家? 如果特别恋家的人跑1800km之外,第一年哭鼻子的概率高达80%。陆丰那地方偏僻单调,核电基地又远又闷,闲下来除了打游戏没啥娱乐,社交圈也窄。找个对象都费劲——牛油亲测核电站"狼多肉少"。
2. 你的代码能力有多"一般"? 如果真的一般,仪控调试和你专业匹配度不算高,这活儿主要是工程改造设计、现场实施管理、在建机组设计审查等,偏工程向而非纯软开。干两年后跳回互联网赛道,竞争力不一定有明显提升。反倒是烟厂不需要你写代码,进去就是稳定躺平。
3. 烟草局下岸这事儿会不会让你耿耿于怀? 如果烟草局是你第一志愿,烟厂只是plan B,那得想清楚:进去了可能每天看着天花板想"如果当初去了烟草局该多好",这种内耗比钱少还折磨人。如果你能接受"反正都是烟草系统,先进去再说"的心态,那倒无所谓。
一句话总结:
如果年轻想拼想闯做技术积累,中广核虽然累和远,但简历上央企核电的金字招牌确实有含金量,加上到手收入在这两个选项里确实更高,考虑到你个人经济情况和家庭状况,假如家里不需要你常回去照顾,家里有兄弟姐妹帮手分担,那先去核电待三四年,积累经验再跳槽也不失为一步棋。
如果想安稳过日子离家近当"人上人",烟厂低线生活成本加持,加上稳定的编制和福利体系,在张家***得滋润,幸福感吊打陆丰。尤其家里人是那种离不开你的,有烟厂的稳定且离家近,比任何高薪都实在。


点赞 评论 收藏
分享
03-10 11:23
门头沟学院 Java 点赞 评论 收藏
分享

查看9道真题和解析