May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 3724|回复: 20
收起左侧

Lyft电面和Onsite

[复制链接] |试试Instant~ |关注本帖
jimmyzzxhlh 发表于 2016-7-13 07:33:29 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Lyft - 内推 - 技术电面 Onsite |Fail其他

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
第一轮电面我选择去Onsite,可以体验一下他们的办公环境,还是不错的Leetcode 269,让我写了拓扑排序的部分,dfs的部分就不写了 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

Onsite:
1. 第一轮是1个小时的上机coding,可以自己带laptop,也可以用他们的
题目是LRU的增强版,给定一个输入文件,输入文件第一行是cache size,第二行是一个数N,接下来N行每一行有一个URL,每一个URL是一张图片的链接,URL可以有重复,例如:
100000
3
<URL 1>
<URL 2>
<URL 1>
<URL 3>
<URL 2>

要求实现一个in memory LRU cache,然后输出一个文件,每一行对应于输入文件的每一行URL,包含:. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
(1)输入文件的URL地址
(2)这个URL是否在cache里,如果在cache里,输出IN CACHE,如果不在cache里,下载这张图片放到cache里,然后输出DOWNLOADED
(3)如果不在cache里,输出以byte表示的图片大小

例如:. 1point 3acres 璁哄潧
<URL 1> DOWNLOADED 50000 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
<URL 2> DOWNLOADED 40000
<URL 1> IN CACHE
<URL 3> DOWNLOADED 30000
<URL 2> DOWNLOADED 40000.鐣欏璁哄潧-涓浜-涓夊垎鍦

程序写完之后会有两个人来评判,其中有一个人不看题只看代码,所以需要写注释。他们会给个U盘,里面好像有测试数据,但是我当时没听清楚所以做完了以后没测,自己测下来程序感觉并没有什么问题。。

. 鍥磋鎴戜滑@1point 3 acres
2. Lowest common ancestor in binary tree,问了几个follow up
(1)如果输入的node不在树里面怎么办
(2)如果两个node是相同的怎么办
(2)如果有两个Thread同时访问这棵树会不会有问题?可不可以有办法不用synchronized?

3. 这一轮比较惨,出的题不太常规,我本来以为要出system design的。。
有一个Callable interface,比如
public interface Callable {
    public void call();
}


实现一个Class,这个class有三个Function
void register(int signal, Callable cb);
void unregister(int signal, Callable cb);. 鍥磋鎴戜滑@1point 3 acres
void signal(int signal);. more info on 1point3acres.com

register()就是把这个callable注册在一个signal之下,一个Signal可以对应多个Callable,unregister()就是移除这个callable,signal()就是让所有注册在这个signal之下的callable全部去执行call()
题目本身不难,用HashMap就行,关键是follow-up,面试官说你写的程序如果作为一个API library,有好几个fundamental issues,让我找找看,我提了一个thread safe,比如一个thread在signal的时候另一个thread在unregister,他说对,但是我当时没想出别的问题,我以为他要问我hashmap里面会不会有问题囧。。下面的文字反白. From 1point 3acres bbs

首先一个重要的问题是如果有些call()去执行了register/unregister/signal怎么办?这样会导致死循环
我提了解决办法说是把在signal里面加一个isSignaling的flag,如果已经在Signal了就不允许register/unregister/signal
还有一个问题是如果callable在Call的时候抛出异常怎么办,这个我没想的很明白。。

今天接到电话说挂了。。HR说主要是第一轮做的half half,也没说什么其他feedback,不知道哪里出了错。。第一轮要在一个小时内做完还要写很多注释,还是蛮有挑战性的。。. From 1point 3acres bbs
再接再厉。。求米





. from: 1point3acres.com/bbs

补充内容 (2016-7-13 07:43):
第一题的输入文件的那个数字应该是5,表示有5行URL. Waral 鍗氬鏈夋洿澶氭枃绔,

补充内容 (2016-7-24 07:49):. 1point3acres.com/bbs
最后一轮现在想想其实就是考察Observer pattern,这个pattern存在的问题就是面试官想要的答案

评分

1

查看全部评分

donghaox 发表于 2016-7-13 07:49:18 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
谢谢楼主分享,想问申请lyft SW, 你有没有些cover letter, 给github的URL 呀?

补充内容 (2016-7-13 07:52):
突然发现lyft的面试好难呀,不知道是什么职位
回复 支持 反对

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-13 08:14:25 | 显示全部楼层
关注一亩三分地微博:
Warald
donghaox 发表于 2016-7-13 07:49
谢谢楼主分享,想问申请lyft SW, 你有没有些cover letter, 给github的URL 呀?

补充内容 (2016-7-13 07: ...

我是找人内推的,所以并没有写Cover letter或者github的url
回复 支持 反对

使用道具 举报

singledog2016 发表于 2016-7-13 09:02:50 | 显示全部楼层
pat pat 楼主new grad吗?
回复 支持 反对

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-13 09:25:21 | 显示全部楼层
singledog2016 发表于 2016-7-13 09:02
pat pat 楼主new grad吗?
. From 1point 3acres bbs
不是。。工作5年了
回复 支持 反对

使用道具 举报

小逻辑 发表于 2016-7-18 01:27:17 | 显示全部楼层
LZ是在seattle的office面的onsite吗?什么职位呀. From 1point 3acres bbs
回复 支持 反对

使用道具 举报

bcc 发表于 2016-7-18 01:56:38 | 显示全部楼层
真的好难哦。。第二题的1. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

补充内容 (2016-7-18 01:57):
第二题的1,3问怎么回答啊?1要go through tree check两个点么
回复 支持 反对

使用道具 举报

peter_sqliu 发表于 2016-7-18 03:39:12 | 显示全部楼层
bcc 发表于 2016-7-18 01:56
真的好难哦。。第二题的1

补充内容 (2016-7-18 01:57):

1只要helper function返回找到几个node就可以  . 鍥磋鎴戜滑@1point 3 acres

public TreeNode lowestCommonAncestor(TreeNode root,
      TreeNode one, TreeNode two) {
    TreeNode[] lca = new TreeNode[1];
    if (helper(root, one, two, lca) == 2) {
      return lca[0];
    }
    return null;
  }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  
  private int helper(TreeNode root, TreeNode one, TreeNode two, TreeNode[] lca) {. 1point 3acres 璁哄潧
    if (root == null) {
      return 0;
    }
    int left = helper(root.left, one, two, lca);
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴    int right = helper(root.right, one, two, lca);. 鍥磋鎴戜滑@1point 3 acres
    int found = 0;
    if (left == 1 && right == 1) {
      lca[0] = root;
    }. from: 1point3acres.com/bbs
    if (root == one || root == two) {
      found ++;
      lca[0] = root;
    }
    return found + left + right;
  }. From 1point 3acres bbs
-google 1point3acres
同问3怎么答
回复 支持 反对

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-19 06:58:21 | 显示全部楼层
peter_sqliu 发表于 2016-7-18 03:39
1只要helper function返回找到几个node就可以  
. 1point 3acres 璁哄潧
public TreeNode lowestCommonAncestor(TreeNode roo ...

首先我写了个基本的function
  1.         public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
  2.                 if (root == null || p == null || q == null) return null;
  3.                 if (root == p || root == q) return root;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  4.                 TreeNode left = lowestCommonAncestor(root.left, p, q);
  5.                 TreeNode right = lowestCommonAncestor(root.right, p, q);
  6.                 if (left == null) return right;
  7.                 if (right == null) return left;
  8.                 return root;
  9.         }
复制代码
然后他问如果p或者q不在Tree里面怎么办,我说可以有一个Wrapper function,设两个boolean来记录p和q是否被访问过,比如:
  1.         boolean visitedp, visitedq;
    -google 1point3acres
  2.         . 鍥磋鎴戜滑@1point 3 acres
  3.         public TreeNode lowestCommonAncestorWrapper(TreeNode root, TreeNode p, TreeNode q) {
  4.                 visitedp = visitedq = false;
  5.                 TreeNode node = lowestCommonAncestor(root, p, q);
  6.                 if (!visitedp || !visitedq) return null;
  7.                 return node;
  8.         }

  9.         public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
  10.                 if (root == null || p == null || q == null) return null;
  11.                 if (root == p || root == q) {
  12.                         if (root == p) visitedp = true;
    . 鍥磋鎴戜滑@1point 3 acres
  13.                         if (root == q) visitedq = true;. Waral 鍗氬鏈夋洿澶氭枃绔,
  14.                         return root;
  15.                 }
  16.                 TreeNode left = lowestCommonAncestor(root.left, p, q);
  17.                 TreeNode right = lowestCommonAncestor(root.right, p, q);
  18.                 if (left == null) return right; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  19.                 if (right == null) return left;
  20.                 return root;
  21.         }

复制代码
但是这里有个问题,如果q在p的一个子树上(也就是lca应该是p本身),那么这会导致visitedp=true但是visitedq=false,因为q从来没有被访问过,所以需要先遍历左子树和右子树,然后再检查root是否和p或者q相等
  1.         public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
  2.                 if (root == null || p == null || q == null) return null;. 鍥磋鎴戜滑@1point 3 acres
  3.                 TreeNode left = lowestCommonAncestor(root.left, p, q);
  4.                 TreeNode right = lowestCommonAncestor(root.right, p, q);
  5.                 if (root == p || root == q) {
  6.                         if (root == p) visitedp = true;.1point3acres缃
  7.                         if (root == q) visitedq = true;
  8.                         return root;
  9.                 }
  10.                 if (left == null) return right;               
  11.                 if (right == null) return left;
  12.                 return root;
  13.         }
复制代码
接下来他问我visitedp和visitedq定义在哪里,我说定义在一个Class里当member variable,他就问如果multi thread怎么办,我说可以让function变成synchronized,他问有没有别的办法,我说可以把visitedp和visitedq放在一个数组里或者另外放在一个Class里,当做Function的一个argument让caller去new就行了
. From 1point 3acres bbs
我没自己看楼上的解法,不过你传数组应该没什么问题,只要知道multi thread的时候每个thread都要new这个数组就行

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-19 07:01:14 | 显示全部楼层
小逻辑 发表于 2016-7-18 01:27 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
LZ是在seattle的office面的onsite吗?什么职位呀

是的,就是software engineer
回复 支持 反对

使用道具 举报

小逻辑 发表于 2016-7-20 01:52:41 | 显示全部楼层
jimmyzzxhlh 发表于 2016-7-19 07:01
是的,就是software engineer

哦哦,再问一下上机题目,面试官是叫Jenny吗?是在什么环境里写啊?一个小时写完后来跑几个input file测试吗?问题有点多,,因为也要onsite了感觉很方。。
回复 支持 反对

使用道具 举报

songhe1337 发表于 2016-7-20 03:19:37 | 显示全部楼层
这个事有点困难呀,,
回复 支持 反对

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-20 05:02:08 | 显示全部楼层
小逻辑 发表于 2016-7-20 01:52. Waral 鍗氬鏈夋洿澶氭枃绔,
哦哦,再问一下上机题目,面试官是叫Jenny吗?是在什么环境里写啊?一个小时写完后来跑几个input file测 ...

不是这个面试官,但是谁是面试官并不重要,因为面试官就拿了一张题目过来让我看了一下,然后让我提clarifying question,写完以后跟他讲一下怎么写的然后他把程序拷走就结束了。重要的一个是code得能跑,另一个是code得能让另外一个没有任何context的reviewer看得懂
环境的话完全无所谓,随便哪种语言都可以,我当时用Java写,如果需要的话我也可以把code贴出来,不过他们用python和Go比较多,跑多少input file测试我就不清楚了.鐣欏璁哄潧-涓浜-涓夊垎鍦
回复 支持 反对

使用道具 举报

DailyGrind 发表于 2016-7-20 05:15:12 | 显示全部楼层
jimmyzzxhlh 发表于 2016-7-19 07:01
是的,就是software engineer

没特定方向?
回复 支持 反对

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-20 05:29:53 | 显示全部楼层
DailyGrind 发表于 2016-7-20 05:15. 1point3acres.com/bbs
没特定方向?

没有,Seattle那里有Infrastructure, MarketPlace, Driver Growth,面的人也基本是从这几个组里抽一个人出来,如果过的话大概根据match的情况挑一个
回复 支持 反对

使用道具 举报

小逻辑 发表于 2016-7-20 06:15:19 | 显示全部楼层
jimmyzzxhlh 发表于 2016-7-20 05:02
不是这个面试官,但是谁是面试官并不重要,因为面试官就拿了一张题目过来让我看了一下,然后让我提clarif ...
. From 1point 3acres bbs
嗯嗯感谢回答,所以第一轮就会告诉你会有non-context的reveiwer来看你的代码所以要写好注释?我之前的想问是在某IDE里写还是像电面那样在coderpad.io里面写呀?方便贴code嘛?
回复 支持 反对

使用道具 举报

小逻辑 发表于 2016-7-20 06:17:25 | 显示全部楼层
jimmyzzxhlh 发表于 2016-7-20 05:02. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
不是这个面试官,但是谁是面试官并不重要,因为面试官就拿了一张题目过来让我看了一下,然后让我提clarif ...

嗯嗯感谢回答,所以第一轮就会告诉你会有non-context的reveiwer来看你的代码所以要写好注释?我之前的想问是在某IDE里写还是像电面那样在coderpad.io里面写呀?方便贴code嘛?
回复 支持 反对

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-20 06:25:15 | 显示全部楼层
小逻辑 发表于 2016-7-20 06:15
嗯嗯感谢回答,所以第一轮就会告诉你会有non-context的reveiwer来看你的代码所以要写好注释?我之前的想 ...

对,你可以自己带laptop过去,所以随便你在哪个ide里面写,我电面也是onsite的所以没有在coderpad里写过. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
另外还有一点是coding的过程中可以上网,所以可以查任何东西

首先定义一个WebImage的Class,以便返回Image的大小,我当时没找到很好的api做这件事情。。
  1. /**
  2. * Wrapper of the existing Image object to return the size of the image easily.
  3. *
  4. */. Waral 鍗氬鏈夋洿澶氭枃绔,
  5. public class WebImage {-google 1point3acres
  6.         Image image;. visit 1point3acres.com for more.
  7.         long size;
  8. }
复制代码
然后定义LRU cache,用DoubleLinkedList和HashMap做
  1. /**
  2. * Class for a double linked list node in the image cache.
  3. */.鏈枃鍘熷垱鑷1point3acres璁哄潧
  4. public class DoubleLinkedListNode {
  5.     String key;
  6.     WebImage image;
  7.     DoubleLinkedListNode prev, next;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  8.     public DoubleLinkedListNode(String key, WebImage image) {
  9.         this.key = key;
  10.         this.image = image;
  11.         
  12.     }
  13. }
复制代码
  1. /**
  2. * Class for a double linked list. . from: 1point3acres.com/bbs
  3. */
  4. public class DoubleLinkedList {
  5.     DoubleLinkedListNode head;
  6.     DoubleLinkedListNode tail;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  7.    
  8.     /**
  9.      * Add a node to the tail of the list.
  10.      * @param node The node to be added..鐣欏璁哄潧-涓浜-涓夊垎鍦
  11.      */
  12.     public void addToTail(DoubleLinkedListNode node) {
  13.         if (tail == null) head = tail = node;
  14.         else {
  15.             tail.next = node;. Waral 鍗氬鏈夋洿澶氭枃绔,
  16.             node.prev = tail;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  17.             tail = node;-google 1point3acres
  18.         }
  19.     }
  20.    
  21.     /**
  22.      * Remove a node from the list. This operation is O(1).
  23.      * @param node The node to be removed.
  24.      */. Waral 鍗氬鏈夋洿澶氭枃绔,
  25.     public void remove(DoubleLinkedListNode node) {
    . 1point 3acres 璁哄潧
  26.         if (node == null) return;
  27.         DoubleLinkedListNode prev = node.prev;
  28.         DoubleLinkedListNode next = node.next;
  29.         node.prev = node.next = null;
  30.         if (prev != null) prev.next = next;. 1point3acres.com/bbs
  31.         else head = next;
  32.         if (next != null) next.prev = prev;.1point3acres缃
  33.         else tail = prev;
  34.     }. 1point3acres.com/bbs
  35. }. 1point 3acres 璁哄潧
复制代码
  1. /**
  2. * Cache class for the image.
  3. * The class uses a LRU eviction algorithm.
  4. */. 1point3acres.com/bbs
  5. public class LRUCache {
  6.     DoubleLinkedList list;
  7.     HashMap<String, DoubleLinkedListNode> map;
    . more info on 1point3acres.com
  8.     long cacheSize; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  9.     long currentSize;
  10.    
  11.     /**
  12.      * Constructor of the LRU cache.. From 1point 3acres bbs
  13.      * @param cacheSize Maximum size of the cache.
  14.      */
  15.     public LRUCache(long cacheSize) {
  16.         this.cacheSize = cacheSize;
  17.         currentSize = 0;
  18.         map = new HashMap<String, DoubleLinkedListNode>();
  19.         list = new DoubleLinkedList();
  20.     }. From 1point 3acres bbs
  21.    
  22.     /**
  23.      * Get the image object given an URL as the key.
  24.      * @param key The URL of the image.. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  25.      * [url=home.php?mod=space&uid=160137]@return[/url] Return null if the URL is not in the cache. Otherwise return the image object.
  26.      */
  27.     public WebImage get(String key) {
  28.         if (!map.containsKey(key)) return null;
  29.         DoubleLinkedListNode node = map.get(key);
  30.         list.remove(node);
  31.         list.addToTail(node);
  32.         return node.image;. from: 1point3acres.com/bbs
  33.     }
  34.    
  35.     /**. 鍥磋鎴戜滑@1point 3 acres
  36.      * Set the image object into the cache.
  37.      * If the cache cannot hold the image, it will use LRU eviction policy to evict the existing images.. From 1point 3acres bbs
  38.      * If the image size is greater than the maximum cache size then return false and output an error message.
  39.      * @param key URL as the key
  40.      * @param image The image object to be stored. Waral 鍗氬鏈夋洿澶氭枃绔,
  41.      * @return True if the image can be cached, False if not.
  42.      */
  43.     public boolean set(String key, WebImage image) {
  44.         if (map.containsKey(key)) {
  45.             remove(key);
  46.         }
  47.         if (image.size > cacheSize) {
  48.                 System.err.println("Image size is too large to be stored in cache. The size is: " + image.size);
  49.                 return false;
  50.         }
  51.         while (currentSize + image.size > cacheSize) {
  52.                 remove(list.head.key);                      
  53.         }
  54.         DoubleLinkedListNode node = new DoubleLinkedListNode(key, image);
  55.         map.put(key, node);
  56.         list.addToTail(node);
  57.         currentSize += image.size;
  58.         return true;
  59.     }
  60.    
  61.     /**
  62.      * Remove an image from the cache.
  63.      * @param key URL as the key.
  64.      */. Waral 鍗氬鏈夋洿澶氭枃绔,
  65.     private void remove(String key) {
  66.             DoubleLinkedListNode curNode = map.get(key);
  67.             currentSize -= curNode.image.size;
  68.             list.remove(curNode);
  69.         map.remove(key);. 1point3acres.com/bbs
  70.     }  
复制代码
接下来定义一个ImageDownloader专门用来下载image

/**
* Static utility for downloading an image. . Waral 鍗氬鏈夋洿澶氭枃绔,
*/
public class ImageDownloader {
        /**
         * Download an image.
         * @param urlStr URL string of the image.
         * @return WebImage object.
         */. visit 1point3acres.com for more.
        public static WebImage downloadImage(String urlStr) {
                WebImage webImage = null;. 1point 3acres 璁哄潧
                try {                       
                        URL url = new URL(urlStr);
                        webImage = new WebImage();
                        webImage.size = url.openConnection().getContentLength();
                        webImage.image = ImageIO.read(url);                    
                } catch (IOException e) {
                        System.err.println("Download image " + urlStr + " failed");
                }
                return webImage;
        }
}

最后写一个有main function的class
  1. public class TestCases {
  2.        
  3.         /**
  4.          * Test cases for testing the LRU cache.
  5.          * @param inputFileName Input file name.
  6.          * @param outputFileName Output file name.
  7.          */
  8.         public void testCache(String inputFileName, String outputFileName) {
  9.                 try {
  10.                        
  11.                         BufferedReader br = new BufferedReader(new FileReader(new File(inputFileName)));
  12.                         BufferedWriter bw = new BufferedWriter(new FileWriter(new File(outputFileName)));
  13.                         long cacheSize = Long.valueOf(br.readLine());
  14.                         LRUCache cache = new LRUCache(cacheSize);
  15.                         int urlCount = Integer.valueOf(br.readLine());. more info on 1point3acres.com
  16.                         for (int i = 0; i < urlCount; i++) {
  17.                                 String url = br.readLine();
  18.                                 bw.write(url + " ");. from: 1point3acres.com/bbs
  19.                                 WebImage image = cache.get(url);
  20.                                 if (image != null) {
  21.                                         bw.write("IN_CACHE " + image.size);
  22.                                 }
  23.                                 else {
  24.                                         image = ImageDownloader.downloadImage(url);. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  25.                                         if (cache.set(url, image)) {
  26.                                                 bw.write("DOWNLOADED " + image.size);
  27.                                         }
  28.                                 }
  29.                                 bw.newLine();
  30.                         }
  31.                         br.close();
  32.                         bw.close();
  33.                 }. 1point3acres.com/bbs
  34.                 catch (IOException e) {
  35.                         e.printStackTrace();
  36.                 }
  37.         }
  38.        
  39.         public static void main(String args[]) {. From 1point 3acres bbs
  40.                 String inputFileName = "lru-test-input.txt";
  41.                 String outputFileName = "lru-test-output.txt";
  42.                 TestCases test = new TestCases();
  43.                 test.testCache(inputFileName, outputFileName);
    . 1point 3acres 璁哄潧
  44.         }
复制代码
以下是我自己测的输入文件,题目的纸上也有提供一个简单例子
  1. 580000
  2. 8
  3. http://i.imgur.com/xGmX4h3.jpg. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  4. http://i.imgur.com/IUfsijF.jpg-google 1point3acres
  5. https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg
  6. http://i.imgur.com/xGmX4h3.jpg
  7. http://imprensaloprada.com.br/wp-content/uploads/2016/05/gatinho.jpg
  8. http://i.imgur.com/IUfsijF.jpg. From 1point 3acres bbs
  9. http://i.imgur.com/xGmX4h3.jpg
  10. https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg
复制代码
好像是这个输出,有兴趣的话帮我看看对不对
  1. http://i.imgur.com/xGmX4h3.jpg DOWNLOADED 93606
  2. http://i.imgur.com/IUfsijF.jpg DOWNLOADED 317908. more info on 1point3acres.com
  3. https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg DOWNLOADED 136356. Waral 鍗氬鏈夋洿澶氭枃绔,
  4. http://i.imgur.com/xGmX4h3.jpg IN_CACHE 93606
  5. http://imprensaloprada.com.br/wp-content/uploads/2016/05/gatinho.jpg DOWNLOADED 122791. from: 1point3acres.com/bbs
  6. http://i.imgur.com/IUfsijF.jpg DOWNLOADED 317908
  7. http://i.imgur.com/xGmX4h3.jpg IN_CACHE 93606
  8. https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg DOWNLOADED 136356
复制代码
回复 支持 反对

使用道具 举报

小逻辑 发表于 2016-7-20 07:01:28 | 显示全部楼层
感谢楼主。一个小时码完这么些简直太厉害。。望天。。注释写的也很美啊。。这几个结果我觉得是对的啊。。Lyft是要上天么。。我决定明天去打瓶酱油就回家。。
回复 支持 反对

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-20 07:05:43 | 显示全部楼层
小逻辑 发表于 2016-7-20 07:01 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
感谢楼主。一个小时码完这么些简直太厉害。。望天。。注释写的也很美啊。。这几个结果我觉得是对的啊。。Ly ...

加油!所以我也不知道到底我哪里写的不好了,要是有些feedback也好啊(望天
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2017-5-26 04:51

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表