Advertisement

【面试】测试岗(社招)

阅读量:
  • 2021/6/8 预约一面
  • 2021/6/9 一面(1.5h左右)
  • 2021/6/10 预约二面
  • 2021/6/15 二面
  • 2021/6/17 hr面

文章目录

数据库

数据库

Python

系统

系统

复制代码
* 【计算机网络】
* 【Linux】
* * linux常用哪些命令?

* 【测试】
* 【编程】
* * 输出斐波那契数列的前n项
  • 2)二面(大概凭印象)

1)一面(问了很多,凭大概回忆)

【数据库】

sql索引有哪些?

面试

面试

哈希,哈希冲突?

  • 当两个不同的数值经过哈希函数计算后产生了相同的值时(即它们会被映射到同一个哈希表存储位置),这种情况则被称为发生了哈希冲突。
  • 解决冲突的方法主要有链表连接法与开放寻址法
    • 链表连接法:将被哈希到同一存储位置的所有数值按照其计算出的结果建立链表结构进行连接存储。

    • 开放寻址法:通过调整现有的哈希函数来避免冲突的发生,并将这些可能发生冲突的数值按照特定的方式重新计算它们的存储位置。

    • 常见的具体实现方式包括线性探查算法、双探查算法以及二次探查算法等。

      • 具体可参考:

sql事务?

  • 事务(Transaction)被定义为其最基本的操作单位,在这种单位下通常对应一个完整的业务。
  • 事务的最初目的是为了应对并发操作时的数据一致性问题。
  • 这些特征包括原子性、一致性和隔离性的结合(即ACID)。其中原子性确保一次操作只能成功或失败;一致性保证所有客户端看到的整体一致性;隔离性防止不同交易之间的干扰;持久性保证数据在丢失时仍能恢复。

面试

面试

面试

查询分数最高的三个学生信息?

选课表(学号,学生名,成绩)

如果没有相同的分数:

复制代码
    SELECT TOP 3 学号,学生名,成绩

    FROM 选课表 
    ORDERBY BY 成绩 DESC

如果有相同的分数:

复制代码
    SELECT TOP 3 学号,学生名,成绩

    FROM 选课表 
    WHERE 成绩 IN (
    	SELECT TOP 3 DISTINCT(成绩) 
    	FROM 选课表
    )

查询语句常见用法可参考:

mysql的存储方式,数据结构?

数据库

Mysql官方文档指出InnoDB表索引采用B-Tree结构
存储引擎相关资料可参考《数据库之存储引擎》
存储结构详细信息请访问[


【Python】

python是怎么进行内存管理的,内存分配?

面试

《【面试

python的数组和链表的区别?

数组和链表是两种基本的数据结构,在内存存储方面存在显著差异:

  • 数组占据一块连续的内存空间,在使用前需预先申请所需的内存容量。其增删操作效率较低且随机读取性能较高但不利于扩展。

  • 相比之下链表可以在内存中的任意位置存储数据增删操作更为便捷然而查找操作的效率相对较低。

    • 具体可参考:

python修饰器?

修饰器(decorator)用来抽象重复内容的一种机制,并赋予一个函数额外的功能而不修改原函数的本质。这种机制的主要作用是通过一种方式给已经存在的函数或对象增加功能。它特别适用于那些需要特定功能但又不想修改原程序的情况,在实际应用中非常常见的情形包括:例如插入日志、进行性能测试、执行事务处理、实现缓存机制以及进行权限校验等具体场景。

面试

面试

面试

pyc文件是怎么来的,是做什么的,什么情况下会更新?

面试

面试


【系统】

指针是什么?

指针也就是内存地址

  • 指针变量用于表示内存中的存储位置,在这种情况下不同类型的指针占用的空间大小一致。
  • 存储数据时所使用的变量空间大小会受到数据类型的影响。
  • 借助于指针技术后不仅能够作用于具体的数据内容,并且还能够直接操作这些存储位置。

在C/C++语言中,指针一般被认为是指针变量

  • 一个指针变量所存储的值等于其指向对象的起始位置。
    • 指向的对象包括标量类型变量(如普通整数或字符),以及数组、函数等类型的实体。

堆和栈?

  • 栈(stack):栈用于存储函数调用时所需的参数值、返回地址以及局部变量等数据,并由操作系统动态分配和释放。
  • 堆(heap):堆用于存储进程运行过程中动态生成的内存块,并需要程序员进行内存分配与释放。
  • 区别:主要体现在内存管理策略的不同(例如静态管理与动态管理)、内存空间大小范围的不同(如固定大小与可变大小)、是否存在内存碎片问题的不同(即是否存在未使用的空隙)、内存增长方向的不同(如按需增长与固定增长)、采用不同的分配策略以及影响分配效率的能力。
  • 具体整理至[《【系统

c语言(内存分配方式)?

  • 在C语言中,变量可以采用固定或可变的内存分配策略。
  • 静态分配:编译阶段预先计算所需内存大小。
  • 动态分配:运行时通过调用malloc函数获取所需内存块。
  • 常用的内存管理函数包括:
    • 动态内存管理库中的核心功能之一:malloc函数
    • 动态内存管理库中的辅助功能之一:calloc函数
    • 动态内存管理扩展功能:realloc函数
    • 内存释放:free函数

系统

系统

系统

系统

进程和线程的区别?

  • 资源分配 :在操作系统中,线程被视为一种核心的资源分配单元;进程则被视为拥有系统级资源的基本实体。

    • 并行性 :不仅不同进程之间能够同时执行任务(interprocess parallelism),同一进程中多个线程也能够共享并协调完成任务(intra-process parallelism)。
    • 静态资源 :进程所维护的是其运行所需的系统级静态资源(static resources),包括内存地址空间、打开文件的句柄集合、文件系统的状态信息以及信号处理函数等关键组件。
    • 动态资源 :与之相比,在同一个进程中各线程共享的是动态可变的运行支持环境(dynamic resources),其中包括调用栈结构、进程相关的调度控制信息以及当前处理中的信号集合等。
  • 系统开销:在创建或撤消进程中由于系统都需要为之分配和回收资源而导致其开销明显高于创建或撤消线程所引起的开销。

  • 然而每个进程都有独立的内存空间当一个进程中断发生保护模式下不会影响到其他运行中的进程因为线程仅是同一进程中不同执行路径的不同实现方式。

  • 每个线程拥有自己的堆栈以及私有的局部变量但多个线程之间共享相同的内存空间因此当一个进程中断会导致所有依赖于它的线程也会随之崩溃。

  • 因此多进程程序通常比多线程程序更加健 robust然而在进行进程中断切换时会消耗更多的系统资源导致运行效率相对较低一些。

计算机基础

计算机基础

计算机基础

进程之间的通信方式(IPC)?

  • 零名称管道(Pipe) :管道是一种实现...的技术基础。它是一种单向通讯机制,并被设计用于仅限于具有亲缘关系的进程间建立连接。其中,“具有亲缘关系”的概念特指父代进程与子代进程之间的连接需求。

  • 有名管道 (named-pipe) : 作为半双工通信机制的一种形式,在实际应用中它不仅支持与直接相关进程之间的通信操作[1] ,还可以实现与非亲缘关系进程间的高效数据传输。

  • 消息队列(Message Queue) : 消息队列是通过一种基于消息链表的数据传输机制建立的一个共享存储空间[2] 。它能够有效地解决传统管道模式存在的传输效率低下以及数据完整性保障不足等问题。

  • 消息队列的主要优势在于其强大的容错能力以及对大规模并发处理的支持能力[3] 。它可以同时处理来自多个不同进程的异步请求,并通过自身的智能调度机制实现资源的最佳利用。

Semaphores(Semaphore)是一种机制:Semaphores是一个变量用于管理多个进程对共享资源的访问。其主要作用是作为一种互斥锁机制,在某个进程正在访问共享资源时阻止其他进程。此外,在同一个进程中不同线程之间也需要通过此机制实现同步。

共享内存(Shared Memory)即映射出一段可被其他进程访问使用的内存区域。
该段共享内存由单一进程主动创建,并可供多线程或多个进程同时访问。
该机制旨在解决多进程中因通信开销大导致的整体性能低下问题。
在实践中常与诸如信号量等机制协同运作以实现高效率同步操作。

计算机基础


【计算机网络】

计算机网络

计算机网络


【Linux】

linux常用哪些命令?

Linux实战(四)


【测试】

  • 性能分析:当某个进程的CPU使用率显著高于预期时,请问该问题可能出在哪里?
  • loadrunner
  • 请详细说明如何验证微信支付码的安全性?
  • 请描述如何检测微信通讯录中的用户隐私数据?

【编程】

输出斐波那契数列的前n项

  • 斐波拉契(Fibonacci)序列:F(N) = F(N - 1) + F(N - 2)

  • 解决办法:采用动态规划策略

  • 可参考[《【2021/6/10 刷题笔记

    • 怎么测试写出来的上述脚本?

2)二面(大概凭印象)

简历,项目,细节

  1. 如何实施性能测试
  2. 列举几个项目中出现的常见问题
  3. 详细说明如何设定性能测试的关键指标及场景配置
  4. 深入探讨简历中提到如何优化测试效率的具体方法

行业背景及企业概况(主要涉及选择该行业的原因及其背景以及对未来投资岗位的具体要求)

自身的优势?

算法题:输入一个整数数列,将连续的整数作为一组,只记录首尾,如[3,2,7,8,1,4,10,11,12],输出[[1,4],[7,8],[10,12]]。

全部评论 (0)

还没有任何评论哟~