20211 学期 TWT Android 组秋季纳新二面考核


二面看重你的学习能力和热情,请认真准备以下内容并带上自己的电脑准时参加面试


要求:

  • Java 语言
  • 开发工具不强制要求,推荐 IntelliJ IDEA ( Community 版可免费使用,Utimate 版可使用天津大学教育邮箱进行教育认证后免费使用)

学习参考文档:
https://www.jianshu.com/p/3af8153c9bdf

1.必做题!!!

知识点提示 ( 均为 Java 语言 ):

  • 方法
  • String 类
  • 数组
  • List 的简单用法
  • Class 类基础(类名、成员函数)

项目1:
在 Java 项目下新建一个名为 MyStringUtils 类,包含以下成员方法:

  1. public String getUpperCaseStr(String str);
    返回传入 str 的所有字母全部变为大写的 String

  2. public String getUpperCaseStr(int end, String str);
    返回从 str 前 end 位字母变为大写的 String

  3. public String getUpperCaseStr(int begin, int end, String str);
    返回从 str 第 begin 位字母到第 end 位字母变为大写的 String

  4. public List getUpperCaseStr(List strs);
    将传入 List 中所有 String 的所有字母全部变为大写,并返回由大写字母 String 组成的 List

  5. public String[] getUpperCaseStr(String[] strs);
    将传入所有 String 所有字母全部变为大写,并返回由大写字母 String 组成的数组

  6. public String[] getUpperCaseStr(int end, String[] strs);
    将传入 strs 里的每一个 String 的前 end 个字母变为大写,并返回由经过处理后的 String 组成的数组

在同项目下新建一个名为 Test 的类,在该类里有 Java 程序的入口方法 main,并在该方法内使用必做题里完成的所有方法(实例化 MyStringUtils)。

加分项

  • 详细的注释
  • 规范的代码风格(idea 快捷键格式化代码)
摸头杀

2.选做题

涉及到 Java 面向对象,难度高,大家尽力而为,完成一部分是一部分
没有标准答案,大家按自己的想法大胆写

必须知识点提示 ( 均为 Java 语言 ):

  • 输入输出
  • 成员变量
  • 成员函数
  • 构造函数
  • 修饰访问限制符:private public protect [default]

加分知识点提示:

  • extends (继承)
  • interface
  • Enum

项目2:
背景:
某计算机组装公司主要销售各类组装计算机,计算机一般由CPU、内
存、主板、硬盘等组件构成。具体组件信息如下:

组件 组件品牌(类名) 组件属性(成员变量)
CPU Intel, AMD name, coreNum, price
内存 Samsung, Kingston name, volume, price
硬盘 Seagate, WestDigitals name, volume, price
主板 Asus, Gigabyte name, speed, price

设计组件类,每个组件类都有成员方法 print(),该方法可以打印(在控制台输出)“组件名+work"。

提示 比如组件 Intel,则有如下类

public class Intel

比如类 Intel 可以实例化如下对象

name coreNum price
cpu1 2 1000
cpu2 1 600
cpu3 4 1800

设计一个计算机类命名为 Computer,由上述四类组件组装而成,成员变量包括计算
机的名称、CPU、内存、硬盘、主板以及总价格等。计算机类有成员方法 print(),该方法可以打印出计算机名称、价格、组件信息等计算机信息。

设计一个计算机销售主类命名 ComputerStore ,有 Java 程序的入口方法 main,在 main 方法内实例化3个由不同组件组装在一起的计算机对象,并使用计算机对象的方法展示计算机信息(即计算机名称、价格、组件信息)。

提示 可以实例化如下计算机对象

计算机名称 CPU 内存 硬盘 主板
computer1 Intel Samsung Seagate Gigabyte
computer2 Intel Kingston WestDigitals Asus
computer3 CPU Samsung WestDigitals Gigabyte

每个类的成员变量和成员方法都不局限于上述所提到的,可自己补充

提示
可补充方法:更改计算机的 CPU 组件、更改计算机的内存组件、更改计算机的硬盘组件、更改计算机的主板组件、更改计算机的名字。
思考:计算机的价格可以修改吗?

加分项

  • 使用 static、 final 等关键字。
  • 使用 Java 集合类。
  • 使用抽象类、接口、枚举类等。
  • 使用 Interface
  • 代码中体现出封装、继承、多态的思想。
  • 在需求的基础上,根据实际情况完善项目。

你可能感兴趣的:(20211 学期 TWT Android 组秋季纳新二面考核)