一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1893|回复: 19
收起左侧

Lyft电面和Onsite

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

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

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
第一轮电面我选择去Onsite,可以体验一下他们的办公环境,还是不错的Leetcode 269,让我写了拓扑排序的部分,dfs的部分就不写了. From 1point 3acres bbs

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>
. Waral 鍗氬鏈夋洿澶氭枃绔,
要求实现一个in memory LRU cache,然后输出一个文件,每一行对应于输入文件的每一行URL,包含:. 鍥磋鎴戜滑@1point 3 acres
(1)输入文件的URL地址
(2)这个URL是否在cache里,如果在cache里,输出IN CACHE,如果不在cache里,下载这张图片放到cache里,然后输出DOWNLOADED
(3)如果不在cache里,输出以byte表示的图片大小

例如:
<URL 1> DOWNLOADED 50000
<URL 2> DOWNLOADED 40000
<URL 1> IN CACHE
<URL 3> DOWNLOADED 30000
<URL 2> DOWNLOADED 40000
. From 1point 3acres bbs
程序写完之后会有两个人来评判,其中有一个人不看题只看代码,所以需要写注释。他们会给个U盘,里面好像有测试数据,但是我当时没听清楚所以做完了以后没测,自己测下来程序感觉并没有什么问题。。


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

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


实现一个Class,这个class有三个Function
void register(int signal, Callable cb);. visit 1point3acres.com for more.
void unregister(int signal, Callable cb);
void signal(int signal);

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里面会不会有问题囧。。下面的文字反白

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

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

鏉ユ簮涓浜.涓夊垎鍦拌鍧.
.1point3acres缃
.鏈枃鍘熷垱鑷1point3acres璁哄潧



补充内容 (2016-7-13 07:43):
第一题的输入文件的那个数字应该是5,表示有5行URL

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

评分

1

查看全部评分

donghaox 发表于 2016-7-13 07:49:18 | 显示全部楼层
谢谢楼主分享,想问申请lyft SW, 你有没有些cover letter, 给github的URL 呀?
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
补充内容 (2016-7-13 07:52):
突然发现lyft的面试好难呀,不知道是什么职位
回复 支持 反对

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-13 08:14:25 | 显示全部楼层
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吗?
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
不是。。工作5年了
回复 支持 反对

使用道具 举报

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

使用道具 举报

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):
. 1point3acres.com/bbs
1只要helper function返回找到几个node就可以  . Waral 鍗氬鏈夋洿澶氭枃绔,
. more info on 1point3acres.com
public TreeNode lowestCommonAncestor(TreeNode root,
      TreeNode one, TreeNode two) {. Waral 鍗氬鏈夋洿澶氭枃绔,
    TreeNode[] lca = new TreeNode[1];
    if (helper(root, one, two, lca) == 2) {
      return lca[0];
    }. From 1point 3acres bbs
    return null;
  }
  
  private int helper(TreeNode root, TreeNode one, TreeNode two, TreeNode[] lca) {
    if (root == null) {
      return 0;
    }.鏈枃鍘熷垱鑷1point3acres璁哄潧
    int left = helper(root.left, one, two, lca);
    int right = helper(root.right, one, two, lca);
    int found = 0;
    if (left == 1 && right == 1) {
      lca[0] = root;
    }
    if (root == one || root == two) {
      found ++;
      lca[0] = root;
    }.鏈枃鍘熷垱鑷1point3acres璁哄潧
    return found + left + right;.1point3acres缃
  }

同问3怎么答
回复 支持 反对

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-19 06:58:21 | 显示全部楼层
peter_sqliu 发表于 2016-7-18 03:39
1只要helper function返回找到几个node就可以  

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;
  2.         .1point3acres缃
  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;. 1point 3acres 璁哄潧
  8.         }

  9.         public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
  10.                 if (root == null || p == null || q == null) return null;. 1point 3acres 璁哄潧
  11.                 if (root == p || root == q) {
  12.                         if (root == p) visitedp = true;
  13.                         if (root == q) visitedq = true;
  14.                         return root;-google 1point3acres
  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;
  3.                 TreeNode left = lowestCommonAncestor(root.left, p, q);. Waral 鍗氬鏈夋洿澶氭枃绔,
  4.                 TreeNode right = lowestCommonAncestor(root.right, p, q);
  5.                 if (root == p || root == q) {
  6.                         if (root == p) visitedp = true;. From 1point 3acres bbs
  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就行了

我没自己看楼上的解法,不过你传数组应该没什么问题,只要知道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
哦哦,再问一下上机题目,面试官是叫Jenny吗?是在什么环境里写啊?一个小时写完后来跑几个input file测 ...

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

使用道具 举报

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

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

使用道具 举报

 楼主| jimmyzzxhlh 发表于 2016-7-20 05:29:53 | 显示全部楼层

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

使用道具 举报

小逻辑 发表于 2016-7-20 06:15:19 | 显示全部楼层
jimmyzzxhlh 发表于 2016-7-20 05:02
不是这个面试官,但是谁是面试官并不重要,因为面试官就拿了一张题目过来让我看了一下,然后让我提clarif ...

嗯嗯感谢回答,所以第一轮就会告诉你会有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. Waral 鍗氬鏈夋洿澶氭枃绔,
嗯嗯感谢回答,所以第一轮就会告诉你会有non-context的reveiwer来看你的代码所以要写好注释?我之前的想 ...

对,你可以自己带laptop过去,所以随便你在哪个ide里面写,我电面也是onsite的所以没有在coderpad里写过.1point3acres缃
另外还有一点是coding的过程中可以上网,所以可以查任何东西

首先定义一个WebImage的Class,以便返回Image的大小,我当时没找到很好的api做这件事情。。
  1. /**
  2. * Wrapper of the existing Image object to return the size of the image easily..鐣欏璁哄潧-涓浜-涓夊垎鍦
  3. *
  4. */
  5. public class WebImage {
  6.         Image image;. 1point 3acres 璁哄潧
  7.         long size;
  8. }
复制代码
然后定义LRU cache,用DoubleLinkedList和HashMap做
  1. /**
  2. * Class for a double linked list node in the image cache.. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  3. */
  4. public class DoubleLinkedListNode {. From 1point 3acres bbs
  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.         
    . from: 1point3acres.com/bbs
  12.     }
  13. }
复制代码
  1. /**
  2. * Class for a double linked list. . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  3. */
  4. public class DoubleLinkedList {
  5.     DoubleLinkedListNode head;
  6.     DoubleLinkedListNode tail;
  7.    
  8.     /**. visit 1point3acres.com for more.
  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;
  16.             node.prev = tail;
  17.             tail = node;. Waral 鍗氬鏈夋洿澶氭枃绔,
  18.         }
  19.     }
  20.     .1point3acres缃
  21.     /**
  22.      * Remove a node from the list. This operation is O(1).
  23.      * @param node The node to be removed.
  24.      */
  25.     public void remove(DoubleLinkedListNode node) {
  26.         if (node == null) return;-google 1point3acres
  27.         DoubleLinkedListNode prev = node.prev;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  28.         DoubleLinkedListNode next = node.next;.1point3acres缃
  29.         node.prev = node.next = null;
  30.         if (prev != null) prev.next = next;
  31.         else head = next;
  32.         if (next != null) next.prev = prev;
  33.         else tail = prev;
  34.     }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  35. }
复制代码
  1. /**
  2. * Cache class for the image.
  3. * The class uses a LRU eviction algorithm.
  4. */
  5. public class LRUCache {
  6.     DoubleLinkedList list;. more info on 1point3acres.com
  7.     HashMap<String, DoubleLinkedListNode> map;
  8.     long cacheSize;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  9.     long currentSize;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  10.     .鐣欏璁哄潧-涓浜-涓夊垎鍦
  11.     /**
  12.      * Constructor of the LRU cache.
  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.     }
  21.    
  22.     /**.鏈枃鍘熷垱鑷1point3acres璁哄潧
  23.      * Get the image object given an URL as the key..1point3acres缃
  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.      */.1point3acres缃
  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;
  33.     }
  34.    
  35.     /**
  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.
  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
  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) {.1point3acres缃
  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.      */
  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);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  70.     }  
复制代码
接下来定义一个ImageDownloader专门用来下载image. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

/**
* Static utility for downloading an image.
*/
public class ImageDownloader {
        /**
         * Download an image.
         * @param urlStr URL string of the image.. 鍥磋鎴戜滑@1point 3 acres
         * @return WebImage object.
         */
        public static WebImage downloadImage(String urlStr) {
                WebImage webImage = null;
                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 {.1point3acres缃
  2.        
  3.         /**
  4.          * Test cases for testing the LRU cache.. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  5.          * @param inputFileName Input file name.
  6.          * @param outputFileName Output file name.. visit 1point3acres.com for more.
  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)));. 鍥磋鎴戜滑@1point 3 acres
  13.                         long cacheSize = Long.valueOf(br.readLine());-google 1point3acres
  14.                         LRUCache cache = new LRUCache(cacheSize);
  15.                         int urlCount = Integer.valueOf(br.readLine());
  16.                         for (int i = 0; i < urlCount; i++) {
  17.                                 String url = br.readLine();
  18.                                 bw.write(url + " ");
  19.                                 WebImage image = cache.get(url);
  20.                                 if (image != null) {. 1point 3acres 璁哄潧
  21.                                         bw.write("IN_CACHE " + image.size);
  22.                                 }
  23.                                 else {
  24.                                         image = ImageDownloader.downloadImage(url);. 鍥磋鎴戜滑@1point 3 acres
  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.                 }
  34.                 catch (IOException e) {
  35.                         e.printStackTrace();. 鍥磋鎴戜滑@1point 3 acres
  36.                 }
  37.         }
  38.        
  39.         public static void main(String args[]) {
  40.                 String inputFileName = "lru-test-input.txt";
  41.                 String outputFileName = "lru-test-output.txt";. visit 1point3acres.com for more.
  42.                 TestCases test = new TestCases();
  43.                 test.testCache(inputFileName, outputFileName);
  44.         }
复制代码
以下是我自己测的输入文件,题目的纸上也有提供一个简单例子
  1. 580000
  2. 8
  3. http://i.imgur.com/xGmX4h3.jpg
  4. http://i.imgur.com/IUfsijF.jpg. from: 1point3acres.com/bbs
  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
  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
  3. https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg DOWNLOADED 136356. 1point 3acres 璁哄潧
  4. http://i.imgur.com/xGmX4h3.jpg IN_CACHE 93606
  5. http://imprensaloprada.com.br/wp-content/uploads/2016/05/gatinho.jpg DOWNLOADED 122791
  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也好啊(望天
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

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

custom counter

GMT+8, 2016-12-5 06:32

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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