最后
一次偶然,从朋友那里得到一份“java高分面试指南”,里面涵盖了25个分类的面试题以及详细的解析:JavaOOP、Java集合/泛型、Java中的IO与NIO、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、数据结构、算法、Elasticsearch 、Kafka 、微服务、Linux。
这不,马上就要到招聘季了,很多朋友又开始准备“金三银四”的春招啦,那我想这份“java高分面试指南”应该起到不小的作用,所以今天想给大家分享一下。
请注意:关于这份“java高分面试指南”,每一个方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析
| — | — | — |
| 0asdbuiodevauufgh | 3 | uio为瑕疵度为0的最长子串,故长度为3 当然auu也是 |
| 2aeueo | 3 | 0 |
解析
该题考查正则表达式的使用。 其中一个隐含的点就是正则匹配时不能找出所有满足的子串。因此可以匹配到一个就把开始字符替换掉。这样能尽量多的找出满足条件的子串。
源码
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class T22 {
public static void main(String[] args) {
int flaw =1; // 瑕疵度
String inputStr = "asdabbuiooodevauufghu"; // 匹配字符
//开头是元音 结尾是元音 中间出现的非元音字符是瑕疵度
String regex="";
if(flaw==0){
regex="[aeiouAEIOU]{1,}";
}else{
regex="[aeiouAEIOU]{1}";
for(int i=0;i<flaw;i++){
regex+="[^aeiouAEIOU]{1}[aeiouAEIOU]\*";
}
regex+="[aeiouAEIOU]{1}";
}
System.out.println(regex);
System.out.println(inputStr.matches("[aeiou]{1}"));
// while(inputStr.contains("[aeiou]{1}"))
Pattern pattern=Pattern.compile(regex);
Matcher matcher=pattern.matcher(inputStr);
int max=0;
while(matcher.find()){
System.out.println(inputStr.substring(matcher.start(), matcher.end()));
if(matcher.end()-matcher.start()>max){
max=matcher.end()-matcher.start();
}
StringBuilder sb=new StringBuilder(inputStr);
sb.setCharAt(matcher.start(), '\_');//每次匹配到之后就把开始字符替换掉 可以一直往后匹配。
inputStr=sb.toString();
matcher=pattern.matcher(inputStr);
}
System.out.println("长度:"+max);
}
}
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
最新整理电子书
**