《爆肝整理》2023年秋招前Android面试题小测试---快来看看你能做对多少?

本文提供了多个Java和Android面试题目,涉及Dubbo服务的负载均衡策略、Java代码执行结果、序列化方法、内存回收机制以及Android中的Intent使用、数据传递、SQLite数据库管理和生命周期等知识点。同时,文章鼓励读者自我学习和刷题以提升技术水平。

在这里插入图片描述

前言

马上快要秋招了,到时候又会有一批岗位释放出来,那么我们就要抓紧这个时间刷一刷题,至少先要加深印象。做好准备才能一击而中!

java面试题部分(这一部分有答案可以先看看)

1.以下Dubbo服务负载均衡策略中,哪一个策略的功能是相同参数的请求总是发到同一个提供者()
A、Random LoadBalance
B、RoundRobin LoadBalance
C、LeastActive LoadBalance
D、ConsistentHash LoadBalance
正确答案:D

解析:考察Dubbo服务负载均衡策略的知识;D选项是一致性hash,相同参数的请求总是发到同一个提供者,当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。

单选题

2.如下代码:请问编译运行的结果是什么?

public class Short {
public static void main(String args[]) {
StringBuffer s = new StringBuffer(“Hello”);
if ((s.length() > 5) && (s.append(“there”).equals(“False”)));
System.out.println("value is " + s);
}
}
1
2
3
4
5
6
7
A、value is Hello
B、value is thereHello
C、value is Hellothere
D、编译失败
正确答案:A

单选题

3.给出如下代码:请问编译运行的结果是什么?

class Sudo {
private int pid;
public Sudo(int pid) { this.pid = pid; }
public void setPid(int pid) { this.pid = pid; }

public int getPid() { return pid; }
}
public class Root {
static Sudo chmod(Sudo sudo) {
sudo = new Sudo(1);
return sudo;
}
public static void main(String[] args) {
Sudo sudo = new Sudo(0);
System.out.print(sudo.getPid());
Sudo sudo2 = chmod(sudo);
System.out.print(sudo.getPid());
System.out.print(sudo2.getPid());
sudo = chmod(sudo2);
System.out.print(sudo.getPid());
System.out.print(sudo2.getPid());
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
A、00001
B、00011
C、00111
D、01111
正确答案:C

单选题

4.代码片段:对于Person类,请问哪个选项中的hashCode()方法是最合适的?

public class Person {
private String name, comment;
private int age;
public Person(String n, int a, String c) {
name = n; age = a; comment = c;
}
public boolean equals(Object o) {
if (!(o instanceof Person)) return false;
Person p = (Person) o;
return age == p.age && name.equals(p.name);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
A、return super.hashCode();
B、return name.hashCode() + age * 7;
C、return name.hashCode() + comment.hashCode() / 2;
D、return name.hashCode() + comment.hashCode() / 2 - age * 3;
正确答案:B

单选题

5.Diors可以在C:/users/diors目录下执行以下命令来启动他的个人通讯录程序:
java -classpath C:/test apps.Contact
但是,他自己不确定Contact这个类的class文件放在哪了。

他系统的CLASSPATH设置如下:
A、/documents/lib;C:/users/diors/classes;C:/program files/java/lib
请问Contact.class文件可能存在以下哪个路径里?
B、C:/test/Contact.class
C、C:/users/diors/Contact.class
D、C:/test/apps/Contact.class
E、C:/documents/lib/apps/Contact.class
F、C:/users/diors/apps/Contact.class
G、在一个jar文件中:C:/program files/java/lib/Games.jar
H、在一个jar文件中:C:/users/diors/downloads/Games.jar
正确答案:C

单选题

6.代码片段:请补充以上的代码,使这个类能够正确地被序列化和反序列化。

import java.io.*;
public class Foo implements Serializable {
public int x, y;
public Foo(int x, int y) { this.x = x; this.y = y; }

private void writeObject(ObjectOutputStream s) throws IOException {
s.writeInt(x); s.writeInt(y);
}

private void readObject(ObjectInputStream s)
throws IOException, ClassNoFoundException {
//在这里补充代码
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A、s.defaultReadObject();
B、this = s.defaultReadObject();
C、y = s.default(); x = s.readInt();
D、x = s.readInt(); y = s.readInt();
正确答案:D

单选题

7.下列哪一行代码可以加到下面代码中的第4行而不产生错误?()
public abstract class AbClass {
public int var = 1;
public void fun() { }
}
1
2
3
4
A、var=var+5;

B、public void fun2();

C、public abstract void fun3() {}

D、public abstract void fun4(int var2);

正确答案:D

单选题

8.假设文本文件中有多处连续的空白行,下边哪个命令可以压缩相邻的空白行

A、cat -b file
B、cat -n file
C、cat -s file
D、cat -T file
正确答案:C

解析:cat -s可以压缩多余空白行
-T 是将制表符显示为^I
-n 显示行号
-b 显示行号,但是空白行不显示行号

Android部分面试题(这部分没有答案需要自己努力)

1. 下列哪些语句关于内存回收的说明是正确的?

A、 程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象

2. 下面异常是属于Runtime Exception 的是?(多选)

A、ArithmeticException
B、IllegalArgumentException
C、NullPointerException
D、BufferUnderflowException
3. Math.round(11.5)等于多少(). Math.round(-11.5)等于多少?

A、11 ,-11

B、11 ,-12

C、12 ,-11

D、12 ,-12

4. 下列程序段的输出结果是:
void complicatedexpression_r(){
int x=20, y=30;
boolean b;
b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;
System.out.println(b);
}

A、true

B、false

C、1

D、0

5. 对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行

A、onPause()

B、onCreate()

C、 onResume()

D、onStart()

6. Intent传递数据时,下列的数据类型哪些可以被传递(多选)

A、Serializable

B、charsequence

C、Parcelable

D、Bundle

*7.* *android* *中下列属于Intent的作用的是*

A、实现应用程序间的数据共享

B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失

C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带

D、处理一个应用程序整体性的工作

8. 下列属于SAX解析xml文件的优点的是

A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能

B、不用事先调入整个文档,占用资源少

C、整个文档调入内存,浪费时间和空间

D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失
9. 在android中使用Menu时可能需要重写的方法有(多选)

A、onCreateOptionsMenu()

B、onCreateMenu()

C、onOptionsItemSelected()

D、onItemSelected()

10. 在SQL Server Management Studio 中运行下列T-SQL语句,其输出值

SELECT @@IDENTITY
A、可能为0.1

B、可能为3

C、不可能为-100

D、肯定为0

11. 在SQL Server 2005中运行如下T-SQL语句,假定SALES表中有多行数据,执行查询之后的结果是

BEGIN TRANSACTION A
Update SALES Set qty=30 WHERE qty<30
BEGIN TRANSACTION B
Update SALES Set qty=40 WHEREqty<40
Update SALES Set qty=50 WHEREqty<50
Update SALES Set qty=60 WHEREqty<60
COMMIT TRANSACTION B
COMMIT TRANSACTION A

A、SALES表中qty列最小值大于等于30

B、SALES表中qty列最小值大于等于40

C、SALES表中qty列的数据全部为50

D、SALES表中qty列最小值大于等于60

12. 在android中使用SQLiteOpenHelper这个辅助类时,可以生成一个数据库,并可以对数据库版本进行管理的方法可以是

A、getWriteableDatabase()

B、getReadableDatabase()

C、getDatabase()

D、getAbleDatabase()
13. android 关于service生命周期的onCreate()和onStart()说法正确的是(多选题)

A、当第一次启动的时候先后调用onCreate()和onStart()方法

B、当第一次启动的时候只会调用onCreate()方法

C、如果service已经启动,将先后调用onCreate()和onStart()方法

D、如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法

14. 下面是属于GLSurFaceView特性的是(多选)

A、管理一个surface,这个surface就是一块特殊的内存,能直接排版到android的视图view上。

B、管理一个EGL display,它能让opengl把内容渲染到上述的surface上。

C、让渲染器在独立的线程里运作,和UI线程分离。

D、可以直接从内存或者DMA等硬件接口取得图像数据

17. 关于ContenValues类说法正确的是

A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的
名是String类型,而值都是基本类型
B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的
名是任意类型,而值都是基本类型
C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的
名,可以为空,而值都是String类型
D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中
的名是String类型,而值也是String类型

最后

如果你能做到这里,就证明你自己还是可以的,不会的也不要灰心,我这里整理了更多面试题,多刷刷就好了。

2023年Android中高级最全面试真题答案解析分享给大家!!!

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要2023年Android中高级最全面试真题答案 完整文档的可扫描下方卡片免费获取~

PS:(文末还有使用ChatGPT机器人小福利哦!!大家不要错过)

目录

在这里插入图片描述

第一章 Java方面
●Java基础部分
●Java集合
●Java多线程
●Java虚拟机

在这里插入图片描述

第二章 Android方面
●Android四大组件相关
●Android异步任务和消息机制
●Android UI绘制相关
●Android性能调优相关
●Android中的IPC
●Android系统SDK相关
●第三方框架分析
●综合技术
●数据结构方面
●设计模式
●计算机网络方面
●Kotlin方面

在这里插入图片描述

第三章 音视频开发高频面试题
●为什么巨大的原始视频可以编码成很小的视频呢?这其中的技术是什么呢?
●怎么做到直播秒开优化?
●直方图在图像处理里面最重要的作用是什么?
●数字图像滤波有哪些方法?
●图像可以提取的特征有哪些?
●衡量图像重建好坏的标准有哪些?怎样计算?

在这里插入图片描述

第四章 Flutter高频面试题
●Dart部分
●Flutter部分

在这里插入图片描述

第五章 算法高频面试题
●如何高效寻找素数
●如何运用二分查找算法
●如何高效解决雨水问题
●如何去除有序数组的重复元素
●如何高效进行模幂运算
●如何寻找最长回文子串

在这里插入图片描述

第六章 Andrio Framework方面
●系统启动流程面试题解析
●Binder面试题解析
●Handler面试题解析
●AMS面试题解析

在这里插入图片描述

第七章 企业常见174道面试题
●SD卡
●Android的数据存储方式
●Broadcast Receiver
●sp频繁操作会有什么后果?sp能存多少数据?
●dvm与jvm的区别
●ART
●Activity的生命周期
●Application能不能启动Activity
●…

在这里插入图片描述

搭建了一个基于chatGPT的微信群聊机器人,24小时为大家解答疑难技术问题, 需要的可以扫描二维码进群。

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值