由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - vm onsite 面经
相关主题
报点面经请教一个写程序的问题
亚麻公司 校园面经以前见过的一道初中(或小学)数学题, 没有想出来...
Amazon 面经工作refer Staff Software Engineer
A家和F家的面经发个L家面经,攒rp
报个A家的面经BST和有序双向链表的相互转换?
回报本版, Amazon on-site 面经ms面试题
小公司onsite面经(求bless)哪个高手能指出我程序的问题 (20几行的代码)
Math Interview Question HelpBST to double linked list的code
相关话题的讨论汇总
话题: hash话题: thread话题: safe话题: cycular话题: bst
进入JobHunting版参与讨论
1 (共1页)
y***e
发帖数: 32
1
最近有裁员传闻的。
1.把一个BST转化成cycular sorted doubly linked list
给定一个target,如何在BST中要到所有pair,之和等于target
2.实现一个固定size的queue, 底层要用cycular array。
如何变成thread-safe
3.实现一个hash table,支持add, get, change
如何变成thread-safe
4.给定一个integer,判断是否是一个平方数(例如1,4,9,16,...)
h*******e
发帖数: 1377
2
判断平方数有很多可以优化,比如 末位数字 0,1,4,5,6,9 再比如 4的倍数 8的倍数加
一。
之后估计可以 手算开平方法吧。
thread safe需要注意哪些问题,有没有大牛说一说阿。
c*******r
发帖数: 610
3
mark
e***a
发帖数: 1661
4
did u answer out all?
M*******a
发帖数: 1633
5
估计就是问的是二分法找sqrt
好点么牛顿法

【在 h*******e 的大作中提到】
: 判断平方数有很多可以优化,比如 末位数字 0,1,4,5,6,9 再比如 4的倍数 8的倍数加
: 一。
: 之后估计可以 手算开平方法吧。
: thread safe需要注意哪些问题,有没有大牛说一说阿。

r*******k
发帖数: 1423
6
因式分解也行
然后所有的质因子的指数都得是偶数就行

【在 M*******a 的大作中提到】
: 估计就是问的是二分法找sqrt
: 好点么牛顿法

r*******k
发帖数: 1423
7
第一个,转化完了,正好是排了序的双向链表
标准2sum的解法
转化最简单的方法,中序遍历,存到一个list里
然后遍历这个list,改left和right指针

【在 y***e 的大作中提到】
: 最近有裁员传闻的。
: 1.把一个BST转化成cycular sorted doubly linked list
: 给定一个target,如何在BST中要到所有pair,之和等于target
: 2.实现一个固定size的queue, 底层要用cycular array。
: 如何变成thread-safe
: 3.实现一个hash table,支持add, get, change
: 如何变成thread-safe
: 4.给定一个integer,判断是否是一个平方数(例如1,4,9,16,...)

m******e
发帖数: 82
8
第三题是不是这样
方法一,对hash table的add/get/change操作都加锁,且是同一把锁,可以保证thread
-safe,但是效率低下。
方法二,对每一个slot各加一把锁,效率高,缺点是锁的数量要随
着slot扩展而增加,不太现实。
方法三,参照java的ConcurrentHashMap,将hash table划分为若干个segment,比如32
,每个segment拥有一把锁和一个非thread-safe的hash table。任何key先进行一次
hash,选择对应的segment,如果两个key hash到同一个segment就争抢同一把锁,否则
它们之间没有影响。抢到锁之后就可以对非thread-safe的hash table进性具体操作。
这个方法相当于最多允许32个线程同时对hash table访问。
Z**********4
发帖数: 528
9
感觉方法三很靠谱。

thread
32

【在 m******e 的大作中提到】
: 第三题是不是这样
: 方法一,对hash table的add/get/change操作都加锁,且是同一把锁,可以保证thread
: -safe,但是效率低下。
: 方法二,对每一个slot各加一把锁,效率高,缺点是锁的数量要随
: 着slot扩展而增加,不太现实。
: 方法三,参照java的ConcurrentHashMap,将hash table划分为若干个segment,比如32
: ,每个segment拥有一把锁和一个非thread-safe的hash table。任何key先进行一次
: hash,选择对应的segment,如果两个key hash到同一个segment就争抢同一把锁,否则
: 它们之间没有影响。抢到锁之后就可以对非thread-safe的hash table进性具体操作。
: 这个方法相当于最多允许32个线程同时对hash table访问。

g***s
发帖数: 3811
10
因式分解复杂度太高。
这题估计想考的是用分治法来求大数的开方。

【在 r*******k 的大作中提到】
: 因式分解也行
: 然后所有的质因子的指数都得是偶数就行

1 (共1页)
进入JobHunting版参与讨论
相关主题
BST to double linked list的code报个A家的面经
google phone interview回报本版, Amazon on-site 面经
为什么我做了快1000道题了,还是不行呢?!小公司onsite面经(求bless)
Microsoft's interview questionsMath Interview Question Help
报点面经请教一个写程序的问题
亚麻公司 校园面经以前见过的一道初中(或小学)数学题, 没有想出来...
Amazon 面经工作refer Staff Software Engineer
A家和F家的面经发个L家面经,攒rp
相关话题的讨论汇总
话题: hash话题: thread话题: safe话题: cycular话题: bst