华为实习面试(一)

这是来自一位学长的 一面(技术面试)4.28上午9:30,全程大概50min

  1. 先自我介绍
  2. JDK与JRE区别
  3. String类型是基本类型吗?
  4. java基本数据类型有哪些?
  5. java面向对象特点
  6. 关于自己毕业设计的具体内容,我觉得的难点,设备选型过程,实现方案等问题
  7. 手撕代码:剑指offer 整数反转 easy难度
  8. 反问

这位学长的一面是一位非常nice的小姐姐,学长前面稍稍有些紧张,后面这位小姐姐很好的缓解了气氛,后面反问环节聊了很多内容,面试完成后过了5min就来短信说通过了

面试题的解答如下:

  • JDK与JRE区别

JDK:java语言编写的程序所需的开发工具包,JDK包含了JRE,同时还javac、监控工具jconsole、分析工具jvisualvm等

是Java开发工具包,提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提供了JVM和Runtime辅助包,用于解析class文件使其运行);

如果你下载并安装JDK,那么你不仅可以开发Java程序,也同时拥有了运行Java程序的平台;

JDK是整个Java的核心,包括了Java运行环境(JRE),一堆Java工具tools.jar和Java标准类库

JRE:java程序的运行时环境,包含了java虚拟机,java基础类库

JRE是Java的运行环境。面向Java程序的使用者,而不是开发者。

如果你只下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须的环境集合,包含JVM标准实现及Java核心类库。JRE包含Java虚拟机,Java平台核心类和支持文件,不包含开发工具(编译器,调试器等)

  • String类型是基本类型吗?

String不是基本的数据类型,是final修饰的java.lang.String类,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象

String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的

  • java基本数据类型有哪些?

4型8种:

字符类型:byte  char

整型:short  int   long

浮点型:float    double

布尔型:boolean

  • Java面向对象特点

面向对象是一种常见的思想,符合人们的思考习惯

面向对象可以将复杂的逻辑业务简单化,增强代码复用性

面向对象具有抽象,封装,继承,多态等特性

面向对象的编程语言主要有:C++,Java,C#等

封装:核心思想就是“隐藏细节”、“数据安全”:将对象不需要让外界访问的成员变量和方法私有化,只提供符合开发者意愿的公有方法来访问这些数据和逻辑,保证了数据的安全和程序的稳定

多态:多态指允许不同类的对象对同一“消息”做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。可以用于消除类型之间的耦合关系,Spring 的核心就是多态和面向接口编程

继承:在多个不同的类中抽取出共性的数据和逻辑,对这些共性的内容进行封装一个新的类即父类(也叫做超类或基类),让之前的类来继承这个类,那些共性的内容在子类中就不必重复定义,比如 BaseDAO、BaseAction 等

  • 关于自己毕业设计的具体内容,我觉得的难点,设备选型过程,实现方案等问题

  • 手撕代码:剑指offer 整数反转 easy难度

思路:
本题的有两个要点,其一是反转,其二是溢出。

反转
反转的方法有很多,针对整数我们可以直接转字符串然后调用StringBuffer/StringBuilder的reverse()方法一次性完成,也可以用取余数的方法来逐一反转。
溢出
溢出的判断才是考察的重点。由于题目要求只能有32位的有符号整数,那么超过 2147483647 或者小于 -2147483648 的数便会导致结果错误,因此需要在输出前检查结果。
 

  • 反问

猜你喜欢

转载自blog.csdn.net/Ai1114/article/details/125490421
今日推荐