10月28,K神开课讲数据科学,你来吗?


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
Babeltime游戏工作室招工程师、美术和策划
Tubi TV招安卓、前端和机器学习工程师
把贵司招聘信息放这里
查看: 363|回复: 11
收起左侧

Snap hangout面经

[复制链接] |试试Instant~ |关注本帖

2017(7-9月) 码农类 硕士 全职@Snapchat - 内推 - 技术电面 |Failfresh grad应届毕业生

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

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

x
这周一面的google hangout,然后周五通知拒。上来先问why snap, most challenging part in internship,然后做题, LC 而溜,八零,一久一,其中最后一个题问了好几种方法,想办法减少循环的次数。都是原题所以做的还算顺利,不过当中compile error了两次(要求写完整Java class,能run),不知道是不是这个使interviewer不爽了。。。其他的,也许是communication不够好?还是答why snap没答好?也不给feedback。。。感觉这家bar还是很高的,祝大家好运吧

评分

1

查看全部评分

Angel_Beats 发表于 4 天前 | 显示全部楼层
摸摸LZ头,继续加油。
回复 支持 反对

使用道具 举报

 楼主| 怎么又笑了 发表于 4 天前 | 显示全部楼层

是的,不过其中一道是另一道的follow-up
回复 支持 反对

使用道具 举报

Timothy1119 发表于 4 天前 | 显示全部楼层
谢谢分享!能问一下第三题有什么减少循环的方法吗?
回复 支持 反对

使用道具 举报

 楼主| 怎么又笑了 发表于 3 天前 | 显示全部楼层
Timothy1119 发表于 2017-9-16 11:04
谢谢分享!能问一下第三题有什么减少循环的方法吗?

我提出了一种方法是说把一个32位的int分成4部分(4 bytes),然后这样每个部分可以预先用个数组存下这2^8=256个数对应的number of 1 bits的数量,这样顶多算4次。他也没说这个是不是他想要的,就跟我讨论说即使这样是不是也有可能很慢,比如内存非常有限而你老要访问这个256大小的数组可能会导致内存交换,也会很慢。。。也是醉了。。。
回复 支持 反对

使用道具 举报

linlin1990 发表于 前天 03:33 | 显示全部楼层
这是base在哪里的呀
回复 支持 反对

使用道具 举报

linlin1990 发表于 前天 10:28 | 显示全部楼层
怎么又笑了 发表于 2017-9-17 01:01. more info on 1point3acres.com
我提出了一种方法是说把一个32位的int分成4部分(4 bytes),然后这样每个部分可以预先用个数组存下这2^8=2 ...
.1point3acres缃
这道题leetcode有解答 可能那个方法是他想要的
回复 支持 反对

使用道具 举报

musteryu 发表于 前天 11:59 | 显示全部楼层
这应该用binary index tree的想法去做:
  1. public class Solution {
  2.     // you need to treat n as an unsigned value
  3.     public int hammingWeight(int n) {
  4.         int cnts = 0;
  5.         while (n != 0) {
  6.             cnts++;-google 1point3acres
  7.             n -= (n & (-n));
  8.         }
  9.         return cnts;
  10.     }
  11. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 怎么又笑了 发表于 半小时前 | 显示全部楼层
linlin1990 发表于 2017-9-18 10:28
这道题leetcode有解答 可能那个方法是他想要的

哦我说了用n&(n-1)的方法,他接着问还怎么能减少循环数。。。
回复 支持 反对

使用道具 举报

 楼主| 怎么又笑了 发表于 半小时前 | 显示全部楼层
musteryu 发表于 2017-9-18 11:59
这应该用binary index tree的想法去做:

我说了这个方法:while(n) {cnt++; n = n&(n-1)}, 然后他继续问怎么加快。。。
回复 支持 反对

使用道具 举报

linlin1990 发表于 26 分钟前 | 显示全部楼层
怎么又笑了 发表于 2017-9-20 02:30
我说了这个方法:while(n) {cnt++; n = n&(n-1)}, 然后他继续问怎么加快。。。

那答案是什么呢?想不到怎么继续快了。。。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-9-20 03:15

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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