zoukankan      html  css  js  c++  java
  • 面试总结

    1.cookie的优点(为什么要使用cookie)与缺点?

    2.cookie与session的联系与区别?

    3.触发器?

    4.字符串匹配?

    (一)算法:BF(暴力检索匹配)、KMP、BM、Sunday

    BM算法的效率比KMP算法高3~4倍。BM算法的思想如下:首先将原字符串与子串按首字符串对齐,从子串的尾部元素开始与原字符串进行比对。若不相同,则判断该子串元素所对应父串的元素是否包含在子串中,若不包含,则将子串移动至该元素的后一个元素对应的位置;若包含,则移动子串将子串中的元素与该元素对齐。接下来再次从子串末尾开始比较,如果出现了多个匹配的情况,从开始不匹配的位置,寻找子串中是否包含有原字符串中的元素,若包含,则将子串该元素与原字符串对齐。

    https://www.cnblogs.com/Franky-ln/p/5890201.html

    (二)java的api方法:

      1).indexOf(char[]),lastindexof(char[])

        public void fun(){
             int j = "dfdfdfe3e".indexOf("e");//从头开始索引
             System.out.println(j);
             int p = "dfsggrtg".indexOf("g",5); //从指定索引5处,开始检索
             System.out.println(p);
             int k = "dfdfdee".lastIndexOf("fd"); //从右端开始匹配
             System.out.println(k);
             int k2 = "dfdfee".lastIndexOf("f",2); //从右端指定索引2处,开始检索
             System.out.println(k2);
        }

    6
    7
    3
    1

     

      2).正则表达式,使用pattern和Matcher。pattern是一个编译好的正则表达式,Matcher是一个正则表达式适配器,我们一般用Pattern来获取一个Mather对象,然后用Matcher来操作

    正则表达式对象。

        //统计子串在父串中出现的次数
        public void ThroughMatch(String pattern, String str){
           Pattern p =   Pattern.compile(pattern);//pattern是匹配模式
           Matcher matcher = p.matcher(str);
           int count = 0;
           while(matcher.find()){
               count++;
           }
           System.out.println(count);
        }
    ThroughMatch("f", "sfffde");
    运行结果:3

      3)split()函数,通过给定正则表达式来划分字符串

        public void split(String str,String regex){
             String[] list = str.split(regex);
             System.out.println(Arrays.toString(list));
        }
      split("df1gd","1");
    运行结果:[df, gd]

    (三)用栈来实现:

    5.json字符串解析包?

    jackson、fastjson

  • 相关阅读:
    快速提交一个项目到github或gitee上
    微信web开发问题记录
    解决 VUE项目过大nodejs内存溢出问题
    vue使用动态渲染v-model输入框无法输入内容
    webstorm 支持vue element-ui 语法高亮属性自动补全
    spring websocket报错:No matching message handler methods.
    Failed to start bean 'stompBrokerRelayMessageHandler'; nested exception is java.lang.NoClassDefFoundError: reactor/io/codec/Codec
    远程调用appium server
    appium 特殊操作
    mac下搭建appium
  • 原文地址:https://www.cnblogs.com/menbo/p/10447305.html
Copyright © 2011-2022 走看看