初级android面试4.0

      昨天又接受了一次面试(视频面试),这次感觉和之前的面试还是有不同的,也算是比较新颖的面试把。上来先自我介绍然后又问我--“说一下你对Android的理解把”。这就很难受啦,因为上一个这么问我的把我问自闭啦。但这次不太一样,一直都是我说,面试官也没说什么,一直在倾听。但我说完之后,也没有就我说的问题来提问,而是问了我一下关于java,虚拟机,计算机网络的知识,还问了一些实际性的问题(说白了就是和技术无关的问题)。这弄得我有点懵,完全没涉及Android的问题。感觉有点像hr面,不太像技术面。那么博主就来分享一下问的问题把。

-------------------------------------------------------------------------------------------------------------------java问题:

1.在java中用过多线程处理问题吗?                                                                                                                                                              Android中用的不少,因为耗时操作都需要多线程处理,但在java中用的不多,我就说了前几天看的生产者与消费者问题,这个问题用了多线程的同步。

2.int与Integer的区别:(这个也算比较常问的把)                                                                                                                                                   int为一个数值,而Integer为一个对象。                                                                                                                        扩展:Integer i = new Integer(100);
           Integer j = new Integer(100);                                                                                                                                                              由于生成的是对象,所以new两次就是生成两个不同的对象,所以i==j是错的,返回的是false。

-------------------------------------------------------------------------------------------------------------------计算机网络问题:

TCP与UDP的区别:                                                                                                                                                                                   这个问题不是很难,算是计算机网络的热门问题啦,答的也比较好.(还是给上网上的标准答案把,自己总结的总感觉差点意思)          1.TCP需要连接,UDP不需要。                                                                                                                                                          2.TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。(我说的是TCP为可靠传输,UDP为不可靠传输)。                                                                                          3.UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。                                          4.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。(这个博主没提到<难受>)              5.TCP对系统资源要求较多,UDP对系统资源要求较少。(这个博主也没提到<难受><难受>)

-------------------------------------------------------------------------------------------------------------------操作系统问题:

解释一下,并发,共享,虚拟,异步都是什么:                                                                                                                                       头一次碰到操作系统问题,直接蒙了。<超难受>(问的时候甚至都不知道这是操作系统问题)                                                       1.并发:在一段时间内,运行多个程序,执行多个任务。从宏观上来说的。                                                                                     2.共享: 资源共享,即系统中的资源可供多个并发执行的进程共同使用。                                                                                       3.虚拟:把物理上的一台设备变成逻辑上的多台设备。                                                                                                                     4.异步:在多道程序环境下,允许多个程序并发执行。但由于资源有限,进程的执行不是一贯到底,而是走走停停,已不可                       预知的速度向前推进,这就是进程的异步性。

-------------------------------------------------------------------------------------------------------------------虚拟机问题:

说一下虚拟机如何加载类的:                                                                                                                                                                        JVM(虚拟机)加载类分为3步:加载,链接,初始化。(基本数据类型无需加载,可以省掉加载的步骤)                                    1.加载:加载是通过加载器进行加载的。Java虚拟机有个一加载机制,叫做双亲委派模型。具体就是当一个类加载器拿到这个类的时候先给自己的父类加载器进行加载,如果父类加载器没有找到所请求的类,才会给该类加载器。                                              2.链接:就是讲加载的类合并至Java虚拟机,使之能够执行的过程。具体流程可以分类验证,准备以及解析三个过程。                            (1)验证:验证的目的就是需要符合Java虚拟机的规范。                                                                                                              (2)准备:为加载类的静态字段分配内存,部分Java虚拟机还会在这阶段构造其他跟类层次相关的数据结构,比                                            如说用来实现虚方法的动态绑定的方法表。                                                                                                                  (3)解析:当class文件加载到虚拟机之前这个类不知道自己的成员变量和成员方法的地址,所以编译器会生成一                                           个符号引用,这个符号应用包括所在类的名字,目标方法的名字,接收参数类型以及返回类型。                      3.初始化:初始化就是初始化静态字段,如果静态字段被final修饰,那么该字段就会被标记为常量值,其初始化直接由                                   Java虚拟机完成。    

----------------------------------------------------------------------------------------------------------------- --  实际性问题:

      1.你在大学做的最有成就感的事?                                                                                                                                                     2.你做的过的最有挑战性的事?

        这个博主就不分享了,每个人都不一样。但其实真的不好答,一下给博主问懵了,心想我一宅男,平时学学习,累了打打游戏。什么经历都没有啊。<难受>

-----------------------------------------------------------------------------------------------------------------

        这就是博主昨天面试的面试题啦,问的问题有的真的挺偏的,其实那个操作系统问的不是很偏,真的就是基础中的基础。但博主没复习过也没啥办法<难受>。感觉要面试的小伙伴还是各个领域的知识点都了解一下比较好。博主就当给大家踩雷啦。

 

//老规矩,如果博客上知识点出现错误,私信或留言。会马上更改的。

 

 

 

 

 

 

 

 

 

 

 

初级Android开发面试题以及答案: 1. 什么是Activity? Activity是Android应用程序中的一个组件,它提供了一个用户界面,用户可以与之交互。每个Activity都有一个窗口,用于显示应用程序的用户界面。 2. 什么是Intent? Intent是Android应用程序中的一个组件,它用于在不同的组件之间传递数据和启动其他组件。例如,可以使用Intent启动一个Activity或者启动一个Service。 3. 什么是Service? Service是Android应用程序中的一个组件,它用于在后台执行长时间运行的任务,例如下载文件或者播放音乐。 4. 什么是BroadcastReceiver? BroadcastReceiver是Android应用程序中的一个组件,它用于接收系统或应用程序发出的广播消息。例如,可以使用BroadcastReceiver接收来电或者短信的通知。 5. 什么是ContentProvider? ContentProvider是Android应用程序中的一个组件,它用于管理应用程序的数据。例如,可以使用ContentProvider来管理应用程序的联系人或者日历数据。 6. 什么是布局文件? 布局文件是Android应用程序中的一个组件,它用于定义应用程序的用户界面。例如,可以使用布局文件定义一个Activity的界面布局。 7. 什么是资源文件? 资源文件是Android应用程序中的一个组件,它用于存储应用程序的各种资源,例如图片、音频、视频等。资源文件可以在应用程序中被引用和使用。 8. 什么是AndroidManifest.xml文件? AndroidManifest.xml文件是Android应用程序中的一个组件,它用于定义应用程序的各种属性和权限。例如,可以使用AndroidManifest.xml文件定义应用程序的名称、图标、版本号等信息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值