此题为判断题(对,错)。
请编写一个函数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;
}
filFile.Pattern属性用于指定文件列表框中所显示的文件类型。若要同时显示*.jpg和*.gif两种文件类型,filFile.Pattern的属性值应如何设置?
在Shell变量引用操作符可实现模式匹配替换其中()用来的含义是若pattern匹配变量stra的头部,则删除最长匹配部分并返回剩余部分。
A.${strapattern}
B.${strapattern}
C.${stra%pattern}
D.${stra%%pattern}
正则表达式模块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
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>
本程序的功能是,根据用户输入的文件名,在相应的文件内容中查找匹配给定模式的字符串,并将这些字符串显示出来。模式串为“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);
}
}
以下各选项中能正确声明-个表示50个值为null的字符串数组的是( )。
A.string[]a;
B.string a[];
C.char a[50][3]
D.string a[]=new string[50]
7 .string = null 和string = “”的区别
在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。