【3 编程语言】3.2 编程语言语法和特性(Java)(上)

3.2 编程语言语法和特性(Java)

【考点讲解】

作为软件行业的从业者,我们每天都会和代码打交道,而测试岗看似在测试软件的功能,但其实本质上都是对代码进行测试。
假如没有一点编程基础,自然就看不懂代码,只能测试软件的外在功能,但这样的测试往往都是非常片面的。很多时候,缺陷并没有浮于表面,而是等遇到一定的条件才会显露出来,如果我们能够知道代码逻辑,就能够使得测试用例覆盖得更加全面,增大发现隐藏Bug的可能性。
学习编程的另一大好处就是,我们能够通过自己写一些程序,辅助我们进行测试,比如:自动化测试工具、测试平台等等。

目前几乎所有的测试岗位,都要求至少掌握一门以上的编程语言,这里推荐学习Java和Python,因为Java目前是主流的Web开发语言,通用性较高,不仅可以用在后端开发,还可以运用在大数据及移动端的开发上,而且语法较为完善,学完Java再去学习其他编程语言,会发现有很多想通的地方,上手更快。而Python是流行度很高但学习成本又比较低的语言,深受测试和运维人员的喜爱。
但笔者比较建议大家优先选择Java作为第一语言,因为Java是主流的Web开发语言,通用性强,可以用来做大数据、后端开发、移动端开发、测试和运维等等领域,受到很多公司的青睐。其次就是Java优秀的编程思想和语法特性甚至被其他编程语言广泛借鉴,只要你把Java学通,你很容易上手其他的编程语言。另外,Java的生态很成熟,网络上有很多资料可以学习,遇到问题也比较容易在网上搜索出答案。最后值得注意的是,我们在学习Java的过程中,不会像其他语言一样,被语言本身版本的兼容性所困扰,因为现在至少在中国的互联网环境下,Java 8(即JDK1.8)还是主流的,所以我们在学习过程中,重点学习 Java 8 即可。

面试中遇到编程语言相关的面试题,主要会从语言本身的语法和特性去考察,有时候还会考察编程语言的使用场景,相比于其他编程语言的优缺点,与该编程语言相关的一些热门框架的知识点等等。
下面列举的考点均为 Java 相关:
  • Java 语言基础
  • Java 数据类型
  • Java 集合类型
  • Java 反射
  • Java 泛型
  • Java 语法特性
  • Java 面向对象

【例题示例】

3.2.1 JVM、JRE 和 JDK 的区别?【Java】

【考点映射】
  • Java 语言基础
【出现频度】★★★★☆
【难度】☆

【参考答案】
JVM (Java Virtual Machine) :即运行 Java 字节码的虚拟机。它能识别Java源码编译后的字节码文件(即 .class 文件),能够将 .class 文件中的字节码指令进行识别并执行。JVM 能够针对不同系统(Windows,Linux,macOS)却有特定的实现,也就是使用相同的字节码,它们都会给出相同的结果,所以说,jvm 是 Java 能够跨平台的关键。
下图是Java源码从编译到执行的过程:
JRE (Java Runtime Environment) :即 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。但是,它不能用于创建新程序。
JDK (Java Development Kit) :Java 开发工具包。jdk 是整个 Java 开发的核心,拥有 JRE 所拥有的一切,还有编译器(javac)和其他实用工具(如 javadoc 和 jdb)。它能够创建和编译程序。


3.2.2 Java 中有哪些常见的关键字?【Java】

【考点映射】
  • Java 语法特性
【出现频度】★★☆
【难度】★☆

【参考答案】
常见的Java关键字如下图所示:


3.2.3 Java中 == 和 equals 的区别在哪里?【Java】

【考点映射】
  • Java 语法特性
【出现频度】★★★★
【难度】★★☆
【参考答案】
== : 它的作用是判断两个对象的地址是不是相等。即判断两个对象是不是同一个对象。(基本数据类型==比较的是值,引用数据类型==比较的是内存地址)。
equals() : 它的作用也是判断两个对象是否相等,它不能用于比较基本数据类型的变量。equals()方法存在于Object类中

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

测试岗笔面试真题宝典 文章被收录于专栏

测试工作无非就是点点点,没有太深的技术难度?<br/> 开发转投测试岗,原以为自身的条件能轻松胜任测试岗却反被面试官虐?<br/> 测试岗究竟要准备哪些技术知识去应对面试?<br/> 如何才能在测试岗面试中做到游刃有余?<br/> <p> <span>本专刊从测试岗面试考察的知识点和能力出发,精选出经典的测试岗面试题,不仅给出面试的典型回答和考点分析,还会剖析知识点,将其讲清讲透,让你彻底领悟题目背后所考察的能力,帮你梳理复习测试岗的知识体系。</span> </p> <h3> <span><br /> </span><span><strong>专刊主要分为3大模块:</strong></span> </h3> <p> <span>1. 岗位校招情况介绍:</span> </p> <p> <span>将对整个测试岗位进行详细的介绍,包括测试岗位的分类、市场需求量、薪资情况和校招概况,都会逐一做介绍,让同学们能对测试岗位的校招情况有个大概的了解<br /> 2. 面试考点和面试题讲解:</span> </p> <p> <span>这是本章最为核心的部分,将会以面试题讲解的形式,不仅给出面试题参考答案,还会对考点进行分析,剖析其中的知识点,把知识点讲清讲透,帮助同学们梳理复习测试岗的知识体系。本章涉及的知识板块有:软件测试基础知识、测试用例设计、排查问题的思路、常用的测试工具、计算机操作系统、计算机网络、编程语言和常考的智力题。内容丰富,基本上涵盖了测试面试常考的知识点。<br /> 3. 求职经验分享:</span> </p> <p> <span>本章将详细讲解面试的注意事项:从面试前的准备、面试当天到面试结束收到offer整个过程,都会进行逐一讲解。</span> </p> <p> <span><br /> </span> </p> <h3> <span>专刊大纲:</span> </h3> <p> <span><img src="https://uploadfiles.nowcoder.com/images/20210625/691666214_1624592824918/B4749CDE6B040FF304C11BA36D1276D5" alt="" width="700" height="1692" title="" align="" /><br /> <br /> </span> </p> <h3> <span>购买须知:</span> </h3> <span>①订阅成功后,用户即可通过牛客网 PC 端、App 端享有永久阅读的权限;<br /> ②牛客专刊为虚拟内容服务,订阅成功后概不退款;<br /> ③在专刊阅读过程中,如有任何问题,可在文章评论区底部留言,或添加牛客求职导师,加入读者交流群;<br /> ④想成为牛客作者,请邮件联系pandengfeng@nowcoder.com,邮件主题【牛客作者+写作方向】,并附上个人简历一份及近期作品一份;<br /> ⑤牛客专刊版权归本平台所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布 / 发表,违者将依法追究责任。<br /> </span> <p> <span>了解专刊更多详细信息,请扫码添加丸子老师微信~</span> </p> <p> <br /> </p> <p> <img src="https://uploadfiles.nowcoder.com/images/20210526/999991364_1622023901811/2E767EB5BD55BF57B67C8E5427B978D8" alt="" /> </p>

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务