几道面试题及扩展

几道面试题及扩展

问题1:软件压力测试&软件性能测试

      ——出自【北方微电子面试题】。和技术面试官聊项目的时候,面试官问:“你们项目测试的阶段有没有做过压力测试?”,我的反应当时有点愣了,知道这是一个专业术语,但确切的含义不清楚,应该是软件的最大的承载量,然后云云……

       软件压力测试软件性能测试的区别是在于他们不同的测试目的。

  软件压力测试是为了发现系统能支持的最大负载,他的前提是要求系统性能处在可以接受的范围内,比如经常规定的页面3秒钟内响应; 所以一句话概括就是:在性能可以接受的前提下,测试系统可以支持的最大负载

  软件性能测试是为了检查系统的反映,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100人同时在线的情况下的性能指标,每个用户是否都还可以正常的完成操作等。 概括就是:在不同负载下(负载一定)时,通过一些系统参数(如反应时间等)检查系统的运行情况;比如我们说某个网站的性能差,严格上应该说‘在N人同时在线情况下,这个站点性能很差)

  总之,就像一个方程式:综合性能=压力数*性能指数,综合性能是固定的。

软件压力测试是为了得到性能指数最小时候(可以接受的最小指数)最大的压力数;软件性能测试是为了得到压力数确定下的性能指数

问题2:软件架构

        ——出自【天津三星电子面试题】,和技术官介绍项目的时候,技术官问道“谈谈你们项目的软件架构?”,当时是在问道面向对象知识的时候提到了,我回答了框架+模块组成的东西。

        其实详细解读软件架构是一个很深的概念,众说纷纭,大家可以关注《**软件架构师**》的书,这里引了一个老外的解读:在“软件构架简介”中,DavidGArlan和 Mary Shaw认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。结构问题包括总体组织结构全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。”

        其实我个人理解的网络协议的OSI参考模型由底层à高层:物理层、链路层、网络层、传输层、会话层、表示层、应用层,及其扩展内容就是网络协议基本的架构。

        以此推断,可以展开项目问题的回答:“我们软件系统的设计分为UI(界面)层、对象层、通信层。其中:

       1,UI(界面)层负责显示系统参数、性能指标等;

       2,对象层负责处理、模拟链路之间读取信息,信息分类、调度等,一方面负责处理来自通信层的实际socket或RTI通信的数据,另一方面负责将处理的结果交互给UI(界面)层;

       3,通信层只负责通信。

       这样一方面便于程序的扩展,可以通过不同的类来实现,一部分的更新只需要修改对应的类即可;另一方面程序的结构会非常清晰,便于后续的调试、维护工作。

      然后,可以介绍每一层具体有哪些模块……”。

问题3:域名解析

       ——出自【青岛百灵科技】

       域名虽然便于人们记忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析

域名解析需要由专门的域名解析服务器来完成,DNS(DNS是计算机域名系统 (DomainName System 或Domain Name Service) 的缩写,它是由解析器以及域名服务器组成的。)就是进行域名解析的服务器。DNS命名用于InternetTCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。

         域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。[1] 其中域名必须对应一个IP地址,而IP地址不一定只对应一个域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。在Internet上域名与IP地址之间是一对一(或者多对一)的,也可采用DNS轮询实现一对多。

       下面的www.dlut.edu.cn就对应IP地址202.118.66.66

       

问题4:段错误

         ——出自【某通信公司】

         所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间。一旦一个程序发生了越界访问,cpu就会产生相应的保护,于是segmentation fault(段错误)就出现。

错误应该就是访问了不可访问的内存,这个内存区要么是不存在的,要么是受到系统保护的,还有可能是缺少文件或者文件损坏。

        段错误的常见形式

       在编程中以下几类做法容易导致段错误,基本是是错误地使用指针引起的。

      1)访问系统数据区,尤其是往系统保护的内存地址数据最常见就是给一个指针以0地址。

      2)内存越界(数组越界,变量类型不一致等):访问到不属于你的内存区域。

      解决方法:我们在用C/C++语言写程序的时候,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的。

      下面将显示以下的一个存在段错误的程序:


      作为一个熟练的C/C++程序员,以上代码的bug应该是很清楚的,因为它尝试操作地址为0的内存区域,而这个内存区域通常是不可访问的禁区,当然就会出错了。

 

几种典型的段错误

1.


      被装载时,系统把“hello world” 连同其它的字符串和const型数据放入到内存的只读区。执行时,一个变量s被设为指向该字符串的位置,当再试图向该位置写时,就会产生段错误

2,


      因为该代码只创建了一个空指针,并没有指向一个具体空间,当赋值时,产生段错误。

3,

 

  无限递归,这会导致栈溢出,也会产生段错误。

——部分内容参见了百度百科。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随与博主沟通,第一间进行解答!
很抱歉,这个问题太过于宽泛。可以提供一些常见的PHP面试题及答案: 1. PHP中的变量类型有哪些? 答案:PHP中的变量类型有四种:字符串、整数、浮点数和布尔值。 2. 如何在PHP中声明变量? 答案:在PHP中声明变量,需要使用美元符号($)和变量名称。例如:$myVariable = "Hello World"; 3. 如何在PHP中输出变量的值? 答案:可以使用echo或print语句来输出变量的值。例如:echo $myVariable; 4. 如何连接数据库并执行查询? 答案:可以使用PHP的mysqli或PDO扩展来连接数据库并执行查询。 5. 如何防止SQL注入攻击? 答案:可以使用参数化查询或转义输入来防止SQL注入攻击。 6. 如何处理文件上传? 答案:可以使用PHP的$_FILES数组来处理文件上传,并使用move_uploaded_file函数将文件移动到服务器上的指定位置。 7. 如何设置PHP的错误报告级别? 答案:可以使用error_reporting函数来设置PHP的错误报告级别。例如:error_reporting(E_ALL); 8. 如何处理PHP中的异常? 答案:可以使用try/catch块来处理PHP中的异常。 9. 如何使用PHP的会话管理器? 答案:可以使用PHP的session_start函数来启动会话,并使用$_SESSION数组来存储和访问会话变量。 10. 如何使用PHP的命名空间? 答案:可以使用namespace关键字来定义命名空间,并使用use关键字来引用其他命名空间中的类。例如:namespace MyNamespace; use OtherNamespace\OtherClass; 这只是一些常见的PHP面试题,其他问题会根据不同的面试官和公司而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭毅天下

和你一起,死磕Elastic!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值