谈谈使用过的几款咖啡机

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

H1B/绿卡遥遥无期
又不想回国
来东南亚最大的互联网集团工作?
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 2490|回复: 11
收起左侧

跪后捂胸口贡献一个Square电面。附照片

[复制链接] |试试Instant~ |关注本帖
我的人缘0
巫山云似盖 发表于 2015-11-13 08:05:17 | 显示全部楼层 |阅读模式
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】

2016(1-3月) 码农类General 硕士 全职@Square - 网上海投 - 技术电面  | Fail | fresh grad应届毕业生

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

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

x
Square 好像很少出重复的题。
历时一个小时。45分钟都是在写代码讨论代码,pair programming 。 来源一亩.三分地论坛.

如图这个平面蜂窝结构,每一个cell是正六边形,每个cell都有六个相邻的cells。
整个蜂窝的高和宽 (cell数)是可以任意输入的,注意相邻的列都是上下错开的。设计class + function, 给定高和宽,再给定一个数字,顺时针打印出与数字对应的cell相邻的六个cell里面的数字。比如图例,在高和宽input 为 3和6,输入index为4的情况,按顺序打印出3,7,8,5,2,1.  如果赶上边缘上的cell(没有6个相邻的cells),空缺的位置要打印“-1”.. 留学申请论坛-一亩三分地
数据结构自己设计,数据自己初始化,就连运行test那两行代码也要自己写。总之所有东西都是自己写。

这个题现场写的时候各种index很凌乱,容易出错。lz就是最后程序有个bug,运行结果不对,面试官说他大体懂我的意思,解法是对的,和我一起debug了一会儿没找出来bug。时间到了然后就开始Q&A了。(面试结束后lz又找了15分钟才把bug找出来了。。。) 题目做过一遍回头想就不算难了,就是需要细心和镇静,而且现场短时间内想清楚还要把代码写出来还要bug free,就得下功夫了。Square好像大部分时候看面经没用,看看感受一下难度就好了。

整体感觉这家的bar挺高。第一次做这种pair programming电面,被虐一下也好,后面才会百战不殆~~

Screen Shot 2015-11-12 at 6.26.04 PM.zip

221.13 KB, 下载次数: 131, 下载积分: 大米 -1 升

评分

参与人数 4大米 +103 收起 理由
pengzewen37 + 15 感谢分享!
hulahu + 3 感谢分享!
candy_shmily + 60
epochou + 25 Good luck!

查看全部评分


上一篇:facebook一轮
下一篇:purestorage 第一轮电面
我的人缘0
T-Beg 发表于 2015-11-19 13:38:03 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
Zan~~~~同意最后那句话
回复 支持 反对

使用道具 举报

我的人缘0
soulstephen 发表于 2015-12-11 11:53:50 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
谢谢楼主的分享~!想请问一下楼主,pair programming具体是一种什么的方式呢?
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| 巫山云似盖 发表于 2015-12-12 05:07:11 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
soulstephen 发表于 2015-12-11 11:53
谢谢楼主的分享~!想请问一下楼主,pair programming具体是一种什么的方式呢?

就是原帖里讲的那样。,你想问的方式是只什么?
回复 支持 反对

使用道具 举报

我的人缘0
soulstephen 发表于 2015-12-13 06:11:00 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
巫山云似盖 发表于 2015-12-12 05:07
就是原帖里讲的那样。,你想问的方式是只什么?

就是我和面试官一起做题?
回复 支持 反对

使用道具 举报

我的人缘0
MCwong 发表于 2015-12-16 15:23:32 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
lz这题能不能直接存成二维矩阵的形式,当column为奇数时对应一种顺序,偶数时对应另一种,然后打印出来。
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| 巫山云似盖 发表于 2015-12-16 23:50:30 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
MCwong 发表于 2015-12-16 15:23.留学论坛-一亩-三分地
lz这题能不能直接存成二维矩阵的形式,当column为奇数时对应一种顺序,偶数时对应另一种,然后打印出来。
. 围观我们@1point 3 acres
楼主当场是这么做的。矩阵外边加了一圈 “-1” 的cell,这样就不用考虑边界了。
回复 支持 反对

使用道具 举报

我的人缘0
sevensevens 发表于 2016-1-29 15:21:56 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
贴个图给有需要的人。。。
__     __     __      __   
/0 \__/6 \_/12\__/   \__
\__/3 \_/9 \__/15\__/  
/1  \_/7\__/13\__/   \__
\__/4 \_/10\__/16\__/  
/2 \__/8 \__/14\__/  \__
\__/5 \__/11\__/17\__/  
/   \_ /    \__/    \__/  \__. 1point3acres
  
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

我的人缘0
JamesJi 发表于 2016-2-2 04:03:35 | 显示全部楼层
  此人我要顶:
 
100% (1) 【我投】
  此人我要踩:
 
0% (0) 【我投】
刚刚写了一下,这题思路确实不难,然后就是写的时候一定要仔细头脑清晰,不然很容易犯小错误,楼主那个外层加一圈-1的处理感觉很厉害····
回复 支持 反对

使用道具 举报

我的人缘0
wangxinbo1123 发表于 2017-1-9 12:04:32 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
  1. #include <iostream>
  2. #include <vector>

  3. using namespace std;

  4. class CellularNetwork {
  5. public:
  6.     CellularNetwork(int height, int width): hei(height), wid(width) {
  7.         network = vector<vector<int> >(2+hei, vector<int>(2+wid, -1));
  8.         int id = 0;
  9.         for(int c = 1; c <= wid; c++) {
  10.             for(int r = 1; r <= hei; r++) {
  11.                 network[r][c] = id++;.本文原创自1point3acres论坛
  12.             }
  13.         }
  14.         odd = vector<pair<int,int>>({
  15.             {-1, 0}, {-1, 1}, {0, 1}, {1, 0}, {0, -1}, {-1, -1}. 留学申请论坛-一亩三分地
  16.         });. 牛人云集,一亩三分地
  17.         even = vector<pair<int,int>>({.留学论坛-一亩-三分地
  18.             {-1, 0}, {0, 1}, {1, 1}, {1, 0}, {1, -1}, {0, -1}
  19.         });
  20.     }
  21.    
  22.     vector<int> getNeighbor(int index) {
  23.         vector<int> result;
  24.         if(index < 0 || index >= hei * wid) return result;
  25.         int c = 1 + (index / hei);
  26.         int r = 1 + (index % hei);
    . 围观我们@1point 3 acres
  27.         vector<pair<int,int>>& dir = c%2 == 1 ? odd : even;
  28.         for(auto& p: dir) {
  29.             int newr = r + p.first, newc = c + p.second;. more info on 1point3acres
  30.             result.push_back(network[newr][newc]);. from: 1point3acres
  31.         }
  32.         return result;
  33.     }
  34.     .1point3acres网
  35. private:
  36.     int hei, wid;
  37.     vector<vector<int> > network;
  38.     vector<pair<int,int> > odd, even;. 围观我们@1point 3 acres
  39. };

  40. int main(int argc, const char * argv[]) {-google 1point3acres
  41.     CellularNetwork sol(3, 6);
  42.     vector<vector<int> > results;
  43.     results.push_back(sol.getNeighbor(4));
  44.     results.push_back(sol.getNeighbor(7));
  45.     results.push_back(sol.getNeighbor(15));
  46.     results.push_back(sol.getNeighbor(8));
  47.     for(auto& vec: results) {
    .本文原创自1point3acres论坛
  48.         for(int e: vec) cout << e << "  ";
  49.         cout << endl;
  50.     }.本文原创自1point3acres论坛
  51.     .1point3acres网
  52.     return 0;
  53. }
复制代码
回复 支持 反对

使用道具 举报

我的人缘0
johnnywsd 发表于 2017-1-25 15:18:23 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
  1. # -*- coding: utf-8 -*-
  2. -google 1point3acres

  3. class Cells:
  4.     def __init__(self, height, width):
  5.         self.height = height. 1point3acres
  6.         self.width = width
  7.         self.max_idx = height * width - 1
    . more info on 1point3acres

  8.     def get_neighbours(self, idx):
  9.         col, row = self._idx_cord(idx). 1point3acres
  10.         up = (col, row - 1)
  11.         right_1 = (col + 1, row)
  12.         left_1 = (col - 1, row)
  13.         if col % 2 == 0:
  14.             right_2 = (col + 1, row - 1)
  15.             left_2 = (col - 1, row - 1).本文原创自1point3acres论坛
  16.         else:
  17.             right_2 = (col + 1, row + 1)
  18.             left_2 = (col - 1, row + 1)
  19.         down = (col, row + 1)
  20.         lefts = sorted([left_1, left_2], key=lambda x: -x[1])
  21.         rights = sorted([right_1, right_2], key=lambda x: x[1])
  22.         res = [self._cord_idx(*cord) for cord in [up] + rights + [down] + lefts]. 围观我们@1point 3 acres
  23.         return res

  24.     def _idx_cord(self, idx):-google 1point3acres
  25.         if idx > self.max_idx or idx < 0:
  26.             raise Exception. visit 1point3acres for more.
  27.         else:
  28.             col = idx // self.height
  29.             row = idx % self.height
  30.         return (col, row)

  31.     def _cord_idx(self, col, row):
  32.         if not (0 <= col < self.width and 0 <= row < self.height):
  33.             return -1. visit 1point3acres for more.
  34.         res = self.height * col + row
  35.         if res > self.max_idx:
  36.             return -1
  37.         return res.本文原创自1point3acres论坛

  38. . 牛人云集,一亩三分地
复制代码
. 1point 3acres 论坛

  1. import unittest
  2. from solution import Cells

  3. . 一亩-三分-地,独家发布
  4. class Tests(unittest.TestCase):.本文原创自1point3acres论坛
  5. . from: 1point3acres
  6.     def test_1(self):
  7.         height = 3. 围观我们@1point 3 acres
  8.         width = 4-google 1point3acres
  9.         index = 4
  10.         cells = Cells(height, width)
  11.         res = cells.get_neighbours(index)
  12.         print res. more info on 1point3acres

  13.     def test_2(self):
  14.         height = 3
  15.         width = 4.留学论坛-一亩-三分地
  16.         index = 3
  17.         cells = Cells(height, width)
  18.         res = cells.get_neighbours(index)
  19.         print res. more info on 1point3acres

  20.     def test_3(self):
  21.         height = 3
  22.         width = 4
  23.         index = 8 来源一亩.三分地论坛.
  24.         cells = Cells(height, width) 来源一亩.三分地论坛.
  25.         res = cells.get_neighbours(index)
  26.         print res

  27. if __name__ == '__main__':
  28.     unittest.main(verbosity=2)
复制代码
回复 支持 反对

使用道具 举报

我的人缘0
changchang9346 发表于 2017-2-21 08:12:00 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
public class Solution {. more info on 1point3acres
    private int row, col;
    private int n;
    private int[] cell;
    final static int[][] odd = new int[][]{{-1, 0}, {-1, 1}, {0, 1}, {1, 0}, {0, -1}, {-1, -1}};
    final static int[][] even = new int[][]{{-1, 0}, {0, 1}, {1, 1}, {1, 0}, {1, -1}, {0, -1}};

    public Solution(int h, int w) {
        row = h;
        col = w;
        n = w * h;
        cell = new int[n];
        for (int i = 0; i < n; i++) {
            cell[i] = i;
        }
    }

    public List<Integer> getNeigobor(int idx) {
        int[] cord = getCord(idx);
        List<Integer> res = new ArrayList<>();
        if (cord == null) {
            return res;
        }
        int r = cord[0], c = cord[1];. Waral 博客有更多文章,
        int[][] dir = ((c + 1) % 2 == 1) ? odd: even;
        for (int[] d : dir) {
. more info on 1point3acres            int index = getIdx(r + d[0], c + d[1]);
            if (index >= 0) {
                res.add(cell[index]);. 一亩-三分-地,独家发布
            } else {
                res.add(-1);
            }. 牛人云集,一亩三分地
        }
        return res;.本文原创自1point3acres论坛
    }


    private int[] getCord(int idx) {
        if (idx >= n || idx < 0) {
            return null;
        }
        int r = idx % row;
        int c = idx / row;
        return new int[]{r, c};. 1point 3acres 论坛
    }

    private int getIdx(int r, int c) {.1point3acres网
        if (r < 0 || r >= row || c < 0 || c >= col) {
            return -1;
        }
        return c * row + r;
    }. From 1point 3acres bbs

    public static void main(String args[]) {
        Solution cell = new Solution(3, 6);
        System.out.println(cell.getNeigobor(4));
        System.out.println(cell.getNeigobor(13));
        System.out.println(cell.getNeigobor(6));
    }
}
回复 支持 反对

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-6-23 01:01

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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