java-模拟面试

讲一下快速排序算法

通过一次排序将数列分为两部分,一部分比另一部分数字都小
时间复杂度O(nlogn)
空间复杂度O(1)
先确定一个中间比较值,确定一个左指针(从头开始),右指针(从尾部开始)
while循环左子针一直往右找,右指针一直往左找,一直到二者有交集,就会退出循环,说明没有找到,若是在退出循环前找到了,则交换二者的位置
// 交换完毕 如果该值 等于中轴值 则需 将右下标往前推进

        if (arr[l] ==  pivot) {r -= 1;}// 交换完毕 如何该值  等于中轴值 则需 将左下标往后推进if (arr[r]  == pivot) {l += 1;}

之后,再递归左遍历,右遍历

JDK、JRE、JVM的区别

jdk:包含jre,编译java代码,监控jvm的一些工具java Development kit ,java开发工具,javac.exe 打包工具jar.exe

jre 大部分都是C和C++语言编写的,是编译java是所需要的基础类库,java runtime environment包括java虚拟机和java程序所需的核心类库等,java.lang包,包含运行java程序必不可少的系统类,基本数据类型,基本数学函数,字符串的处理等
jvm:java的虚拟机平台,java程序需要在此平台运行,可以跨平台使用
在这里插入图片描述

什么是跨平台性

所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。

java和C++的区别

都是面向对象的语言,都支持封装、继承和多态
Java不提供指针来直接访问内存,程序内存更加安全
Java的类是单继承的,C++支持多重继承;虽然Java的类不可以多继承,但是接口可以多继承。
Java有自动内存管理机制,不需要程序员手动释放无用内存

Java有哪些数据类型

  • 引用型 类,接口,数组
  • 基本数据类型
    整型 int short long byte
    浮点类型 float double
    字符型 char
    布尔型 boolean
    在这里插入图片描述

最有效的方法去计算 2 乘以 8

2 << 3(左移 3 位相当于乘以 2 的 3 次方,右移 3 位相当于除以 2 的 3 次方)。

		System.out.println(2 << 3 == 2 * 2 * 2 *2);System.out.println(1 << 2 == 1 * 2 * 2 );System.out.println(9 >> 3); // 1System.out.println(27 >> 3);// 3

访问修饰符 public,private,protected,以及不写(默认)时的区别

  • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
  • default (即缺省,什么也不写,不使用任何关键字): 在同一包内可见,不使用任何修饰符。
    使用对象:类、接口、变量、方法。
  • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类
    (外部类)。
  • public : 对所有类可见。使用对象:类、接口、变量、方法
    在这里插入图片描述

&和&&的区别

  • &运算符有两种用法:(1)按位与;(2)逻辑与。
  • &&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。&&之所以称为短路运算,是因为如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。

java对象的三大特性

  • 封装把一个对象的属性私有化,同时提供一些可以被外界访问属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问。

  • 继承:使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性继承类。通过使用继承我们能够非常方便地复用以前的代码。

    • 子类拥有父类非 private 的属性和方法。
    • 子类可以拥有自己属性方法,即子类可以对父类进行扩展
    • 子类可以用自己的方式实现父类的方法。
  • 父类接口定义的引用变量可以指向子类具体实现类实例对象。提高了程序的拓展性。在Java中有两种形式可以实现多态:继承(多个子类对同一方法的重写)和接口(实现接口并覆盖接口中同一方法)。

什么是多态机制?Java语言是如何实现多态的?

  • 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。
  • 多态分为编译时多态和运行时多态。其中编辑时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的函数,通过编辑之后会变成两个不同的函数,在运行时谈不上多态。而运行时多态是动态的,它是通过动态绑定来实现的,也就是我们所说的多态性。

多态的实现

  • Java实现多态有三个必要条件:继承重写向上转型
  • 继承:在多态中必须存在有继承关系的子类和父类。
  • 重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
  • 向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。

方法的重载和重写

重写 父子类之间涉及方法的重写,继承父类除了private的所有的属性和方法
方法返回类型不能改变,
重载 在同一个类中出现,返回值类型更改,入参也有改变

抽象类和接口的区别

抽象类
方法都抽象的,但是抽象的方法并不一定都都是抽象类,可以为任何类型,一个类只能继承一个抽象类,把具有共同属性的事物抽象,比如动物类
接口
可以定义构造器,修饰属性必须为public,有共同的动作,比如说,吃饭的动作,eat(),一类可以实现多个接口

int和Integer的区别

  1. Integer是int的包装类,int则是java的一种基本数据类型
  2. Integer变量必须实例化后才能使用,而int变量不需要
  3. Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
  4. Integer的默认值是null,int的默认值是0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350950.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

如何模拟面试?

我是艾木&#xff1a; 1.从学生到职场 当初毕业找工资的场景&#xff0c;至今还记忆犹新。 当时的自己还是学生的身份&#xff0c;正处于找工作的浪潮中&#xff0c;当时的校园招聘如火如荼&#xff0c;工作岗位也琳琅满目。一时间仿佛置身于百货商场之中&#xff0c;每个人都在…

微信小程序 | 基于ChatGPT实现模拟面试小程序

Pre:效果预览 ① 选择职位进行面试 ② 根据岗位职责进行回答 一、需求背景 这两年IT互联网行业进入寒冬期,降本增效、互联网毕业、暂停校招岗位的招聘,各类裁员、缩招的情况层出不穷!对于这个市场来说,在经历了互联网资本的疯狂时代,现在各大需要的时候更多能实实在在挣…

ChatGPT专业应用:模拟求职面试

正文共 663 字&#xff0c;阅读大约需要 3分钟 应届毕业生求职面试必备&#xff0c;您将在3分钟后获得以下超能力&#xff1a; 1.专属面试导师 2.掌握高频面试题回答要点 Beezy评级&#xff1a;B级 *经过简单的寻找&#xff0c; 大部分人能立刻掌握。主要节省时间。 推荐人 …

Python入门教程+项目实战-13.2节-集合的操作方法

目录 13.2.1 集合的常用操作方法 13.2.2 集合的查找 13.2.3 集合的添加 13.2.4 集合的删除 13.2.4 集合运算 13.2.5 知识要点 13.2.6 系统学习python 13.2.1 集合的常用操作方法 集合类型是一种抽象数据类型&#xff0c;抽象数据类型定义了数据类型的操作方法&#xff…

谈谈互联网广告拍卖机制的发展:从GSP到DeepAuction

广告作为各互联网公司收入的大头&#xff0c;其拍卖机制设计因此也是关乎营收最为核心的方面。所谓的广告拍卖机制设计是指如何将有限的广告位分配给合适的广告&#xff0c;从而达到客户、平台以及用户三方的价值最优。 当前的广告拍卖被建模为暗拍的形式&#xff0c;即N个广告…

音乐人解密:究竟是如何一步一步成为音乐人的?

音乐人解密&#xff1a;究竟是如何一步一步成为音乐人的&#xff1f; 音乐是人类伟大的产物&#xff0c;近些年来越来越多的人都开始尝试学习音乐&#xff0c;成为一名音乐人。而艺术高考等途径也为许多想要学习音乐、成为职业歌手或者编曲师的人群提供了途径。然而想要成为一名…

C++学习之旅 - 指针

文章目录 指针的基本概念指针的定义与使用指针占用的内存空间空指针野指针cont修饰指针指针&数组访问数组中第一个元素(访问&指针)如何访问数组中的第二个字节 指针和函数 指针的基本概念 指针的作用: 可以通过指针间接访问内存 内存编号是从0开始记录的&#xff0c;一…

linux find命令格式及find命令详解

本文详细介绍了linux find命令格式及find命令案例&#xff0c;希望对您的学习有所帮助。1、find命令的一般形式为&#xff1b; find pathname -options [-print -exec -ok ...]2、find命令的参数&#xff1b; pathname: find命令所查找的目录路径。例如用.来表示当前目录&#…

app渗透-常见问题及绕过

app渗透-常见问题及绕过 6.app常见问题和绕过前言6.1反代理操作前言6.1.1判断6.1.2实例演示-探探6.1.3绕过1-r0capture6.1.4绕过2-proxifier6.1.5绕过3-小黄鸟 6.2证书校验前言6.2.1判断6.2.2浏览器校验和解决6.2.3桡过证书单项校验-xp框架6.2.3绕过证书双向校验 6.app常见问题…

findIndex的使用

1. findIndex:没有符合条件的元素返回-1 2. 当findIndex符合元素的条件时会返回元素的索引位置 eg:权限管理中查找item中的每一项对数据中存在的某项固定存在的值进行对比。 代码&#xff1a;

Linux下使用find命令查找文件

0、find 命令&#xff0c;查找目录下以2022开头的文件 find / -name "2022*" 1、find 命令&#xff0c;查找类型为文件并且文件名称以2022开头的文件 find . -type f -name "2022*" 2、find命令统计查找出来的文件总数量 find . -type f -name "…

Linux find命令详解

基础打印操作 find命令默认接的命令是-print&#xff0c;它默认以\n将找到的文件分隔。可以使用-print0来使用\0分隔&#xff0c;这样就不会分行了。但是一定要注意&#xff0c;-print0针对的是\n转\0&#xff0c;如果查找的文件名本身就含有空格&#xff0c;则find后-print0仍…

find()和findIndex()函数详解

今天我在拿数组中的存在的某一项索引时&#xff0c;我用了filter()&#xff0c;结果折腾了半天还是没求出索引&#xff0c;结果询问同事&#xff0c;他说你直接用findIndex()就可以了&#xff0c;一语点醒梦中人&#xff0c;可能平时ES6的这些函数用的少&#xff0c;根本就想不…

linux find -size参数,Linux find 常用命令

Linux find 常用命令 (2012-10-24 11:32:52) 标签&#xff1a; linux shell 说明&#xff1a; 以下内容&#xff0c;若标注在 [ ] 中括号内的均可省略&#xff0c;除非做特别说明。 但严格来说&#xff0c;若缺少 [ ] 中括号内的内容&#xff0c;在命令呈现的语义和返回结果上&…

二、linux find命令详解

目录 2. find【擅长在目录下找文件】 2.1 常用查询选项option 2.1.1 -name&#xff1a;根据名称匹配 2.1.2 -iname&#xff1a;忽略文件名称大小写 2.1.3 -user&#xff1a;根据所属用户组进行查询 2.1.4 -type&#xff1a;根据文件类型进行查找 2.1.5 -size&#xff1a;根据…

Linux的find命令

find 查找命令 -name 查找某个文件&#xff0c;文件名为name 例如&#xff1a; find /etc/ -name passwd 查找/etc/目录下名为passwd的文件并输出 find /etc -name *.conf 查找/etc/目录下所有以.conf结尾的文件 -user name 查找某个文件所有人为use…

Linux 命令----find:查找指定的文件

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

Linux下find命令详解

find命令格式&#xff1a; find path -option 【 -print 】 【 -exec -ok |xargs |grep 】 【 command {} \; 】 find命令的参数&#xff1a; 1&#xff09;path&#xff1a;要查找的目录路径。 ~ 表示$HOME目录 . 表示当前目录 / 表示根目录 2&…

LinuxFinal

综合实验 tomcat下载安装 Apache Tomcat - Apache Tomcat 8 Software Downloads 进入上方链接下载tomcat&#xff0c;并上传至服务器。 mkdir /usr/local/tomcat8 # 创建tomcat文件夹 cd /usr/local/tomcat8 # 进入此目录&#xff0c;上传tomcat压缩包 tar -zxvf apache-tom…

Linux文件查找find

目录 前言 查找命令 命令演示 1.which&#xff1a;命令查找 2.locate命令 3.find命令&#xff08;主要使用这个命令进行查找文件&#xff09; 1&#xff09;语法 2&#xff09;find的用法介绍 按文件名查找 手动写入指定大小数据到文件内&#xff0c;介绍一下dd命令。…