四川托普软件投资股份有限公司1月招聘面试题154道202012

______是面向对象程序设计语言中的一种机制,这种机制实现了方法的定义与具体的对象无关,而方法的调用则可以关联于具体的对象。

A.继承(Inhertance)

B.模板(Template)

C.动态绑定(Dynamic Binding)

D.对象的自身引用(Self-Reference)


正确答案:C
解析:继承是父类和子类之间共享数据和方法的机制。这是类之间的一种关系,在定义和实现一个类(子类)的时候,可以在一个已经存在的类(父类)的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
  动态绑定(Dynamic Binding)是建立在函数调用(Method Call)和函数本体(Method Body)的关联。绑定动作在执行期(Run-time)才根据对象类型而进行,这就是所谓的动态绑定,也称后期绑定(LateBinding)。


用户自定义类时,如果想让该类实例对象被print调用时返回类的特定信息,就必须实现Python魔术方法中的()

A.init

B.str

C.rep

D.cmp


正确答案:B


在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。

此题为判断题(对,错)。


正确答案:√


在Python中定义类时实例方法的第一个参数名称必须是self。

此题为判断题(对,错)。


正确答案:×


以下关于this关键字说法中,正确的是()。

A、this关键字可以出现在任何方法中

B、this关键字出现在成员方法中,代表的是调用这个方法的对象

C、this关键字相当于一个引用,可以通过它调用成员方法与属性

D、this关键字可以解决成员变量与局部变量重名的问题


参考答案:BCD


四川托普软件投资股份有限公司1月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:什么是arp协议?可用的回答 : ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。 问题 Q2:列举网络爬虫所用到的网络数据包,解析包?可用的回答 : 网络数据包 urllib、urllib2、requests 解析包 re、xpath、beautiful soup、lxml 问题 Q3:Python中的self是什么?可用的回答 :self是类的实例或对象。在Python中,self包含在第一个参数中。init方法中的self变量引用新创建的对象,而在其他方法中,它引用其方法被调用的对象。问题 Q4:跨域请求问题django怎么解决的(原理)?可用的回答 : 1. 启用中间件 2. post请求 3. 验证码 4. 表单中添加%csrf_token%标签 问题 Q5:你常用的mysql引擎有哪些?各引擎间有什么区别?可用的回答 : 主要 MyISAM 与 InnoDB 两个引擎,其主要区别如下: 一、 InnoDB 支持事务,MyISAM 不支持,这一点是非常之重要。 事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而 MyISAM就不可以了; 二、 MyISAM 适合查询以及插入为主的应用,InnoDB 适合频繁修改以及涉及到安全性较高的应用; 三、 InnoDB 支持外键,MyISAM 不支持; 四、 MyISAM 是默认引擎,InnoDB 需要指定; 五、 InnoDB 不支持 FULLTEXT 类型的索引; 六、 InnoDB 中不保存表的行数,如 select count(*) from table 时,InnoDB; 需要扫描一遍整个表来计算有多少行,但是 MyISAM 只要简单的读出保存好的行数即可。 注意的是,当 count(*)语句包含 where 条件时 MyISAM 也需要扫描整个表; 七、 对于自增长的字段,InnoDB 中必须包含只有该字段的索引,但是在 MyISAM 表中可以和其他字段一起建立联合索引; 八、 清空整个表时,InnoDB 是一行一行的删除,效率非常慢。MyISAM 则会重建表; 九、 InnoDB 支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like %lee% 问题 Q6:简单谈下GIL?可用的回答 : Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制, Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。 对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。 在多线程环境中,Python 虚拟机按以下方式执行: 1. 设置GIL 2. 切换到一个线程去运行 3. 运行: a. 指定数量的字节码指令,或者 b. 线程主动让出控制(可以调用time.sleep(0)) 4. 把线程设置为睡眠状态 5. 解锁GIL 6. 再次重复以上所有步骤 在调用外部代码(如C/C+扩展函数)的时候,GIL 将会被锁定, 直到这个函数结束为止(由于在这期间没有Python 的字节码被运行,所以不会做线程切换)。 问题 Q7:Python中的生成器是什么?可用的回答 :实现迭代器的方法称为生成器。这是一个正常的函数,除了它在函数中产生表达式。问题 Q8:请解释或描述一下Django的架构?可用的回答 : 对于Django框架遵循MVC设计,并且有一个专有名词:MVT M全拼为Model,与MVC中的M功能相同,负责数据处理,内嵌了ORM框架 V全拼为View,与MVC中的C功能相同,接收HttpRequest,业务处理,返回HttpResponse T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html,内嵌了模板引擎 问题 Q9:什么是Python pass?可用的回答 :pass意味着,无操作的Python语句,或者换句话说,它是复合语句中的占位符,其中应该留有空白,并且不必在那里写入任何内容。问题 Q10:什么是Python中的单元测试?可用的回答 :它支持共享设置,自动化测试,测试关闭代码,将测试聚合到集合等。包括unittest,pytest等框架算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:使括号有效的最小添加数题目描述如下:Given a string S of ( and ) parentheses, we add the minimum number of parentheses ( ( or ), and in any positions ) so that the resulting parentheses string is valid.Formally, a parentheses string is valid if and only if:It is the empty string, orIt can be written as AB (A concatenated with B), where A and B are valid strings, orIt can be written as (A), where A is a valid string.Given a parentheses string, return the minimum number of parentheses we must add to make the resulting string valid. Example 1:Input: ()Output: 1Example 2:Input: (Output: 3Example 3:Input: ()Output: 0Example 4:Input: ()(Output: 4 Note:S.length = 1000S only consists of ( and ) characters.给一个字符串只包含 ( 和 )。返回至少补多少个可以达成全部有效。思路:去除原来有效的,剩余多少个即为需要多少个。

被实例化的对象会被编译器默默地传入后面其各个方法的括号中,self则是第()个参数。

A.1

B.最后1个

C.不需要

D.2


参考答案:A


对象自身引用(Self-Reference)是OOPL中的一种特有结构。对象自身引用机制使得在进行方法的设计和实现时并不需要考虑与对象联系的细节,而是从更高一级的抽象层次,也就是类的角度来设计同类型对象的(50)特征,从而使得方法在一个类及其子类的范围内具有共性。

A.方法

B.行为

C.类型

D.动态


正确答案:B
解析:对象自身引用机制使得在进行方法的设计和实现时并不需要考虑与对象联系的细节,而是从更高一级的抽象层次,也就是类的角度来设计同类型对象的行为特征,从而使得方法在一个类及其子类的范围内具有共性。在程序运行过程中,消息传递机制和对象自身引用将方法与特定的对象动态地联系在一起,使得不同的对象在执行同样的方法体时,可以因对象的状态不同而产生不同的行为,从而使得方法对具体的对象具有个性。


对象自身引用(Self-Reference)是OOPL中的一种特有结构。对象自身引用的值和类型分别扮演了两种意义的角色:对象自身引用的值使得方法体中引用的成员名与特定的对象相关,对象自身引用的类型则决定了方法体被实际共享的(51)。

A.类型

B.程度

C.大小

D.范围


正确答案:D
解析:对象自身引用的值和类型分别扮演了两种意义的角色:对象自身引用的值使得方法体中引用的成员名与特定的对象相关,对象自身引用的类型则决定了方法体被实际共享的范围。


在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。


正确答案:正确


对象方法第一个默认参数为self。


正确答案:错误

更多 “四川托普软件投资股份有限公司1月招聘面试题154道202012” 相关考题
考题 python中,类的实例化,我们称之为()A、方法B、函数C、模块D、对象正确答案:D

考题 类中static修饰的变量或方法,可以使用类名或对象的引用变量访问正确答案:正确

考题 在创建类的时候,对象方法第一个参数始终为self。正确答案:正确

考题 单选题python中,实例变量可以被()调用A 类B 对象C 变量D 函数正确答案:A解析:暂无解析

考题 判断题在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。A 对B 错正确答案:对解析:暂无解析

考题 python中,实例化的对象可以调用()A、类方法B、对象方法C、类属性D、对象属性正确答案:A,B,C,D

考题 多选题python中,类变量能够被()调用A类B对象C变量D函数正确答案:C,D解析:暂无解析

考题 python中,实例变量可以被()调用A、类B、对象C、变量D、函数正确答案:B

考题 多选题python中,实例化的对象可以调用()A类方法B对象方法C类属性D对象属性正确答案:B,C解析:暂无解析

考题 在python中,由类创建的实例,称之为()A、对象B、变量C、方法D、函数正确答案:A