七喜控股股份有限公司1月招聘面试题157道2020128

对异常处理语句try-catch-finally,下面哪个说法正确()

A、如果有多个catch语句,对所有的catch语句都会执行一次

B、如果有多个catch语句,对每个符合条件的catch语句都会执行一次

C、多个catch的情况下,异常类的排列顺序应该是父类在前,子类在后

D.一般情况下,finally部分都会被执行一次


答案:D 

解析:

try语句 执行你所定义的或者你所捕获到的错误测试的代码块

catch :定义当try 代码块发生错误所需要执行的代码块

finally:无论是否有异常都会执行



如果一个except子句捕获多个异常,则多个异常名应写为元组的形式。()

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


参考答案:√


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

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


正确答案:×


下列关于try和catch语句的描述中,错误的是______。

A.不同的catch代码段是不同的作用域,但是可以访问相互之间定义的局部变量

B.如果没有异常产生,则所有的catch代码段都被略过不执行

C.异常总是由距离产生异常最近的匹配catch代码段处理

D.try代码段后跟一个或多个catch代码段


正确答案:A


在try 语句中使用多个 except语句可以处理多个不同的异常情况。

A.错误

B.正确


正确答案:A


七喜控股股份有限公司1月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:什么是Python?使用Python有什么好处?可用的回答 :Python是一种编程语言,包含对象,模块,线程,异常和自动内存管理。Python的好处在于它简单易用,可移植,可扩展,内置数据结构,并且它是一个开源的。问题 Q2:json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?可用的回答 :json.dumps函数方法中加上参数 ensure_ascii = False问题 Q3:介绍一下except的用法和作用?可用的回答 : tryexceptexceptelsefinally 执行try下的语句,如果引发异常,则执行过程会跳到except语句。 对每个except分支顺序尝试执行,如果引发的异常与except中的异常组匹配,执行相应的语句。 如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。 try下的语句正常执行,则执行else块代码。如果发生异常,就不会执行 如果存在finally语句,最后总是会执行。 问题 Q4:Python中的self是什么?可用的回答 :self是类的实例或对象。在Python中,self包含在第一个参数中。init方法中的self变量引用新创建的对象,而在其他方法中,它引用其方法被调用的对象。问题 Q5:Python中的self是什么?可用的回答 :self是类的实例或对象。在Python中,self包含在第一个参数中。init方法中的self变量引用新创建的对象,而在其他方法中,它引用其方法被调用的对象。问题 Q6:遇到过得反爬虫策略以及解决方法?可用的回答 : 反爬虫策略: 1.通过headers反爬虫 2.基于用户行为的发爬虫(同一IP短时间内访问的频率,封IP) 3.动态网页反爬虫(通过ajax请求数据,或者通过JavaScript生成) 4.对部分数据进行加密处理的(数据是乱码) 解决方法: 1. 对于基本网页的抓取可以自定义headers,添加headers的数据 2. 使用多个代理ip进行抓取或者设置抓取的频率降低一些, 3. 动态网页的可以使用selenium + phantomjs 进行抓取 4. 对部分数据进行加密的,可以使用selenium进行截图,使用python自带的pytesseract库进行识别,但是比较慢最直接的方法是找到加密的方法进行逆向推理。 问题 Q7:简述一下scrapy的基本流程?可用的回答 : scrapy分为9个步骤: 1. Spiders需要初始的start_url或则函数stsrt_requests,会在内部生成Requests给Engine; 2. Engine将requests发送给Scheduler; 3. Engine从Scheduler那获取requests,交给Download下载; 4. 在交给Dowmload过程中会经过Downloader Middlewares(经过process_request函数); 5. Dowmloader下载页面后生成一个response,这个response会传给Engine,这个过程中又经过了Downloader Middlerwares(经过process_request函数),在传送中出错的话经过process_exception函数; 6. Engine将从Downloader那传送过来的response发送给Spiders处理,这个过程经过Spiders Middlerwares(经过process_spider_input函数); 7. Spiders处理这个response,返回Requests或者Item两个类型,传给Engine,这个过程又经过Spiders Middlewares(经过porcess_spider_output函数); 8. Engine接收返回的信息,如果使Item,将它传给Items Pipeline中;如果是Requests,将它传给Scheduler,继续爬虫; 9. 重复第三步,直至没有任何需要爬取的数据 问题 Q8:跨域请求问题django怎么解决的(原理)?可用的回答 : 1. 启用中间件 2. post请求 3. 验证码 4. 表单中添加%csrf_token%标签 问题 Q9:写爬虫使用多进程好,还是用多线程好?可用的回答 : IO密集型代码(文件处理、网络爬虫等), 多线程能够有效提升效率(单线程下有IO操作会进行IO等待,造成不必要的时间浪费,而开启多线程能在线程A等待时,自动切换到线程B,可以不浪费CPU的资源,从而能提升程序执行效率)。 在实际的数据采集过程中,既考虑网速和响应的问题,也需要考虑自身机器的硬件情况,来设置多进程或多线程 问题 Q10:装饰器的作用和功能?可用的回答 : 1. 引入日志 2. 函数执行时间统计 3. 执行函数前预备处理 4. 执行函数后的清理功能 5. 权限校验等场景 6. 缓存 算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:两数相加II数组已排序题目描述如下:Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2.Note:Your returned answers (both index1 and index2) are not zero-based.You may assume that each input would have exactly one solution and you may not use the same element twice.Example:Input: numbers = 2,7,11,15, target = 9Output: 1,2Explanation: The sum of 2 and 7 is 9. Therefore index1 = 1, index2 = 2.Two Sum 已经排序后的输

关于Mako模板,以下哪些是合法的控制语句()

  • A、%ifa>0:...%endif
  • B、%foriinrange(5):...%endif
  • C、%whilenumber:...%endwhile
  • D、%try:...%except:...%endtry

正确答案:A,C,D


关于Mako模板,下列说法正确的是()

  • A、Mako模板引擎依赖于Django框架
  • B、在Mako模板中,能够内嵌Python代码
  • C、在Mako模板中,使用"{{}}"语法渲染变量
  • D、Mako模板支持try-except异常控制语句

正确答案:B,D


介绍一下except的用法和作用?


正确答案:try…except…except…[else…][finally…]
执行try下的语句,如果引发异常,则执行过程会跳到except语句。对每个except分支顺序尝试执行,如果引发的异常与except中的异常组匹配,执行相应的语句。如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。
try下的语句正常执行,则执行else块代码。如果发生异常,就不会执行。如果存在finally语句,最后总是会执行。


Foxbase中,关于条件分支语句说法正确的是()。

  • A、最多只能有2重嵌套
  • B、如果条件为真,则执行ELSE与ENDIF之间的语句
  • C、如果条件为假,则执行IF与ELSE之间的语句
  • D、如果条件为假,则执行ELSE与ENDIF之间的语句

正确答案:D


在try程序块中发生了异常,其后如果有多个catch参数类与之匹配,会执行那个catch块中的异常处理程序。


正确答案:当try语句块中的代码执行时发生异常,程序的正常运行便中断,并抛出异常对象,然后在try块后面的各个catch()中查找与异常对象相匹配的异常类,当找到第一个与之相匹配的参数类时,就执行包含这一参数类的catch语句块中的代码。

更多 “七喜控股股份有限公司1月招聘面试题157道2020128” 相关考题
考题 一个except语句块可以处理多个异常吗?()A、是,比如TypeError,SyntaxError[,…]B、是,比如[TypeError,SyntaxError]C、是,比如(TypeError,ValueError)D、不能正确答案:C

考题 单选题以下关于if语句和switch语句的说法,正确的()A如果在if语句和switch语句中嵌入break语句,则在程序执行过程中,一旦执行到break语句,就会结束相应的执行,转向执行其后面的语句B凡是能够使用if语句的地方就可以使用switch语句,反之亦然Cif语句有3种基本形式:if…、if…else…和if…else if…else…Dif语句是实现“单判断二分支”的选择结构,switch语句是实现“单判断多分支”的选择结构。正确答案:B解析:暂无解析

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

考题 什么时候会执行try-except-else的else部分()A、总是B、当发生异常时C、没有异常发生D、当包含块之外执行发生异常时正确答案:C

考题 无论try块中的语句是否发生异常,都会执行catch块中的语句。()正确答案:错误

考题 下面的异常处理说明正确的是()A、try块只能使用一个catch子句B、try块必须同时与catch子句和finally子句一起使用C、try块不能单独使用D、try块中如果执行了return语句,则其finally子句不能执行正确答案:C

考题 判断题无论try块中的语句是否发生异常,都会执行catch块中的语句。()A 对B 错正确答案:对解析:暂无解析

考题 问答题如果在try程序块中没有发生异常,那么当该程序块执行完后,程序继续执行什么地方的语句?正确答案:如果一个try程序块中没有发生任何异常,那么就跳过该块的异常处理程序,继续执行最后一个catch块之后的代码。如果有finally程序块的话,就执行finally程序块及其后的语句。解析:暂无解析

考题 判断题由于异常处理结构try...except...finally...中finally里的语句块总是被执行的,所以把关闭文件的代码放到finally块里肯定是万无一失,一定能保证文件被正确关闭并且不会引发任何异常。A 对B 错正确答案:对解析:暂无解析

考题 由于异常处理结构try...except...finally...中finally里的语句块总是被执行的,所以把关闭文件的代码放到finally块里肯定是万无一失,一定能保证文件被正确关闭并且不会引发任何异常。正确答案:错误