由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Google 电面面经
相关主题
L 电面谁给讲讲test-and-set怎么实现mutex?
找工总结(弱面经和offer)无名小公司 :: 软件设计工程师 :: 面经
qualcomm 新鲜电面面经Uber 面经
Bloomberg电面面经Bloomberg 电面
Amazon电面面经FB 上周2电面
fb + google 电面面经ooyala,apple,ebay面经
Cloudera 电面面经Bloomberg电面面经
zenefit 电面面经发个n个月前的面经 - ms bing 悲剧
相关话题的讨论汇总
话题: lock话题: unlock话题: return话题: reader话题: sss
进入JobHunting版参与讨论
1 (共1页)
l*********3
发帖数: 26
1
刚结束了Google电面,Software Engineer职位。
1. 要求存储gmail的日志,给定发信时间,发信人,收信人,要求设计数据库表,存储
日志,并给出制定访问的SQL语句。
2. 如何设计日期时间、发信人、收信人的数据存储方式,节省数据库空间?
3. 给定一段代码,改错,如下:
W * SSS :: getW ( int id ) const
{
Lock( lock_ );
iterator it = find ( id );
if ( it != end() ) {
return * it;
}
W * p = new W( id );
insert( p );
return p;
}
4. 如果同时有许多程序并发执行上述代码,而 find() 的hit percent=99.99%,如何
修改上面的代码改进效率?
大概就是这些,希望对大家有所帮助。求Bless。
j********x
发帖数: 2330
2
bless
最后一个怎么回答?
w*z
发帖数: 75
3
错误时需要 unlock?

【在 l*********3 的大作中提到】
: 刚结束了Google电面,Software Engineer职位。
: 1. 要求存储gmail的日志,给定发信时间,发信人,收信人,要求设计数据库表,存储
: 日志,并给出制定访问的SQL语句。
: 2. 如何设计日期时间、发信人、收信人的数据存储方式,节省数据库空间?
: 3. 给定一段代码,改错,如下:
: W * SSS :: getW ( int id ) const
: {
: Lock( lock_ );
: iterator it = find ( id );
: if ( it != end() ) {

x***y
发帖数: 633
4
1. It seems that receiver is not necessary, as the sender can not send two
emails at the same time.
2. B
3.4.
W * SSS :: getW ( int id )
{
iterator it = find ( id );
if ( it != end() ) {
return * it;
}
Lock( lock_ );
W * p = new W( id );
insert( p );
Unlock(lock_); //not always work, better write a holder class
//tha lock in the constructor and unlocks in the des
return p;
}
j*****u
发帖数: 1133
5
use a reader-writer lock instead of mutual exclusive lock so that readers do
n't block each other

【在 j********x 的大作中提到】
: bless
: 最后一个怎么回答?

i**9
发帖数: 351
6
这个电面是不是跟lz的 background有关系,有点不太常规
l*****a
发帖数: 559
7
群发?

【在 x***y 的大作中提到】
: 1. It seems that receiver is not necessary, as the sender can not send two
: emails at the same time.
: 2. B
: 3.4.
: W * SSS :: getW ( int id )
: {
: iterator it = find ( id );
: if ( it != end() ) {
: return * it;
: }

z****o
发帖数: 78
8
W * SSS :: getW ( int id )
{
Lock( lock_r );
if( reader == 0) Lock( lock_w)
reader++;
Unlock(lock_r );
iterator it = find ( id );
if ( it != end() ) {
W* p = *it;
Lock( lock_r );
reader--;
if( reader == 0 ) Unlock( lock_w);
Unlock( lock_r );
return p;
}
Lock( lock_w);
W * p = new W( id );
insert( p );
Unlock( lock_w);
return p;
}
J******e
发帖数: 888
9
bless
w*****e
发帖数: 385
10
bless

【在 l*********3 的大作中提到】
: 刚结束了Google电面,Software Engineer职位。
: 1. 要求存储gmail的日志,给定发信时间,发信人,收信人,要求设计数据库表,存储
: 日志,并给出制定访问的SQL语句。
: 2. 如何设计日期时间、发信人、收信人的数据存储方式,节省数据库空间?
: 3. 给定一段代码,改错,如下:
: W * SSS :: getW ( int id ) const
: {
: Lock( lock_ );
: iterator it = find ( id );
: if ( it != end() ) {

相关主题
fb + google 电面面经谁给讲讲test-and-set怎么实现mutex?
Cloudera 电面面经无名小公司 :: 软件设计工程师 :: 面经
zenefit 电面面经Uber 面经
进入JobHunting版参与讨论
j*******2
发帖数: 386
11
unlock写得太麻烦。直接goto 到一个__unlock label,然后在那个label 下面写一个
unlock就好了
还有一点就是 new (p)以后需要检查分配是否成功。

【在 z****o 的大作中提到】
: W * SSS :: getW ( int id )
: {
: Lock( lock_r );
: if( reader == 0) Lock( lock_w)
: reader++;
: Unlock(lock_r );
: iterator it = find ( id );
: if ( it != end() ) {
: W* p = *it;
: Lock( lock_r );

b*******s
发帖数: 5216
12
Lock(lock)会不会是自动包装的lock
比如Mutex m;
Class Lock
{
public:
Lock(Mutex &) { //here we lock the mutex }
~Lock() { //here we release the mutex}
private:
Mutex & m;
}
g*********s
发帖数: 1782
13
is the code in java?

【在 l*********3 的大作中提到】
: 刚结束了Google电面,Software Engineer职位。
: 1. 要求存储gmail的日志,给定发信时间,发信人,收信人,要求设计数据库表,存储
: 日志,并给出制定访问的SQL语句。
: 2. 如何设计日期时间、发信人、收信人的数据存储方式,节省数据库空间?
: 3. 给定一段代码,改错,如下:
: W * SSS :: getW ( int id ) const
: {
: Lock( lock_ );
: iterator it = find ( id );
: if ( it != end() ) {

M**u
发帖数: 10158
14
Java代码哪这么难看?

存储

【在 g*********s 的大作中提到】
: is the code in java?
b*******s
发帖数: 5216
15
觉得问题还是const和insert(p)
l*****a
发帖数: 559
16
同意。

【在 b*******s 的大作中提到】
: 觉得问题还是const和insert(p)
j********x
发帖数: 2330
17
ok. I thought this was implemented already in the macro :(

so that readers do

【在 j*****u 的大作中提到】
: use a reader-writer lock instead of mutual exclusive lock so that readers do
: n't block each other

1 (共1页)
进入JobHunting版参与讨论
相关主题
发个n个月前的面经 - ms bing 悲剧Amazon电面面经
embedded software engineer面经fb + google 电面面经
发个v家的面经Cloudera 电面面经
g家店面面经,求blesszenefit 电面面经
L 电面谁给讲讲test-and-set怎么实现mutex?
找工总结(弱面经和offer)无名小公司 :: 软件设计工程师 :: 面经
qualcomm 新鲜电面面经Uber 面经
Bloomberg电面面经Bloomberg 电面
相关话题的讨论汇总
话题: lock话题: unlock话题: return话题: reader话题: sss