首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Python程序员面试常用基础问题解析

Python是一种编程语言,它有对象、模块、线程、异常处理和自动内存管理。可以加入与其他语言的对比。下面是回答这一问题的几个关键点: a. Python是一种解释型语言,python代码在运行之前不需要编译。 b. Python是动态类型语言,在声明变量时,不需要说明变量的类型。 c. Python适合面向对象的编程,因为它支持通过组合与继承的方式定义类。 d. 在Python语言中,函数是第一类对象。 e. Python代码编写快,但是运行速度比编译语言通常要慢。 f. Python用途广泛,常被用作“胶水语言”,可帮助其他语言和组件改善运行状况。 g. 使用Python,程序员可以专注于算法和数据结构的设计,而不用处理底层的细节。

02

Java基础知识大全(二)

二、面向对象 1、面向对象思想: (1)概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对象, 强调具备功能的对象; (2)思想特点: A:是符合人们思考习惯的一种思想; B:将复杂的事情简单化了; C:将程序员从执行者变成了指挥者;比如我要达到某种结果,我就寻找能帮我达到该结果的功能的对象,如我要洗衣服我就买洗衣机, 至于怎么洗我不管。 (3)特征: 封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式 继承: 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义 这些属性和行为,只要继承那个类即可。 多态: 一个对象在程序不同运行时刻代表的多种状态,父类或者接口的引用指向子类对象2、类和对象: 类:对现实世界中某类事物的描述,是抽象的,概念上的定义。 对象:事物具体存在的个体。 3:成员变量和局部变量的区别(重点) (1)作用域 成员变量:针对整个类有效。 局部变量:只在某个范围内有效。(一般指的就是方法,语句体内) (2)存储位置 成员变量:随着对象的创建而存在,随着对象的消失而消失,存储在堆内存中。 局部变量:在方法被调用,或者语句被执行的时候存在,存储在栈内存中。 当方法调用完,或者语句结束后,就自动释放。 (3)初始值 成员变量:有默认初始值。 局部变量:没有默认初始值,使用前必须赋值。 4、匿名对象 (1)匿名对象就是没有名字的对象。是对象的一种简写形式。 (2)应用场景 A:只调用一次类中的方法。 B:可以作为实际参数在方法传递中使用 5、封装: 指隐藏对象的属性和实现细节,仅对外提供公共访问方式;比如电脑机箱、笔记本等 好处: 将变化隔离; 方便使用; 提高复用性; 提高安全性 6、关键字private:封装在代码中的体现 (1)私有的意思,权限修饰符 (2)用来修饰成员变量和成员函数 (3)用private修饰的成员只在本类中有效 (4)私有是封装的一种体现 7、构造方法: (1)特点: 方法名与类名相同 没有返回类型 没有返回值 (2)作用:构造函数是用于创建对象,并对其进行初始化赋值,对象一建立就自动调用相对应的构造函数, (3)构造方法的注意事项: A:如果一个自定义类没有构造方法,系统会默认给出一个无参构造方法。 B:如果一个自定义类提供了构造方法,那么,系统将不再给出无参构造方法。 这个时候,你可以不使用无参构造方法。 如果你想使用,那么,就必须手动给出无参构造方法。建议:一般情况下,我们的自定义类都要手动给出无参构造方法。 (4)构造方法和成员方法的区别 A:格式区别 构造方法和类名相同,并且没有返回类型,也没有返回值。 普通成员方法可以任意起名,必须有返回类型,可以没有返回值。 B:作用区别 构造方法用于创建对象,并进行初始化值。 普通成员方法是用于完成特定功能的。 C:调用区别 构造方法是在创建对象时被调用的,一个对象建立,只调用一次相应构造函数 普通成员方法是由创建好的对象调用,可以调用多次8、构造代码块: (1)作用:给对象进行初始化,对象一建立就执行,而且优先于构造函数执行 (2)构造代码块和构造函数的区别: 构造代码块是给所有不同对象的共性进行统一初始化 构造函数是给对应的对象进行初始化 9、this关键字 (1)this关键字代表本类对象的一个引用,谁调用this所在的方法,this就代表谁 (2)this的使用场景 A:用于区分同名成员变量和局部变量; B:在定义函数时,该函数内部要用到调用该函数的对象时,因为此时对象还没建立,故this代表此对象 B:构造函数间调用 **这个时候,this(参数)必须作为第一条语句存在。 10、Person p = new Person();在内存中做了哪些事情。 (1)将Person.class文件加载进内存中。 (2)如果p定义在主方法中,那么,就会在栈空间开辟一个变量空间p。 (3)在堆内存给对象分配空间。 (4)对对象中的成员进行默认初始化。 (5)对对象中的成员进行显示初始化。 (6)调用构造代码块对对象进行初始化。(如果没有就不执行) (7)调用构造方法对对象进行初始化。对象初始化完毕。 (8)将对象的内

05

Java静态全局变量与全局变量的区别[通俗易懂]

答:   全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个原文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。   由于静态全局变量的作用域限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其他源文件中引起错误。   static全局变量与普通的全局变量的区别是static全局变量只初始化一次,防止在其他文件单元被引用。

03

2023秋招大厂-嵌入式开发经典笔试面试题目大整理

1、什么是进程,线程,有什么区别 2、多进程、多线程的优缺点 3、什么时候用进程,什么时候用线程 4、多进程、多线程同步(通讯)的方法 5、进程线程的状态转换图 。什么时候阻塞,什么时候就绪 6、父进程、子进程的关系以及区别 7、什么是进程上下文、中断上下文 8、一个进程可以创建多少线程,和什么有关 9、进程间通讯: (1)管道/无名管道(2)信号(3)共享内存(4)消息队列(5)信号量(6)socket 注意:临界区则是一种概念,指的是访问公共资源的程序片段,并不是一种通信方式。 10、线程通讯(锁): (1)信号量(2)读写锁(3)条件变量(4)互斥锁(5)自旋锁

01
领券