华塑控股股份有限公司3月招聘面试题98道2020311

使用re.match函数进行正则表达式匹配时,如果指定的匹配选项中包括re.MULTILINE,则会对每一行开头的若干字符作匹配。()

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


正确答案:错误


请编写一个函数int pattern_index(char substr[],char str[]),该函数执行含通配符“?”的字符串的查找时,该通配符可以与任一个字符匹配成功。当子串substr在str中匹配查找成功时,返回子串substr在str中的位置,否则返回值为0。要求使用 for循环实现。输出结果如下:

子串起始位置:5

注意:部分源程序已存在文件test20_2.cpp中。

请勿修改主函数main和其他函数中的任何内容,仅在函数pattern_index的花括号中填写若干语句。

文件test20_2.cpp的内容如下:

include<iostream.h>

int pattern_index(char substr[],char str[])

{

}

void main ( )

{

char *substring,*string;

int same;

substring="???gram";

string="this program return index of substring";

same=pattern_index(substring, string);

if(same)

cout<<"子串起始位置: "<<same<<end1;

else

cout<<"匹配不成功" <<end1;

}


正确答案:int pattern_index(char substr[]char str[]) { int ijk; for(i=0;str[i];i++) for(j=ik=0;(str[j]==substr[k])||(substr[k]=='?');j++k++) if(!substr[k+1]) return(i); return(0); }
int pattern_index(char substr[],char str[]) { int i,j,k; for(i=0;str[i];i++) for(j=i,k=0;(str[j]==substr[k])||(substr[k]=='?');j++,k++) if(!substr[k+1]) return(i); return(0); } 解析:本题主要考查的是考生使用for循环和一维数组的综合能力。对于复杂查找,往往使用for的多重循环,注意里层for循环用来查找字符串的使用


filFile.Pattern属性用于指定文件列表框中所显示的文件类型。若要同时显示*.jpg和*.gif两种文件类型,filFile.Pattern的属性值应如何设置?


正确答案:filFile.Pattern属性用于指定文件列表框中所显示的文件类型。若要同时品示多个类型时用“;”将各描述符隔开。例如同时显示*.jpg和*.gif两种文件类型的语句如下。 filFile.Pattern="*.jpg;*.gif"
filFile.Pattern属性用于指定文件列表框中所显示的文件类型。若要同时品示多个类型时,用“;”将各描述符隔开。例如,同时显示*.jpg和*.gif两种文件类型的语句如下。 filFile.Pattern="*.jpg;*.gif"


在Shell变量引用操作符可实现模式匹配替换其中()用来的含义是若pattern匹配变量stra的头部,则删除最长匹配部分并返回剩余部分。

A.${strapattern}

B.${strapattern}

C.${stra%pattern}

D.${stra%%pattern}


正确答案:B


正则表达式模块re的match()方法是从字符串的开始匹配特定模式,而search()方法是在整个字符串中寻找模式,这两个方法如果匹配成功则返回match对象,匹配失败则返回空值None。

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


正确答案:√


华塑控股股份有限公司3月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:分布式爬虫主要解决什么问题?可用的回答 : 面对海量待抓取网页,只有采用分布式架构,才有可能在较短时间内完成一轮抓取工作。它的开发效率是比较快而且简单的。 问题 Q2:如何提高爬取效率?可用的回答 : 爬虫下载慢主要原因是阻塞等待发往网站的请求和网站返回 1,采用异步与多线程,扩大电脑的cpu利用率; 2,采用消息队列模式 3,提高带宽 问题 Q3:Python里面match()和search()的区别?可用的回答 :re模块中match(pattern,string,flags),检查string的开头是否与pattern匹配。re模块中research(pattern,string,flags),在string搜索pattern的第一个匹配值。问题 Q4:AJAX是什么,如何使用AJAX?可用的回答 : jax(异步的javascript 和xml) 能够刷新局部网页数据而不是重新加载整个网页。 第一步,创建xmlhttprequest对象, var xmlhttp =new XMLHttpRequest(); XMLHttpRequest对象用来和服务器交换数据。 第二步,使用xmlhttprequest对象的open()和send()方法发送资源请求给服务器。 第三步,使用xmlhttprequest对象的responseText或responseXML属性获得服务器的响应。 第四步,onreadystatechange函数,当发送请求到服务器,我们想要服务器响应执行一些功能就需要使 用onreadystatechange函数,每次xmlhttprequest对象的readyState发生改变都会触发onreadystatechange函数。 问题 Q5:、isinstance作用以及应用场景?可用的回答 : isinstance(obj, cls) 检查一个obj是否是cls的一个对象 问题 Q6: scrapy的优缺点?为什么要选择scrapy框架?可用的回答 : 优点: 采取可读性更强的xpath代替正则强大的统计和log系统 同时在不同的url上爬行 支持shell方式,方便独立调试 写middleware,方便写一些统一的过滤器 通过管道的方式存入数据库 缺点: 基于python爬虫框架,扩展性比较差,基于twisted框架, 运行中exception是不会干掉reactor,并且异步框架出错后是不会停掉其他任务的,数据出错后难以察觉 问题 Q7:说说什么是爬虫协议?可用的回答 : Robots协议(也称为爬虫协议、爬虫规则、机器人协议等)也就是robots.txt, 网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。 Robots协议是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息、确保用户个人信息和隐私不被侵犯。因其不是命令,故需要搜索引擎自觉遵守。 问题 Q8: scrapy分为几个组成部分?分别有什么作用?可用的回答 : 分为5个部分; 1. Spiders(爬虫类) 2. Scrapy Engine(引擎) 3. Scheduler(调度器) 4. Downloader(下载器) 5. Item Pipeline(处理管道) 具体来说: Spiders:开发者自定义的一个类,用来解析网页并抓取指定url返回的内容。 Scrapy Engine:控制整个系统的数据处理流程,并进行事务处理的触发。 Scheduler:接收Engine发出的requests,并将这些requests放入到处理列队中,以便之后engine需要时再提供。 Download:抓取网页信息提供给engine,进而转发至Spiders。 Item Pipeline:负责处理Spiders类提取之后的数据。 比如清理HTML数据、验证爬取的数据(检查item包含某些字段)、查重(并丢弃)、将爬取结果保存到数据库中 问题 Q9:谷歌的无头浏览器?可用的回答 : 无头浏览器即headless browser,是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。 Python中selenium模块中的PhantomJS即为无界面浏览器(无头浏览器):是基于QtWebkit的无头浏览器。 问题 Q10:常见的HTTP方法有哪些?可用的回答 : GET:请求指定的页面信息,返回实体主体; HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于捕获报头; POST:向指定资源提交数据进行处理请求(比如表单提交或者上传文件),。数据被包含在请求体中。 PUT:从客户端向服务端传送数据取代指定的文档的内容; DELETE:请求删除指定的页面; CONNNECT:HTTP1.1协议中预留给能够将连接方式改为管道方式的代理服务器; OPTIONS:允许客户端查看服务器的性能; TRACE:回显服务器的请求,主要用于测试或者诊断。 算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:单词阶梯题目描述如下:Given two words (beginWord and endWord), and a dictionarys word list, find the length of shortest transformation sequence from beginWord to endWord, such that:Only one letter can be changed at a time.Each transformed word must exist in the word list. Note that beginWord is not a transformed word.Note:Return 0 if there is no such transformation sequence.All words have the same length.All words contain only lowercase alphabetic characters.You may assume no duplicates in the word list.You may assume beginWord

YouhaveanewITmanagerthathasmandatedthatallJSPsmustberefactoredtoincludenoscritpletcode.TheITmanagerhasaskedyoutoenforcethis.Whichdeploymentdescriptorelementwillsatisfythisconstraint?()

A.<jsp-property-group>.<url-pattern>*.jsp</url-pattern>.<permit-scripting>false</permit-scripting>.</jsp-property-group>

B.<jsp-config>.<url-pattern>*.jsp</url-pattern><permit-scripting>false</permit-scripting>.</jsp-config>

C.<jsp-config>.<url-pattern>*.jsp</url-pattern>.<scripting-invalid>true</scripting-invalid>.</jsp-config>

D.<jsp-property-group>.<url-pattern>*.jsp</url-pattern>.<scripting-invalid>true</scripting-invalid>.</jsp-property-group>


参考答案:D


本程序的功能是,根据用户输入的文件名,在相应的文件内容中查找匹配给定模式的字符串,并将这些字符串显示出来。模式串为“href="…"”。请填写横线处的内容。

注意:请勿改动main()主方法和其他已有语句内容,仅在横线处填入适当语句。

import java.io.*;

import java.util.regex.*;

import javax.swing.*;

public class Example2_10

{

public static void main(String [] argv)

{

final String patternString =

"href\\s*=\\s*(\"[^\"]*\"|[^\\s>])\\s*;

String fileName ;

try

{

System. out. print ( "请输入html 文件的文件名: ");

InputStreamReader in = new InputStreamReader(System.in);

BufferedReader imput = new BufferedReader(in);

fileName = imput.readLine();

if(fileName.equals(" "))

return;

StringBuffer buffer = new StringBuffer();

File file = new File(fileName);

FileInputStream readfile = new FileInputStream(file);

for(int c = 0; (c = readfile.read()) != -1; )

buffer.append((char)c);

Pattern pattern = Pattern.compile(

_____________ Pattern.CASE_INSENSITIVE);

Matcher matcher =________;

while (marcher. find ())

{

int start = matcher.start();

int end = matcher.end();

String match = buffer.substring(start, end);

System.out.println (match);

}

}

catch (Exception excption)

{

System. out.println (excption. getMessage ());

}

System.exit(O);

}

}


正确答案:patternString pattern.matcher(buffer)
patternString pattern.matcher(buffer) 解析:本题考查知识点:输入输出流和正则表达式解题思路:程序首先使用InputStreamReader的实例“in”从标准输入中获取用户输入的文件名,并将结果存放在“fileName”字符串中。if语句用来判断用户输入的文件名是否为空,如果为空则退出程序,不做任何处理。然后根据文件名读取相应的文件内容存放在StringBuffer的实例“buffer”中。然后建立起与正则表达式对应的模式对象“pattem”,并与“buffer”帮定,生成一个匹配器“matcher”。最后使用while循环查找到相应的字符串。
Patter的compile方法用来将正则表达式编译成模式对象。compile方法的第一个参数是正则表达式字符串,所以第一个空的答案是“patternString”。
第二个空用来建立一个匹配器。模式对象建立匹配器的方法是matcher(string),其中string是需要做模式匹配的兑现,本题中需要做模式匹配的对象是“buffer”。


以下各选项中能正确声明-个表示50个值为null的字符串数组的是( )。

A.string[]a;

B.string a[];

C.char a[50][3]

D.string a[]=new string[50]


正确答案:D
本题考查对字符串数组变量声明的掌握。在Java语言中,typearrayName[]和type[]arrayName的效果-样,都表示声明-个数组。所以选项A和选项B的效果是-样的,对于本题来说都是不正确的,因为它们没有指明数组所包含的元素的个数;选项c是-个二维的字符数组,Java语言跟C语言不-样,在C语言中,-个二维的字符数组就可以表示-个-维的字符串数组。而在Java中,字符char是基本数据类型,字符串string则是以对象的形式来表示的。所以,chara[][]并不等价于stringa[]。而且,c选项并没有指明数组的长度;选项D正确地声明了-个长度为50的空字符串数组。


7 .string = null 和string = “”的区别


正确答案:
答:前者没有分配内存控件,后着分配了


在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。


正确答案:
答:string str = null 是不给他分配内存空间,而string str =  给它分配长度为空字符串的内存空间。

更多 “华塑控股股份有限公司3月招聘面试题98道2020311” 相关考题
考题 单选题()is not a search pattern.A Williamson TurnB ParallelC SectorD zig-zag maneuver正确答案:C解析:暂无解析

考题 string模块中的属性有哪些()。A、ascii_lettersB、digitsC、inD、input正确答案:A,B

考题 在python中,如想自动生成数字,可使用string中digits属性。正确答案:正确

考题 A pattern according to which vessels and / or aircraft may conduct a co-ordinated search is a ___________.A.Research patternB.Research modeC.Search patternD.Search and rescue mode正确答案:C船舶和航空器进行协调搜救的模式叫做搜寻模式。

考题 填空题假设已成功导入Python标准库string,那么表达式len(string.digits)的值为()。正确答案:10解析:暂无解析

考题 正则表达式模块re的match()方法是从字符串的开始匹配特定模式,而search()方法是在整个字符串中寻找模式,这两个方法如果匹配成功则返回match对象,匹配失败则返回空值None。正确答案:正确

考题 在python中,string模块有digits属性。正确答案:正确

考题 String对象的哪个方法可以寻找子字符串并返回该子字符串?()A、match()B、indexOf()C、search()D、concat()正确答案:B

考题 在JAVA EE中,request对象的()方法可以获取页面请求中一个表单组件对应多个值时的用户的请求数据。A、String getParameter(String name)B、String[] getParameter(String name)C、String getParameterValuses(String name)D、String[] getParameterValues(String name)正确答案:D

考题 假设re模块已成功导入,并且有pattern=re.compile(’^’+’/.’.join([r’/d{1,3}’foriinrange(4)])+’$’),那么表达式pattern.match(’192.168.1.103’)的值为None。正确答案:错误