1. 面向对象语言有什么特性
三大基本特性:
-
封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象进行操作,对不可信的进行信息隐藏
意义:
- 保护,防止代码或数据被我们无意中破坏
- 隐藏实现细节,使代码模块化
-
继承:指可以让某个类型的对象获得另一个类型的对象的属性和方法。它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。
意义:
- 实现重用代码,节省开发时间
-
多态:是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。
意义:
- 以统一的接口来操纵某一类中不同的对象的动态行为
- 对象之间的解耦
有的还会提到抽象:忽略一个主题中与当前目标无关的东西,专注的注意与当前目标有关的方面。
2. jvm、jdk、jre的全称
- jvm: Java Virtual Machine
- jdk: Java Development Kit
- jre: Java Runtime Environment
Java虚拟机本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。
JDK是 Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
Java运行环境(Java Runtime Environment,简称JRE)是一个软件,由太阳微系统所研发,JRE可以让计算机系统运行Java应用程序(Java Application)。 JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库(Class Library)
3. http有哪些部分组成
HTTP(Hypertext Transfer Protocol,超文本传输协议)定义了浏览器怎样向服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向事物的应用层协议,它规定了在浏览器和服务器之间的请求和响应的格式与规则,是万维网上能够可靠地交换文件的重要基础。
(CRLF表示回车换行)
HTTP分为请求报文和响应报文,都是由三个部分组成:
- 开始行:用于区分是请求报文还是响应报文。在请求报文中称为请求行,在响应报文中称为状态行
- 首部行:用来说明浏览器、服务器或报文主体的一些信息
- 实体主体
请求方法:
状态码:
详解:HTTP 报文结构 - 简书 (jianshu.com)
4. 国内外的云平台
- IBM"蓝云计划"与“智慧城市”:IBM作为IT行业龙头老大,具有强大的技术研发力量和广泛的客户基础,可以为客户提供从底层服务器、存储、交换机等到应用层应用软件的整体云计算方案。
- 亚马逊:亚马逊是第一个互联网云计算提供商,也是目前较大的公有云服务提供商。亚马逊是互联网上较大的在线零售商,但是同时也为独立开发人员以及开发商提供云计算服务平台。
- Google: Google是全球较大的搜索引擎服务提供商,拥有巨量的客户群和成熟的技术研发力量。
- 微软:微软是全球较大的OS与应用软件提供商,虽然微软介入这个领域比较迟,但是在企业级云服务方面,其云计算服务Azure为成千上万的Windows平台开发者提供支持。
- SAP: SAP S/4HANA Cloud [ERP 云商务套件] 是一款面向未来的 ERP 系统,内置人工智能、机器学习和高级分析等智能技术。该系统基于 SAP HANA [内存计算平台] ,在云端运行,能够利用智能自动化技术革新业务流程。SAP HANA 是一款先进的内存数据库,采用极其简化的数据模型,能够实时处理数据。
- 阿里云:主研发飞天—分布式计算系统,通过aliyun.com,用互联网的方式提供弹性计算、数据存储与计算等基础的云计算服务,已经服务众多的中小企业。
-
腾讯云:在一些视频,娱乐,游戏等相关领域,拥有非常深厚的积累,在云计算基础领域,腾讯也独立研发了自己的云计算机底层操作系统。
腾讯云,华为云,购买学生机,使用过腾讯云开发技术做小程序
5. 在一个string集合中,找出为奇数的元素,并返回。
- 注意剔除集合中不是数字的元素
- 注意数字越界情况。(因此不能直接parseInt然后模2)
- 注意元素有可能是小数的情况
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class FindOddNumber {
public void oddNumber(String s){
String[] strArr = s.split(" ");
List<String> list = new LinkedList<>();
for(String str : strArr){
if(str.matches("^[+-]?\\d*[13579]+$"))
list.add(str);
}
for(String str:list){
System.out.println(str);
}
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String inStr = sc.nextLine();
new FindOddNumber().oddNumber(inStr);
}
}
6. 对996加班工作机制的看法
如果公司确实有任务需要加班,那我非常愿意配合,但是我是比较喜欢高效工作的,不喜欢拖延,不想浪费团队的时间。所以我会尽可能在工作时间内高效高质地完成。然后在下班时间好好充电学习。
7. 如果要学一门新的语言,你们会用什么方法
首先去官网看介绍,简单了解这门语言,了解这门语言的基础知识,如变量、运算符、条件语句、循环语句、函数、类和结构、错误处理等,然后我会找一个好的入手项目,进行实战学习,边学边做,同时可以在原有项目的基础上加一些自己的想法。
8. 对比学校学的技术和公司用的技术
个人感觉学校学到的东西比较基础,具有启发性和教学性,同时范围相对较广,没有深入教学;而公司的技术偏向实战,偏向业务,更注重实践性
9. public static void main(String[] args)这一函数,尽可能说出跟Java有关的知识点。
JAVA中的主函数,所有java程序的运行起点就是这个方法,除了args这个名字可以不一样外,其他必须是这样。
- 一个class最多只能有一个main函数
- 程序的入口都是main函数
-
public关键字,声明主函数为public就是告诉其他的类可以访问这个函数。
static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存在。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。
void关键字表明main()的返回值是无类型。
参数String[] args, 参数args的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段。此外在其他类中直接使用main()函数,并传递参数也是可行的,
10. 项目中遇到的难题
JS数字精度丢失
需求不明确,改用template
网络请求
微信小程序分页请求
11. 自我介绍
自信。语言清晰、表达流畅、语速适中、声音洪亮,和面试官进行眼神的交流。
12. 对SAP的认知
SAP 是全球领先的业务流程管理软件供应商之一,公司开发的解决方案能够支持有效的数据处理和跨企业信息流动。SAP 成立于 1972 年,公司最初名为 System Analysis Program Development (Systemanalyse Programmentwicklung),后来缩写为 SAP。自成立以来,SAP 已经从一家只有 5 个人的小型初创企业发展成拥有超过 10 万名员工的跨国企业。SAP 的全球总部位于德国沃尔多夫。
借助最初推出的 SAP R/2 和 SAP R/3 软件,SAP 树立了 ERP 软件的标准。而随着 SAP S/4HANA 的问世,ERP 被提升到了新的高度。这款软件采用内存计算技术来处理海量数据,并支持人工智能和机器学习等先进技术。
SAP 的集成式应用能够将企业的各个业务领域连接起来,基于统一的智慧企业套件和数字化平台运营。如今,SAP 拥有超过 2.2 亿云用户,推出了 100 多款解决方案,覆盖所有业务职能部门,是最大的云产品提供商。
1972年从德国起家,1995年走进中国, SAP 致力于帮助各种规模企业数字化转型。我们不仅是 ERP 的代名词,更是全球知名的企业应用软件供应商,拥有超过48年的软件实践与创新经验,在大中华区为超过 15,000 多家大中小型企业提供解决方案。在全球,我们的云端用户已经超过2.2亿。
13. sap cloud和op的区别
产品运营方式
S/4HANA Cloud是由SAP管理的:后端系统是SAP公司在运营,用户或者咨询公司只能通过基于Fiori界面的操作,来访问各种业务流程。用户只需要通过基于License的订阅方式来获取S/4HANA Cloud的使用权。
与此不同的是,S/4HANA On-premise可以由用户公司或者咨询公司管理,并且可以选择SAP GUI或者SAP Fiori来执行业务操作。-
部署方式
S/4HANA Cloud有两种部署方式:- 公有云:这种方式SAP限制了系统修改,并且推荐按照最佳业务实践来运行。
- 私有云:这种方式下具备S/4HANA On-premise的灵活性,但是系统依然是由SAP在云端进行管理的。
与之相对的,S/4HANA On-premise也能托管在云上,而不是只有管理在客户自己的服务器上这一个选择。用于托管的云,可以是公有云,或者私有云。
更新频率
于Cloud版本,SAP遵循每季度推出新版本的原则,S/4HANA On-premise则是一年一次重大更新
S/4HANA Cloud,有一点很重要,那就是当SAP推出季度更新的时候,用户是必须要采用的,用户不能选择跳过某个季度的更新。(生命周期为3个月)
与之相反,S/4HANA On-premise版本是没有任何强制升级的要求的。(声明周期为5年)Fiori应用和最佳业务实践
因为SAP的策略是新功能都会首先发布在Cloud版上,因此你会在S/4HANA Cloud版上看到很多OP版上没有的新Fiori程序。配置
自助配置
专家配置测试自动化
在S/4HANA OP版中,SAP没有提供任何测试自动化的工具。所以客户通常是需要自己开发,或者购买第三方的自动化测试工具。
而Cloud版本则在这点上有优势,SAP提供了基于Cloud环境的自动化测试工具,用户可以免费使用。它提供了标准的测试流程/场景/计划,也可以按照用户需求进行修改。它可以管理整个测试执行过程,并满足审计要求。数据导入
S/4HANA Cloud只支持Migration Cockpit,它提供了各种模版,用户可以填写模版,完成导入。
S/4HANA OP支持多种导入方式,包括Migration Cockpit,BAPI,IDocs,LSMW,自定义程序等等
14. 中台技术
所谓“中台”,其实是为前台而生的平台,它存在的唯一目的就是更好的服务前台规模化创新,进而更好的服务用户,使企业真正做到自身能力与用户需求的持续对接.
“中台”到底是什么