C语言,我定义了变量(未赋值)调试的时候t=0这是为什么?调试了很多次了

疫情期间比较火的《阿里、字节:一套高效的iOS面试题
》,以下是自己在2020年3月份做了一遍的结果,和盲点总结,欢迎大家交流.
以下题目有些比较简单的就没有作答.部分题目需要篇幅较长的,在《另外一篇博客》中有纯手写作答.

介绍下runtime的内存模型(isa、对象、类、metaclass、结构体的存储信息等)

因为类也是对象,动态创建的时候object类(根类)的类就是meatclass

class_rw_tproperty_array_t,它的内容是property_t结构体,内容为nameattribute,对应属性,是成员变量的声明,在编译期前已经存在的属性会在编译期生成以_为开头的同名成员变量,attribute中是对成员变量的一些访问权限控制描述

class_ro_t 是编译期,编译器对类文件编译产生的,其中包含了类的方法,属性,协议等信息,它是不能被改变的,因为已经确定了大小

  • 0 在runtime加载过程中,加载完所有的类到hash表中后,会去遍历所有的类及其对应的类别列表,一次把它合并到类的class_rw_t中的信息中,如方法合并到method_list中等,这也是我们一直说类别方法是不是覆盖类中重名方法,而是在方法调用的时候会在method_list的中从后往前找,自然是category的先被找到,
  • 3,两个category的同名方法谁后被加载谁先被调用
  • 普通方法的优先级: 分类> 子类 > 父类, 优先级高的同名方法覆盖优先级低的
  • +load方法不会被覆盖
  • 同一主类的不同分类中的普通同名方法调用, 取决于编译的顺序, 后编译的文件中的同名方法会覆盖前面所有的,包括主类. +load方法的顺序也取决于编译顺序, 但是不会覆盖
  • 分类中的方法名和主类方法名一样会报警告, 不会报错
  • 声明和实现可以写在不同的分类中, 依然能找到实现
  • 当第一次用到类的时候, 如果重写了+ initialize方法,会去调用
  • 当调用子类的+ initialize方法时候, 先调用父类的,如果父类有分类, 那么分类的+ initialize会覆盖掉父类的, 和普通方法差不多
  • 父类的+ initialize不一定会调用, 因为有可能父类的分类重写了它

通过@property定义的变量,只能生成对应的getter和setter的方法声明,但是不能实现getter和setter方法,同时也不能生成带下划线的成员属性
注意:为什么不能添加属性,原因就是category是运行期决定的,在运行期类的内存布局已经确定,如果添加实例变量会破坏类的内存布局,会产生意想不到的错误。

可以给类添加成员变量,但是是私有的
可以給类添加方法,但是是私有的
添加的属性和方法是类的一部分,在编译期就决定的。在编译器和头文件的@interface和实现文件里的@implement一起形成了一个完整的类。
伴随着类的产生而产生,也随着类的消失而消失
必须有类的源码才可以给类添加extension,所以对于系统一些类,如nsstring,就无法添加类扩展
不能给NSObject添加Extension,因为在extension中添加的方法或属性必须在源类的文件的.m文件中实现才可以,即:你必须有一个类的源码才能添加一个类的extension。

消息转发机制,消息转发机制和其他语言的消息机制优劣对比

在方法调用的时候,方法查询-> 动态解析-> 消息转发 之前做了什么

load、initialize方法的区别什么?在继承关系中他们有什么区别

  • 当类被装载的时候被调用,只调用一次
    调用方式并不是采用runtime的objc_msgSend方式调用的,而是直接采用函数的内存地址直接调用的

  • 多个类的load调用顺序,是依赖于compile sources中的文件顺序决定的,根据文件从上到下的顺序调用

  • 子类和父类同时实现load的方法时,父类的方法先被调用

  • 本类与category的调用顺序是,优先调用本类的(注意:category是在最后被装载的)

  • load是被动调用的,在类装载时调用的,不需要手动触发调用

  • 当类或子类第一次收到消息时被调用(即:静态方法或实例方法第一次被调用,也就是这个类第一次被用到的时候),只调用一次

  • 调用方式是通过runtime的objc_msgSend的方式调用的,此时所有的类都已经装载完毕

  • 子类和父类同时实现initialize,父类的先被调用,然后调用子类的

  • initialize是主动调用的,只有当类第一次被用到的时候才会触发

说说消息转发机制的优劣

优势: 让语言具有动态性,更加灵活,具有更多让程序员在运行时做动作的可能性.
劣势: 高度的动态话导致安全性降低,多层机制势必降低语言执行效率

@property定义的变量,默认的修饰符是什么?

自旋锁: 线程反复检查所变量是否可用,线程这一过程中保持执行,因此是一种忙等状态,一旦获取了,线程一直保持,直到显示的释放,自旋锁避免了进程上下文切换的开销,因此,对于线程只阻塞很短的场合是有效的.

互斥锁: 避免两个线程同时对某一变量进行读写,通过将代码切片成一个个临界区而达成

OSSpinLock已经被弃用,因为会出现低优先级线程持有锁,然后高优先级去获取锁的时候,spin lock会进入忙等状态,占用大量cpu时间,这时低优先级队列无法争夺cpu时间片,从而导致任务无法完成,无法释放lock

这个志向了一个静态变量,值为-1,是根据系统情况去分配他的数值.

视图&图像相关

定时器都是依赖runloop运行的,
NSTimer是最见的定时器,注意在使用的时候在滑动的时候不会被触发,需要加入到runloop commonmode 中,在没有runloop运行的子线程,也不会执行
有内存泄漏问题,注意invalied.提供了比较多的初始化方法.比较方便易用

CADisplaylink 是根据屏幕刷新频率处罚的定时器,苹果目前的屏幕刷新频率为60HZ,华为刚出了一个90HZ的以后可能这需要注意下改动,在不同的手机上是不同的频率,他比较准确,在没有什么耗时任务卡住runloop的情况下,很稳定,但是不灵活,适合做UI刷新,添加进runloop即刻启动

这时响应者链,事件传递链就是一层层翻上去,看看谁可以响应事件.


3.1,CoreGraphic基于Quartz高级绘画引擎,主要用于运行时图像绘制,开发者可以用来处理基于路径的绘图,转换,颜色管理,离屏渲染,图案,渐变和阴影,图像数据管理,图像创建和图像遮照以及PDF文档创建、显示和分析

3.2,CoreImage用于运行前创建的图像,大部分情况下CoreImage在GPU中完成工作,如果GPU忙,会使用CPU进行处理.支持两种处理模式

  • Prepare: 准备阶段,该阶段一般处理图像解码和转换工作.
  • Commit: 将图层进行打包(序列化),并发送至Render Server,该过程递归执行,因为图层和视图都是以树形存在.
  • 将图层书转化为渲染树(对应每个图层的信息,比如顶点坐标、颜色等信息的抽离出来,形成树状结构)

图形渲染管线,实际上指的是一堆原始图形数据经过一个输送管道,期间经过各种变化处理最终出现在屏幕的过程,通常情况下,渲染管线可以描述成vertices(顶点)到pixels(像素)的过程

关于图中详细解析,看链接内

CPU计算显示内容–>GPU渲染–>渲染结果放到帧缓冲区(iOS是双缓冲)–>视频控制器按照VSync信号逐行读取帧缓冲区数据,传递给显示器显示

隐式动画 & 显示动画区别

加载后会由系统管理内存,内存占用比较小,对象释放,内存不会,多次加载相同图片不会重复加载.
适合小图片,频繁重复加载的场景

内存占用小,相同图片会重复加载,重复占用内存,对象释放,对应的内存也会释放.
适合大图片,不频繁重复加载的场景

图片是什么时候解码的,如何优化

2,图片处理(裁剪,边框等)
4,从磁盘读取数据到内核缓冲区
5,从内核缓冲区复制到用户空间(内存级别拷贝)
6,解压缩为位图(耗cpu较高)
7,如果位图数据不是字节对齐的,CoreAnimation会copy一份位图数据并进行字节对齐
以上4,5,6,7,8步是在UIImageView的setImage时进行的,所以默认在主线程进行(iOS UI操作必须在主线程执行)。

如果GPU的刷新率超过了iOS屏幕60Hz刷新率是什么现象,怎么解决

1,GPU处理完后会放入帧缓冲区,视频控制器定时读取缓冲区内容,给屏幕显示
2,如果缓冲区允许覆盖,那么就会产生丢帧,或者和面断层.不允许覆盖,就会丢帧

可以用双缓冲区,或者加大缓冲区的方案解决

如何做启动优化,如何监控

慢的原因是因为主线程的工作量大,比如IO,大量计算

从启动周期每一步分析,优化

  • 加载可执行文件(App的.o文件合集)
  • 加载动态链接库,进行rebase和bind符号绑定
  • load方法中的内容尽量放到首屏渲染后在执行或换成在initialize中执行
  • 控制C++全局变量的数量
  • 减少不用的类(类别)和方法
  • 首屏初始化所有配置文件的读写操作
  • 只放和首屏渲染相关的业务代码,其他非首屏业务的初始化监听注册,配置文件读取放到首屏渲染后
  • 使用time profiler观察方法耗时,优化对应的方法

1,定时任务获取主队列的调用栈,0.002获取一次,记录每次获取的方法内容,对应方法时间累加
2,hook objcMsgSend方法 获取每个方法前后时间,记录时间,需要汇编,难度大

如何做卡顿优化,如何监控

在一个VSync内GPU和CPU的协作,未能将渲染任务完成放入到帧缓冲区,视频控制器去缓冲区拿数据的时候是空的,所以卡帧

  • 提高代码执行效率(JSON to Model的方案,锁的使用等,减少循环,UI布局frame子线程预计算)
  • UI减少全局刷新,尽量使用局部刷新
  • CADisplayLink 监控,结合子线程和信号量,两次事件触发时间间隔超过一个VSync的时长,上报调用栈

如何做耗电优化,如何监控

使用定时器,每隔一段时间获取一次电量,并上报

电量优化(原则尽量少的减少计算)

  • 降低地理位置的刷新频次,蓝牙和定位按需获取.不用关掉
  • 整合UI刷新,降低刷新频次
  • 避免使用透明元素,image和imageview大小设置相同降低计算
  • 使用懒加载,不用的东西不要提前创建
  • 选择合适的数据结构存储数据,
    字典,使用键来查找很快
    NSSets,是无序的,用键查找很快,插入/删除很快
  • 优化算法,减少不必要的循环

如何做网络优化,如何监控

网络优化分为,提速,节流,安全,选择合理网络协议处理针对的业务(比如聊天的,用socket)

  • 增加缓存,比如图片缓存,H5缓存,列表页数据放入数据库缓存
  • 降低请求次数,多个借口合并,这里需要服务端配合
  • 压缩传输内容,减少不必要数据传输
  • 在用户角度上,在视频等大流量场景要判断是否为wifi网络,并提示用户
  • 数据加密,防止中间人窃听
  • 加入签名,防止中间人篡改
  • 加入https证书校验,防止抓包

苹果使用证书的目的是什么

为了防止开发者的应用随意安装在手机上,用证书控制,只有经过苹果允许的应用才可以安装上,防止盗版什么的
这么做的目的是为了整个应用生态的体验着想,当然也有安全因素在里边.

开发者怎么在debug模式下把app安装到设备呢(这个题不会)

只是列出一些iOS比较核心的开源库,这些库包含了很多高质量的思想,源码学习的时候一定要关注每个框架解决的核心问题是什么,还有它们的优缺点,这样才能算真正理解和吸收

JSPatch、Aspects(虽然一个不可用、另一个不维护,但是这两个库都很精炼巧妙,很适合学习)
Weex/RN, 笔者认为这种前端和客户端紧密联系的库是必须要知道其原理的
CTMediator、其他router库,这些都是常见的路由库,开发中基本上都会用到
请圈友们在评论下面补充吧

手动埋点、自动化埋点、可视化埋点

  • 手动埋点:代码侵入,不好维护,无法线上动态,但是灵活

  • 可视化买点:开发代价大,自定义程度低,灵活性差.好处就是的运营人员上手快.对业务发展由好处.

单例,工厂,MVC、MVP、MVVM、观察者,代理,装饰模式

  • 内存一直占用,滥用导致内存浪费
  • 线程安全问题多地方使用其中的数据,线程安全需要注意
  • 内容数据如果影响多个地方,代码耦合度很高.

常见的路由方案,以及优缺点对比

设计一个图片缓存框架(LRU)
设计一个线程池?画出你的架构图
你的app架构是什么,有什么优缺点、为什么这么做、怎么改进
oc怎么实现多继承?怎么面向切面(可以参考Aspects深度解析-iOS面向切面编程)
哪些bug会导致崩溃,如何防护崩溃
app的启动过程(考察LLVM编译过程、静态链接、动态链接、runtime初始化)
沙盒目录的每个文件夹划分的作用
什么是中间人攻击?怎么预防
TCP的握手过程?为什么进行三次握手,四次挥手

堆和栈区的区别?谁的占用内存空间大

栈由编译器申请空间大小,是固定的,连续的,对应线程是唯一的,快速高效,缺点是有限制,先入后出不灵活

堆区是通过alloc分配的,它的内存空间是动态的,由一个空闲内存空间指针链表维护,内存空间不连续,可以很大,但是容易内存碎片化.好处就是查询快.

###加密算法:对称加密算法和非对称加密算法区别

常见的对称加密和非对称加密算法有哪些

对于移动开发者来说,一般不会遇到非常难的算法,大多以数据结构为主,笔者列出一些必会的算法,当然有时间了可以去LeetCode上刷刷题

基本的动态规划题、贪心算法、二分查找

搜集不易,大家动动小手,点点关注呗!更多课程与资料,可加我的学习群

Python不支持的数据类型有

查看python版本的命令是

在Python3中,执行下列语句后的显示结果是

执行下列语句后的显示结果是

Python3中想打印3的2次方,正确的书写形式是

Python语言支持以下类型的运算符:

答案:算术运算符、比较运算符、逻辑运算符、赋值运算符

下列哪些属于Python中的算术运算符

Python 支持哪几种不同的数值类型:

在Python中,下列转义字符书写正确的有:

Python可以通过设置条件表达式永远不为 false 来实现无限循环,下列哪些可以实现无限循环:

在Python3中,对多个变量进行赋值时变量之间需用逗号隔开

Python语言不支持面向过程的计算机程序设计

rainfall为暴雨时的降水量,如此时降水量减少10%,那么此时rainfall的计算公式为

Python是一种____的解释型计算机程序设计语言

Python中转义字符\n的含义是:

Python具有丰富和强大的库。它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起,所以它常被昵称为

Python的特点都有哪些:

Python是纯粹的自由软件

Python具有丰富和强大的库

Python是一种面向对象的解释型计算机程序设计语言

自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于:

答案:系统管理任务 、web编程 、自动化测试、大数据处理

python有着丰富的扩展库,可以轻易完成各种高级任务,开发者可以用Python实现完整应用程序所需的各种功能

数据类型是允许改变的,如果改变数字数据类型得值,不用分配内存空间

/和//都是对两个变量做除法,所以二者计算出的答案没有什么区别

Python可以不加声明就使用变量

Python语言是面向过程的计算机程序设计语言

判断字符串中是否有重复字符,代码如下,请填空重复

Python中的循环语句有:

Python中for循环可以遍历任何序列的项目,如一个列表或者一个字符串

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块

在python中,关于Python内存管理,下列说法错误的是

A: 变量无需先创建和赋值而直接使用

B: 变量不必事先声明

C: 变量无需指定类型

D: 可以使用del释放资源

在python中,定义了无参函数之后,需要调用它时,需要通过什么即可完成调用

在python中,执行以下语句后,显示的结果是

答案:函数内是局部变量 : 30 函数外是全局变量 : 0

在python中,列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为

Python内置函数_______用来返回序列中的最大元素

Python内置函数______用来返回数值型序列中所有元素之和

在python中,关于类的描述正确的是

A: 类定义了对象的属性,并提供了用于初始化对象的初始化程序和操作这些属性的方法

B: 对象是类的一个实例

D: 类的抽象是将类的实现和类的使用分离开来

在python中,关于列表list描述正确的是

A: 可以使用random模块中的shuffle函数将一个列表中的元素打乱

B: 可以使用下标运算符[]来引用列表中的一个独立元素

C: 可以使用for循环来遍历列表中的所有元素

D: 可以使用split方法来将一个字符串分离成列表

在python中,关于多维列表描述正确的是

A: 可以使用sort方法对一个二维列表进行排序

B: 当给函数传递二维列表时,是将这个列表的引用传递给函数

C: 二维列表不能用来存储二维数据

在Python中,关于继承与多态描述正确的是

A: 类的继承可以从现有的类派生出新类

B: 可以使用isinstance函数测试一个对象是否是一个类的实例

C: 多态意味着一个子类对象可以传递给一个需要父类类型的参数

D: 类之间常见的关系是关联、聚合、组合和继承

调用func()进行传参,其输出值为30的是:

在python中,类和对象是面向对象编程的两个主要方面,类创建一个新类型,而对象是这个类的实例。

列表、元组、字符串是Python的无序序列

在python中,局部变量的作用是:为了临时保存数据,需要在函数中定义变量来进行存储

在python中,参数在函数定义的圆括号对内指定,用分号分割

在python中,面向对象的编程带来的主要好处之一是通过继承机制实现代码的重用

面向对象的三大特性的是

答案:封装、继承、多态

在python中,阅读下列程序,输出结果正确的是:

在python中,创建对象的格式为

答案:对象名 = 类名()

Python内置函数________用来返回序列中的最小元素

在python中,阅读下列程序,输出结果正确的是:

在python中,如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫:

在python中,关于元组描述正确的是

A: 一个元组是一个固定列表

B: 不能对元组中的元素进行添加、删除或替换

C: 由于元组是一个序列,所以序列的常用操作可以用于元组

D: 如果元组的所有元素都是不可变的,那么这个元组是不可变的

在python中,关于类的描述正确的是

A: 类定义了对象的属性,并提供了用于初始化对象的初始化程序和操作这些属性的方法

B: 对象是类的一个实例

D: 类的抽象是将类的实现和类的使用分离开来

在Python中,关于继承与多态描述正确的是

A: 类的继承可以从现有的类派生出新类

B: 可以使用isinstance函数测试一个对象是否是一个类的实例

C: 多态意味着一个子类对象可以传递给一个需要父类类型的参数

D: 类之间常见的关系是关联、聚合、组合和继承

在python中,当调用函数时,需要将实参传递给形参,属于Python实参类型的是

答案:位置参数和关键字参数

在python中,requests主要是一个封装好了http功能的库,可以实现基本的http操作

爬虫是一种自动获取网页内容的程序

字典允许同一个键出现两次

Python内置函数_____________用来打开或创建文件并返回文件对象。

python中,下列哪个错误属于下标索引超出序列边界

python中,下列哪个错误属于语法出错

在python中,阅读下列程序,输出结果正确的是:

Python正则表达式模块是

面向对象是一种编程方式,此编程方式的实现是基于对____和_____的使用

函数根据有没有参数,有没有返回值,可以相互组合,其中包括

A: 无参数,无返回值

B: 无参数,有返回值

C: 有参数,无返回值

D: 有参数,有返回值

在python中,下列类方法对应正确的是

C: del:?析构函数,释放对象时使用

python中类共有三类方法:

答案:普通方法、静态方法、类方法

Python中,如果你的父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法

Python支持使用字典的“键”作为下标来访问字典中的值

Python内置函数max()用来返回序列中的最小元素

Python3中可以使用什么语句来处理异常

使用上下文管理关键字_________可以自动管理文件对象,不论何种原因结束该关键字中的语句块,都能保证文件被正确关闭

对文件进行写入操作之后,______ _________方法用来在不关闭文件对象的情况下将缓冲区内容写入文件

在python中,将处理载荷分布到多台处理器上,以便充分利用所有可用的处理器资源,可以对工作载荷进行分布的方法包括

在python3面向对象程序设计中,从一个非常简单的类Point开始,该类存放坐标(x,y),关于其属性和方法描述正确的是

C: 内置的isinstance()函数以一个对象与一个类为参数,若该对象属于给定的类或属于给定类的基类,其值返回为Ture

D: 内置的repr()函数会对给定的对象调用__repr__()特殊方法,并返回相应结果

在python中,创建线程的两种方法是

多任务可以由多进程完成,也可以由一个进程内的多线程完成

Python中,内置的repr()函数会对给定的对象调用__repr__()特殊方法,并返回相应结果

若n阶方阵A,B,C满足ABC=I,I为n阶单位矩阵,则C的逆矩阵是

答案:矩阵A和矩阵B不能相加

Queue模块允许用户创建一个可以用于多个线程之间_________的队列数据结构

已知只有行数相同,列数也相同的矩阵(即同型矩阵)才能相加。根据条件,则矩阵的加法满足以下哪些运算律

C: 零矩阵满足:A+0=A,其中0是与A同型的零矩阵

已知A、B、C均为m乘n的矩阵,关于矩阵乘法,下述哪些是正确的

对于矩阵,以下说法正确的是

A: 矩阵乘法不满足交换律,并不等于说对任意两个矩阵A与B,必有AB≠BA

B: 矩阵A≠0,且B≠0,则必有AB≠0

C: 若矩阵A和矩阵B满足AB=BA,则A,B有可能不同阶

D: 若矩阵乘积AB=0,有可能是A≠0且B≠0

已知A、B均为n乘m阶矩阵,以下正确的是

关于矩阵以下说法正确的是

A: 当n=m时,矩阵A称为n阶方阵

B: 所有矩阵都有逆矩阵

C: 所有矩阵都有转置矩阵

D: 对角线元素均为1,其余元素均为0的矩阵称为单位矩阵

判断B是否为A的逆,只需验证AB=I或BA=I的一个等式成立即可(I为单位矩阵)

把一个m乘n的矩阵A的行列互换得到的一个n乘m矩阵,称之为A的转置矩阵

矩阵乘法满足乘法结合律,即(AB)C=A(BC)

若A是可逆矩阵,则A的逆矩阵可以有多个

单位矩阵的逆矩阵是其自身

以上代码运行后的结果为____

在Python中,以下代码运行的结果是:

在Python中,以下代码运行的结果是:

一名研究者对美国大学生的睡眠习惯感兴趣。他采访了 125 名学生,发现这些学生平均每天睡 6.2 个小时。这个平均值是

对于随机试验,尽管在每次试验之前不能预知试验的结果,但试验的所有可能结果组成的集合是已知的,将随机试验E的所有可能结果组成的集合称为E的

Sam 想要知道美国大学生每周花在功课上的小时数,因此他请圣荷西州立大学的朋友帮忙完成一个调查。他的方法有何问题?

答案:他的样本可能无法代表美国大学生总体

在概率论中,想象一所大学向30,000名学生中的随机样本发送了一份学生满意度调查。1000名抽样学生中仅50名完成并返回了调查。你能从这个信息中得到什么结论?

A: 容易产生真值偏离可能性,因为样本中的大多数学生未完成和返回调查

B: 提供了回应的学生可能未准确报告他们的满意度

C: 样本可能不足以代表所有30,000名学生,原因有很多

D: 学校应根据这些数据对课程进行重大变更

在概率论中,通常情况下为什么随机样本比便利样本更适用于对总体得出结论?

A: 随机样本存在偏见的概率较小

B: 随机样本通常比便利样本更容易获得

C: 随机样本对它们取自的总体更具代表性

D: 两种样本类型一样适用

在概率论中,下列属于随机试验现象的是

A: 投一枚硬币,观察正面、反面出现的情况

B: 抛一枚骰子,观察出现的点数

C: 在一批灯泡中任意抽取一只,测试它的寿命

D: 记录某地昼夜的最高温度与最低温度

以下关于等可能概率模型描述正确的是

A: 试验的样本空间只包含有限个元素

B: 试验中的每个基本事件发生的可能性相同

C: 试验的样本空间包含无限个元素

D: 试验中的每个基本事件发生的可能性不同

类和对象是面向对象编程的两个主要方面

在概率轮中,A∩(B∩C)=(A∩B)∩C代表交换律

在相同的条件下,进行了n次试验,在这n次试验中,事件A发生的次数nA称为事件A发生的频数

设E是随机试验,S是它的样本空间,对于E的每一事件A赋予一个实数,记为P(A),称为事件A的概率

Python不支持多进程,只支持多线程

现有一个容器,在容器里分别有7个红球和3个白球,从这个容器里任意抽出了一个球,且是红球的概率是____

某校决定从三名男生和两名女生中选出两名同学担任校艺术节文艺演?出专场的主持人,则选出的恰为一男一女的概率是____

在Python3中,如果要启动大量的子进程,可以用____批量创建子进程

掷2n+1次硬币,则出现正面次数多于反面次数的概率是

设有10件产品,其中有3件次品,从中任意抽取5件,问其中恰有2件次品的概率是

掷两枚硬币,至少出现一个正面的概率为

设E是随机试验,S是它的样本空间,对于E的每一事件A赋予一个实数,记为P(A),称为事件A的概率,对P(A)性质描述正确的是

两人的5次测验成绩如下:X: 50,100,90,60,50;Y: 70, 70, 60,80,70,对其描述正确的是

Python中,多线程类似于同时执行多个不同程序,多线程运行优点描述正确的是

A: 使用线程可以把占据长时间的程序中的任务放到后台去处理

B: 程序的运行速度可能加快

C: 使用多线程后运行速度一定线性增长

D: 线程在执行过程与进程执行过程完全一样

Python元组中的元素可以修改,也可以删除

同时抛掷3枚均匀的硬币,则恰好有两枚正面朝上的概率为___

三人独立地去破译一份密码,已知各人能译出的概率分别为1/5,1/3,1/4 。问三人中至少有一人能将此密码译出的概率是

在所有两位数(10-99)中任取一两位数,则此数能被2或3整除的概率为

掷二枚骰子,两个骰子的点数之和等于3的概率为

正态分布有两个参数μ和σ,使对应的正态曲线平行左移的参数是

已知甲袋中有6只红球,4只白球;乙袋中有8只红球,6只白球。随机取一只袋,再从该袋中随机取一球,该球是红球

市场上某商品来自两个工厂,它们市场占有率分别为60%和40%,有两人各自买一件。 则买到的来自不同工厂之概率为

对随机样本描述正确的是

A: 根据从样本那里获取数据的容易度选择个体。

B: 根据其是否愿意回答你的问题选择个体。

C: 以选中概率相同的方式选择个体。

D: 以选中一个个体不会影响另一个个体被选中几率的方式选择个体。

在python中,以下说法正确的是

A: NameError是:使用一个还未赋予对象的变量

随机变量两个重要的数学特征包括

数学期望E(X)由随机变量X的概率分布确定的

贝叶斯推断(Bayesian inference)是一种统计学方法,用来估计统计量的某种性质

方差用来度量随机变量X与均值E(X)的偏离程度

如果标准差大于均数,那么一定不符合正态分布

正态分布通常又被称为高斯分布

一位母亲记录了儿子3~9岁的身高,由此建立的身高与年龄的回归直线方程为y=7.19x+73.93,据此可以预测这个孩子10岁时的身高,则

______模块是 python 支持多线程编程的重要模块

投两颗骰子,已知两颗骰子点数和为7,求其中有一颗为1点的概率

在一次假设检验中,当显著水平设为0.05时,结论是拒绝原假设,现将显著水平设为0.1,那么

返回当前处于alive状态的Thread对象数量

假设检验的两类错误包括

答案:第一类错误(弃真错误)和第二类错误(受伪错误)

在python中,关于线程与进程描述正确的是

A: 使用线程可以把占据长时间的程序中的任务放到后台去处理

B: 线程在执行过程中与进程没有区别的

C: 线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制

D: 使用多个进程的优势在于每个进程都是独立运行的

A: 提出原假设H0 ,确定备择假设H1

B: 构造分布已知的合适的统计量

C: 由给定的检验水平?,求出在H0成立的条件下的临界值 (上侧?分位数,或双侧?分位数)

D: 计算统计量的样本观测值,如果落在拒绝域内,则拒绝原假设,否则, 接受原假设。

Thread 类支持使用两种方法来创建线程,其中一种是,继承threading.Thread类创建派生类,并重写___________方法的和__________方法来实现自定义对象类。

Python支持单继承也支持多继承

矩阵的加法不满足结合律

若施化肥量x(kg)与小麦产量y(kg)之间的线性回归方程为y=250+4x,当施化肥量为50?kg时,预计小麦产量为___

在Python3命令窗口中,执行下列语句后的显示结果是什么?

在Python中,执行下列语句后的显示结果是什么?

A: 除字典类型外,所有标准对象均可以用于布尔测试

B: 空字符串的布尔值是False

C: 空列表对象的布尔值是False

D: 值为0的任何数字对象的布尔值是False

python中,阅读下列代码,并得出输出结果:

Python中,以下不能创建一个字典的语句是

在python中,阅读下列打码,并选择正确的输出结果:

在python中,不同类型的数值混合运算时会将结果转换为

以下关于Python语言说法错误的是

A: 支持面向对象的编程

C: 支持面向过程的编程

D: 支持内存的自动管理

Python中,关于字符串下列说法正确的是

A: 字符应该视为长度为1的字符串

B: 可以使用len()函数计算字符串的长度

C: 既可以用单引号,也可以用双引号创建字符串

D: 在三引号字符串中可以包含换行回车等特殊字符

在 python 中,哪些是不可更改的对象:

高级程序设计语言必须由()或者(_)翻译成低级语言

以下Python字典的函数与其描述对应正确的是:

C: len(dict)—计算字典元素个数,即键的总数

D: dict.copy()—随机返回并删除字典中的一对键和值

Python中,列表的copy方法是浅复制

在python中,用sort方法对列表进行排序时,默认是降序

Python可以不对变量如a初始化就可在表达式如b=a+1中使用该变量。

列表是Python的无序序列

Python的元组与列表类似,不同之处在于元组的元素不能修改

在Python中,执行下列语句后的显示结果是什么?

在Python中,执行下列语句后的显示结果是什么?

在Python中,执行下列语句后的显示结果是什么?

在Python中,执行下列语句后的显示结果是什么?

Python内置函数________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数

在python中,阅读下列程序,输出结果正确的是:

python中,正则表达式表示匹配任意非空白字符的是

字典对象的______ ______方法返回字典的“键”列表

语句x = 3==3, 5执行结束后,变量x的值为

在python中,关于元组描述正确的是

A: 一个元组是一个列表

B: 不能对元组中的元素进行添加、删除或替换

C: 由于元组是一个序列,所以序列的切片操作可以用于元组

D: 一个元组是一个字典

A: 类变量在整个实例化的对象中是公用的

C: python中,子类可以重写父类的方法

D: 类的私有属性不能在类的外部被使用或直接访问

在python中,下列类方法对应正确的是

C: del:?析构函数,释放对象时使用

在Python中,init()方法是内置的初始化函数。

Python字典中的“键”可以是元组

列表、元组、字符串是Python的有序序列

在python中, ________模块可以方便地启动一个子进程,然后控制其输入和输出

python中,函数代码块以______关键词开头

答案:语法错误和逻辑错误

Python中实现多线程,有两个标准模块,分别是

在python中,以下说法正确的是

A: NameError是:使用一个还未赋予对象的变量

在python中,线程模块同样提供了Thread类来处理线程,属于Thread类提供的方法是

一般情况下,在Python无法正常处理程序时就会发生一个异常

在python中,continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

在开发过程中将中间变量输出检查,是有效的调试方法之一

现有甲、乙、丙三支排球队,每支球队队员身高的平均数均为1.90米,甲的方差为0.25,乙的方差为0.35,丙的方差为0.30,则身高较整齐的球队是____________队

有一组数据如下:3,5,x,6,7,它们的平均数是5,那么这组数据中的x为

"以下代码的输出结果是什么:

答案:[“0”,”1”,”2”,”3”]

python中,正则表达式表示匹配任意非单词字符的是

"用来描述样本的数字是

"一名研究者大学生的睡眠习惯感兴趣。他采访了 1250 名学生,发现这些学生平均每天睡 6.3 个小时。在这个研究中,这1250 名学生可以认为是

python开发web用到的框架之一是

默认情况下,Django开发服务器端口号为8000,如果想将服务器端口更改为8888,可以使用到的方法是:

已知甲袋中有6只红球,4只白球;乙袋中有8只红球,6只白球,求随机从一个袋子中,取一个球,该球是白球的概率是

现分别有A,B两个容器,在容器A里分别有7个红球和3个白球,在容器B有1个红球和9个白球,现已知从这两个容器里任意抽出了一个球,且是红球,问这个红球是来自容器B的概率是

set添加元素的方法是

python导入库的关键字是

答案:每行只有对角线位置的值非零,其它位置皆为0.

答案:转置矩阵就是把一个矩阵的的行换成同序号的列得到的一个新矩阵

Ax=b,则增广矩阵为

pyhon 函数定义说法正确的是:

函数可以返回值,也可以不返回值

使用随机变量(n = 1000),研究者发现一般某国居民每周的上网时间为 32 小时。假设该国居民整个总体的上网时间真值为 25 小时/周。在此情境下,以下哪个说法是正确的?

样本统计量为 32,总体参数为 25。

样本中包含 1000 名居民。

如果我们使用更大的样本(例如,n = 10000),获得的样本均值往往更接近总体均值。

我们的样本均值和总体均值不同是不正常的,因为随机样本应保证 100% 的准确估计。

一所大学向30,000名学生中的随机样本发送了一份学生满意度调查。1000名抽样学生中仅100名完成并返回了调查。你能从这个信息中得到什么结论?

学校应根据这些数据对课程进行重大变更。

存在无应答偏倚可能性,因为样本中的大多数学生未完成和返回调查。

样本可代表所有30,000名学生,因为样本是随机挑选的。

样本可能不足以代表所有30,000名学生,原因有很多。

进程间俩种通讯通道类型是

threading模块包含以下哪些函数

由于Python语言的什么特性,用Python做科学计算的机构日益增多:

关于参数默认值说法正确的是

在函数定义的时候设置好

当调用传入其它值时,使用传入的参数值

默认参数不可以被传入参数替换

python在同一台机器上不可以安装不同版本

python不可以有多个返回值

线程一般都是并发执行的,正是由于这种并行和数据共享的机制使得多个任务的合作变成可能。

线程的运行可能被抢占(中断)或暂时的被挂起(睡眠),让其他线程运行,这叫做让步。

如果多个线程共同访问同一片数据,则由于数据访问的顺序不同,有可能导致数据结果的不一致的问题,即竞态条件(race condition)。

threading模块通过锁机制来实现线程同步

样本统计量是用来描述样本的值;我们使用统计量来估计总体参数。

对象是创建一个新类型,而类是这个对象的实例

一组数据的标准差越大,数据的离散程度越大,这组数据越不稳定

随机变量X的平均数表达了X的取值与其数学期望的偏离程度

参数在函数定义的圆括号对内指定,用分号分割

第一类错误是,零假设H0实际上是错的,却没有被否定。第二类错误则是,零假设H0实际上是正确的,却被否定

设 A 是n阶方阵,如果存在数m和非零n维列向量 x,使得 Ax=mx 成立,则称 m 是A的一个特征值

矩阵A的迹是特征值之和

numpy 是用来数值计算的库

我要回帖

更多关于 全局变量不赋值是0吗 的文章

 

随机推荐