cvte校招面试(android岗位)一面

本文回顾了一次CVTE公司的技术面试经历,详细介绍了面试中涉及的Java基础、Android开发、网络知识、操作系统、Linux等方面的问题及解答,包括垃圾回收、引用传递、List集合、HashMap、注解机制、反射、线程与进程、TCP/IP协议等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.9cvte笔试,笔试题27题,涉及到java基础+android+计网+操作系统+linux,没有时间记下来。

3.12晚7点40接到面试电话,开始电面,有点紧张,未录音,全靠记忆。总面试时间40分钟。

1、对于java垃圾回收有什么看法,gc的算法是什么。
垃圾回收java中挥手空闲内存的方法,由程序自行控制。垃圾回收可以有效的防止内存泄漏。

gc的算法:第一,引用计数法。第二,标记清除算法。第三,标记整理算法。第四,分代算法。

注意:java有了gc一样会出现内存泄漏。(静态集合类、监听器、各种链接,数据库网络等未释放)

2、引用传递是什么?java中用的是引用传递还是值传递?
引用传递是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。 java中用的是值传递。

3、了解list吗,list有那些方法?
List集合在编辑语言中是类库中的一个类,它继承与conllection,是一个接口的存在,不能实例化,需要实例化一个ArrayList或linkedlist,通俗点就是一张表、目录清单的。
List接口存储是一组不唯一的,有序的对象 其中元素是可以重复的 有索引,可以很快的进行检索

List有两个接口:ArrayList 和Linkedlist
ArrayList :是底层的数据结构,使用的数组结构
特点:查询的速度快,但是增删改慢,线程不同步
Linkedlist :使用的是链表数据结构
特点:增删快,但是查询速度慢

4、hashmap是什么,原理呢
hashmap是一个散列表,它存储的内容是键值对映射。继承自abstractmap,非线程安全,非有序,它是通过“拉链法”解决哈希冲突的。(hashmap这块需要狂补,链接后补)

5、java注解机制是什么?
注解是一种标记,在程序中加入注解就等于为程序打上某种标记,表明这个方法的某个因素。比如:
@retention:注解的存活时间
@documented:能够将注解的元素包含到javadoc中去
@inherited:子类可以继承超类的注解
@repeatable:可重复
@override:子类要复写父类中被override修饰的方法
@Deprecated:标记过时的元素
@SuppressWarning:注解警告
@safeVarargs:参数安全型注解
@FunctionInterface:函数式接口注解

注解是一系列元数据,用来解释程序代码,但是注解并非是所解释的代码的一部分,他对代码的运行效果没有直接影响,是给编译器看的。挺好理解的…当时只记得retrofit中用过注解,对这个没有过多了解。

6、java中反射是什么?
反射是java程序开发语言的特征之一,它允许运行中的java程序获取自身的信息,并且可以操作类或对象的内部属性。通过反射,可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。

7、你了解线程和进程吗?
进程时资源分配的最小单位,线程是调度的最小单位。
一个进程中可有多个线程。

8、进程切换和线程切换。

8、单核cpu可以运行多线程吗?
可以。

9、并发和并行的概念
并发:在一个时间段内进行。同时存在
并行:在一个时间点进行。同时发生。

10、回答一下死锁形成的原因,以及死锁的避免。
死锁概念及产生原理
概念:多个并发进程因争夺系统资源而产生相互等待的现象。

死锁产生的4个必要条件(互不请循)
1、互斥:某种资源一次只允许一个进程访问,即该资源一旦分配给某个进程,其他进程就不能再访问,直到该进程访问结束。
2、请求且保持:一个进程本身占有资源(一种或多种),同时还有资源未得到满足,正在等待其他进程释放该资源。
3、不可抢占:别人已经占有了某项资源,你不能因为自己也需要该资源,就去把别人的资源抢过来。
4、循环等待:存在一个进程链,使得每个进程都占有下一个进程所需的至少一种资源。
避免死锁:死锁预防,死锁避免(银行家算法)、死锁的检测与解除

11、说说tcp和udp,tcp三次握手,四次挥手过程
这个很基础了,不重复。

12、tcp四次挥手服务端对客户端发送的信息是什么
这个问题一开始我没听清…现在才反应过来。。

13、udp提供不可靠的服务,如何变得可靠?
可靠udp主要是通过修改连续arq协议实现的。

14、nat是什么?使用场景呢?
nat:网络地址转换。将内网或者专有网络的ip转换为全球ip。
使用场景:公司,学校等。

15、你对ipv6怎么看,ipv6的发展怎么样?ipv6会使用完吗?
ipv6的发展前景很大,就目前看是为了弥补ipv4地址空间的不足,但是伴随着设备的增多,越来越有发展的必要。ipv6就目前来看,不会使用完,因为ipv4是32位,ipv6有128位。

16、osi七层。
应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。

17、交换机和路由器分别在哪一层,arp协议在哪一层,https在哪一层。。
交换机在数据链路层,路由器在网络层。
arp:地址解析协议,在数据链路层。
https在应用层。

18、activity的周期是什么?
有七个。oncreat-onstart-onresume-onrestart-onpause-onstop-ondestory

19、一个不透明的activity完全覆盖透明的activity,activity的周期是怎样的。
当失去焦点时,会调用onstop方法,而上层将调用oncreat-onstart-onresume。(经验少,当时是这么回答)

20、我提到ui刷新了,然后面试官问道:遇到过anr吗?你是怎么解决的?怎样定位?
遇到过,anr是因为主线程中进行了耗时操作导致的,一般解决方法是给用户一个提示。从log可以看出anr的类型,从而定位。

21、anr应用程序是几秒,广播是几秒,service是几秒?contentprovider?
5,10,前台20.后台200,20

22、问了广播的使用,我说不太熟悉。

23、service的周期,还问了一个service相关的东西,忘记了。
oncreat-onbind-onstop-onunbind-ondestroy

24、自定义view用了哪些方法?它们分别是做什么的?
onmeasure:测量view大小
onlayout:确定子view的位置
ondraw:绘图

25、介绍下项目的亮点,做过几个项目blabla,还有一些问题想不起来了。

26、轮到我问面试官了,对我感觉怎么样?
面试官回答,感觉android基础还是不错的。我说我忘了很多东西,面试官安慰我:现在技术更迭很快,忘了很正常的。超级暖。

总结:java基础部分需要加强。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值