某组织面试题 : )

一.32位机和64位机的区别

计算机所处理数据的二进制最高位为32和64,后者处理器一次可以可以运行64bit数据,基本上CPU性能是前者的两倍。

二.静态语言和动态语言的区别

动态语言:数据类型在运行时判断,如python

静态语言:数据类型在运行前判断(编译),如 C。

三.进程和线程的区别

    一个程序就是一个进程,一个进程包含许多线程。就好比打开一个网页浏览器,就是打开了一个进程,浏览器里面一个个网页就是线程,我们把浏览器关闭的时候,网页也随之结束。

    一个CPU只能处理一个进程,那我们不由得有这样一个疑问:为什么我们在打开网易云音乐听歌时候还可以浏览网页?无疑的是,网易云音乐和浏览器都分别是一个进程,当然我们这里不考虑双核的情况,因为单核也可以做到同时打开多个进程并工作。那原因是什么呢?

    首先我们明白一点,CPU的处理速度是很高的,这意味着,它可以很快的处理完当前进程,然后处理其他进程,由于处理的时间很短,就好像它是同时处理多个进程一样。打个比方,武侠电影里面我们经常看到猪脚一片残影过去,所有对手同时倒下,这可不是说明猪脚真的有分身,而是对手太菜了,主角一个一个地快速解决了所有敌人,造成了仿佛同时击败敌人地错觉。

    可是理解到这里,笔者不由得再次发出疑问:既然CPU可以处理地这么快,为什么还要多线程呢?

    这其实是两个方面,多线程是为了CPU在处理单个线程时更高效,是更细致和进一步地操作。

我们在网上查找相关资料的时候经常会查到这样的句子:

进程:程序一旦运行就是进程,进程是资源分配的最小单位

线程:程序执行的最小单位或者说线程是CPU调度的最小单位

    我来解释一下,资源分配,分配的是CPU的资源,通常单核处理器(单核CPU)在同一时刻只能处理一个进程,所以说进程是资源分配的最小单位。

    而CPU处理程序的时候,通过调用一个个线程来处理,那你可能问了,岂不是说单核处理器每次只能处理一个线程?不是说只处理一个进程吗?对的- -确实是每次处理一个线程,不过由于CPU处理速度太快,所以造成了“同时处理”多个进程或线程的错觉。

四.同步,异步,并发,并行的区别

    你可能会注意到其实对于怎么处理进程,CPU其实有许多办法,所以我们再来谈谈同步、异步、并行、并发的区别:

同步:CPU在处理单个进程的时候只处理当前线程,只有当 当前进程处理完后才能去处理下一个。

        好处:同步流程对结果的处理始终和前文保持在一个上下文内。

       坏处:在比如IO的时候,无法对其他进

程处理,效率比较低。

异步:同时处理多个进程,

       好处:效率高

并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。

  并发: 在单处理器中多道程序设计系统中,进程被交替执行,表现出一种并发的外部特种;在多处理器系统中,进程不仅可以交替执行,而且可以重叠执行。

五.异步和多线程的区别

非常好,我们已经知晓了一些概念及其区别。但是,看着异步操作,我们发现和多线程似乎很像欸,这是是怎么回事呢?

多线程是程序设计的逻辑层概念,他是并发运行的一段代码。多线程可以实现线程间的切换运行。且多线程是我们实现异步操作的一种手段。

更细一步的解释我们可以下次来讲。

六、HTTP协议中请求方法Get和Post的区别

最明显的就是:get用于获取数据,post用于提交数据。

七、Anroid四大组件及其功能

1.Activity:活动,用于与用户交互的界面,这也是用户一打开app最先接触到的东西。

2.Service:服务,在用户看不到的地方起作用,即只能在后台运行并和其他组件交互,如音乐播放器。

3.BroadCast Received:广播接收器,在应用程序之间传输数据的组件。

4.Content Provider:内容提供者,提供第三方应用数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值