广州市品高软件股份有限公司4月招聘面试题73道2020420

在try...except...else结构中,如果try块的语句引发了异常则会执行else块中的代码。

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


正确答案:×


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

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


正确答案:×


在以下哪种情况下,对象不会解锁?( )

A.synchronized段语句块执行完毕

B.synchronized语句块中出现exception

C.持锁线程调用对象wait () 方法

D.synchronized语句块中调用suspend () 方法


正确答案:D
解析:suspend ()方法只是挂起线程,并不释放线程中持有的锁。


当Query对象中存储一条Delete语句时,执行该语句需要调用Query的____方法。


参考答案ExecSQL


Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么?


正确答案:线程创建有三种方法:使用NSThread创建、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue;在主线程执行代码,方法是performSelectorOnMainThread,如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone


广州市品高软件股份有限公司4月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:介绍一下except的用法和作用?可用的回答 : tryexceptexceptelsefinally 执行try下的语句,如果引发异常,则执行过程会跳到except语句。 对每个except分支顺序尝试执行,如果引发的异常与except中的异常组匹配,执行相应的语句。 如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。 try下的语句正常执行,则执行else块代码。如果发生异常,就不会执行 如果存在finally语句,最后总是会执行。 问题 Q2:Python中的self是什么?可用的回答 :self是类的实例或对象。在Python中,self包含在第一个参数中。init方法中的self变量引用新创建的对象,而在其他方法中,它引用其方法被调用的对象。问题 Q3:谈谈你对面向对象的理解?可用的回答 : 在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。 在现实生活中的任何 物体都可以归为一类事物,而每一个个体都是一类事物的实例。 面向对象的编程是以对象为中心,以消息为驱 动,所以程序=对象+消息。 面向对象有三大特性,封装、继承和多态。 封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化, 提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。 继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类-有父类的行为和属性,也有自己特有的行为和属性。 这样做扩展了已存在的代码块,进一步提高了代码的复用性。 如果说封装和继承是为了使代码重用,那么多态则是为了实现接口重用。 多态的一大作用就是为了解耦-为了解除父子类继承的耦合度。 如果说继承中父子类的关系式IS-A的关系,那么接口和实现类之之间的关系式 HAS-A。 简单来说,多态就是允许父类引用(或接口)指向子类(或实现类)对象。很多的设计模式都是基于面向对象的多态性设计的。 总结一下,如果说封装和继承是面向对象的基础,那么多态则是面向对象最精髓的理论。掌握多态必先了解接口,只有充分理解接口才能更好的应用多态。 问题 Q4:分布式爬虫主要解决什么问题?可用的回答 : 面对海量待抓取网页,只有采用分布式架构,才有可能在较短时间内完成一轮抓取工作。它的开发效率是比较快而且简单的。 问题 Q5:数据库的优化?可用的回答 : 1. 优化索引、SQL 语句、分析慢查询; 2. 设计表的时候严格根据数据库的设计范式来设计数据库; 3. 使用缓存,把经常访问到的数据而且不需要经常变化的数据放在缓存中,能节约磁盘IO; 4. 优化硬件;采用SSD,使用磁盘队列技术(RAID0,RAID1,RDID5)等; 5. 采用MySQL 内部自带的表分区技术,把数据分层不同的文件,能够提高磁盘的读取效率; 6. 垂直分表;把一些不经常读的数据放在一张表里,节约磁盘I/O; 7. 主从分离读写;采用主从复制把数据库的读操作和写入操作分离开来; 8. 分库分表分机器(数据量特别大),主要的的原理就是数据路由; 9. 选择合适的表引擎,参数上的优化; 10. 进行架构级别的缓存,静态化和分布式; 11. 不采用全文索引; 12. 采用更快的存储方式,例如 NoSQL存储经常访问的数据 问题 Q6:Python中的反向索引是什么?可用的回答 :Python序列可以是正数和负数的索引。对于正索引,0是第一个索引,1是第二个索引,依此类推。对于负索引,( - 1)是最后一个索引,( - 2)是倒数第二个索引,依此类推。问题 Q7:遇到反爬机制怎么处理?可用的回答 : 反爬机制: headers方向 判断User-Agent、判断Referer、判断Cookie。 将浏览器的headers信息全部添加进去 注意:Accept-Encoding;gzip,deflate需要注释掉 问题 Q8:你常用的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% 问题 Q9:什么是Python中的迭代器?可用的回答 :在Python中,迭代器用于迭代一组元素,如列表之类的容器。问题 Q10:什么是序列化和非序列化?可用的回答 :Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用dump函数将其转储到文件中,此过程称为pickling。从存储的字符串表示中检索原始Python对象的过程称为unpickling算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:最大的滑动窗口题目描述如下:Given an array

关于finally块中的代码描述正确的是()

  • A、finally块中的代码总是被执行的
  • B、如果try块后没有catch块,finally块中的代码才会执行
  • C、异常发生时才被执行
  • D、异常没有发生时才被执行

正确答案:A


在try-catch-finally结构中,哪个说法不正确()

  • A、可以存在多个catch语句块,表示可以捕捉多种异常
  • B、不能同时没有catch语句块和finally语句块
  • C、结构整体可以当作一条语句,从而可以嵌套在其他try-catch-finally结构中
  • D、在try-catch-finally结构中,不发生异常,finally语句块不会执行

正确答案:D


在Java的异常处理语句try-catch-final中,以下描述不正确的是()。

  • A、try后面是可能产生异常的代码,catch后面是捕获到某种异常对象时进行处理的代码,final后面是没有捕获到异常时要执行的代码
  • B、try后面是可能产生异常的代码,catch后面是捕获到某种异常对象时进行处理的代码,final后面是无论是否捕获到异常都必须执行的代码
  • C、catch语句和final语句都可以缺省
  • D、catch语句用来处理程序运行时的非致命性错误,而final语句用来处理程序运行时的致命性错误
  • E、当程序运行时抛出的异常是cathe语句中异常的子类,异常也会被捕捉执行相应的catch语句

正确答案:A,C,D


下列关于抛出异常的描述中,错误的一项是()。

  • A、异常可以由try代码段中的语句抛出
  • B、异常可以从被try代码段中调用的方法中抛出
  • C、异常的抛出并不影响代码段的执行顺序
  • D、异常还可能产生于数组下标越界及Java虚拟机内部的错误等

正确答案:C


下面的异常处理说明正确的是()

  • A、try块只能使用一个catch子句
  • B、try块必须同时与catch子句和finally子句一起使用
  • C、try块不能单独使用
  • D、try块中如果执行了return语句,则其finally子句不能执行

正确答案:C

更多 “广州市品高软件股份有限公司4月招聘面试题73道2020420” 相关考题
考题 final、finally和finalize的区别中,下述说法正确的有()。A、final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承B、finally是异常处理语句结构的一部分,表示总是执行C、finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件等D、引用变量被final修饰之后,不能再指向其他对象,它指向的对象的内容也是不可变的正确答案:A,B,C

考题 单选题在finally代码块中的代码,()。A 在任何错误处理代码之前执行B 不执行,除非在前面的try块中产生异常C 不能保证在任何确定的时间内执行,但是将会优先于“碎片收集”被JVM调用D 保证执行,无论try块中是否产生异常正确答案:C解析:暂无解析

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

考题 判断题在Python中定义类时实例方法的第一个参数名称必须是self。A 对B 错正确答案:对解析:暂无解析

考题 在try...except...else结构中,如果try块的语句引发了异常则会执行else块中的代码。正确答案:错误

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

考题 在Python中定义类时实例方法的第一个参数名称必须是self。正确答案:错误

考题 finally块中的代码将()A、总是被执行B、如果try块后面没有catch块时,finally块中的代码才会执行C、异常发生时才被执行D、异常没有发生时才执行正确答案:A

考题 问答题假设下列try-catch语句块中的第2个语句s2产生一个异常,试回答下述问题: ⑴语句s3会执行吗?  ⑵如果catch捕获到异常,语句s4会执行吗? ⑶如果异常未被捕获,语句s4会执行吗?正确答案:若try-catch语句块中的第2个语句s2产生一个异常,⑴语句s3不会执行,⑵如果catch捕获到异常,异常处理后,会继续执行语句s4,⑶如果异常未被捕获,则程序终止运行,语句s4也不会执行。解析:暂无解析

考题 单选题在try-catch-finally结构中,哪个说法不正确()A 可以存在多个catch语句块,表示可以捕捉多种异常B 不能同时没有catch语句块和finally语句块C 结构整体可以当作一条语句,从而可以嵌套在其他try-catch-finally结构中D 在try-catch-finally结构中,不发生异常,finally语句块不会执行正确答案:C解析:暂无解析