美文网首页iOS面试
跟谁学面试经历

跟谁学面试经历

作者: mengjz | 来源:发表于2019-04-23 17:24 被阅读0次

    最近参加A轮创业公司跟谁学的面试,比较惨痛,直接没见到面试官。
    上来手写两道算法题(很简单):
    1.整型逆序输出
    面试官限定条件:1.不用字符串;2.不确定数据长度 ;
    //整型逆序输出

    • (NSInteger)reverseInteger:(NSInteger)integer {
      NSMutableArray * array = [NSMutableArray arrayWithCapacity:0];
      NSInteger temp = integer;
      while (temp) {
      NSInteger value = temp%10;
      [array addObject:[NSNumber numberWithInteger:value]];
      temp = temp/10;
      }
      NSInteger resultValue = 0;
      for (NSInteger i = 0;i < array.count;i++) {
      resultValue += [array[i] integerValue] * [self getValue:array.count-i-1];
      }
      return resultValue;
      }
    • (NSInteger)getValue:(NSInteger)index {
      NSInteger reslut = 1;
      while (index) {
      reslut *= 10;
      index--;
      }
      return reslut;
      }
      2.字符串匹配算法
      这里给出了最简单直接算法,可以根据BM,KMP等算法优化步长,这里直接步长设定为1,考虑重复。
    • (NSMutableArray)compareArray:(NSMutableArray)arrayA withArray:(NSMutableArray*)arrayB {
      NSMutableArray * array = [NSMutableArray arrayWithCapacity:0];
      NSInteger j = 0; //相等次数
      for (NSInteger i = 0;i < arrayA.count - arrayB.count; i++) {
      j = 0;
      for (NSInteger k = 0;k < arrayB.count;k++) {
      if (arrayA[k+i] == arrayB[k]) {
      j++;
      }
      else {
      break;
      }
      }
      if (j == arrayB.count) {
      [array addObject:[NSNumber numberWithInteger:i]];
      }
      }
      return array;
      }
      总结:
      1.临场手写算法还是比较紧张(需要多练习);
      2.画图推演是写出算法的绝招;
      3.如果给我电脑写就好了;
      4.面试官是女的容易分心(轻敌);
      5.有思路,但写不出来;

    相关文章

      网友评论

        本文标题:跟谁学面试经历

        本文链接:https://www.haomeiwen.com/subject/xtkbgqtx.html