Redian新闻
>
收到the body shop 的东西,居然都是大半瓶
avatar
收到the body shop 的东西,居然都是大半瓶# Fashion - 美丽时尚
o*n
1
从这里学到不少,回报大家。
G家。上来聊项目,10分钟。
然后来三个题。
第一题,给两段code,分别运行在不同的thread,汇编写的,两快code在register和两
快共享memory上相互读写,中间还穿插各种loop和branch,要求求出一指定register的
value。一眼看上去我就晕了,冷静后我挑出重点code,说是个consumer/producer low
level execution sequence problem in assembly。这两块code都没加锁,所以执行
的顺序排列组合下有四种可能,我搞出了一种可能,挺琐碎,又紧张,花了不少时间,
第二个可能正要搞他说算了。
第二题算法,字符串操作,我用两指针,几下就搞完了,边搞边讲,他说correct。面
完后我自己测了下,编译没过,原因是官给的input string是const,我定义的临时指
针没有const,编译报错,算是bug了,用const char*强制转换一下就过,测试都对。
第三题,实现多个producer和多个consumer,没有别的提示。这个我熟,说整个mutex
保护写,整个semaphore来保护读,bla bla,官表示赞同,写c++ class,两个
threading函数,边写边解释,也很快糊弄出来了。官表示赞赏,我说我要检查一遍,
然后说没啥问题,官表示OK。面完后我复盘,发现producer的mutex lock晚了一步,正
确的应该是放在最开始,而我是放在acquire semaphore之后,这样一个producer没问
题,但多producer deadlock概率很高,算是大bug了,官也没问我有没deadlock,要是
问了,我当场就能改。
然后我问问题,bla bla...整个面过程超过原定45分钟,达一小时。
两个code都有bug,感觉要挂。官是老印,口音重。
我是工作了几年的,从有跳槽念头到现在就20天,准备十分匆忙,算法都忘了,所以天
天看算法,没想到尽考我concurrence. 我简历里提到懂concurrence,assembly,所以
被问了这两个问题。
avatar
t*z
2
昨天把马桶挪开发现固定马桶的那个圈断掉了一边,不过跟下面是一个整体的那种。去
hd 问他们给了一个直接按下去的那种,回来把原来的圈锯掉以后装上新的,但是固定
的不结实,需要用螺丝固定到水泥地上。我们没有合适的工具。hd 的说用胶水沾上就
行。今天早上发现好像没粘结实整个马桶还是可以晃动,不过不漏水。实在不想再拆了
,不知道用 liquid nail 把马桶的底座粘到地上能行吗,会有不好的后果吗?多谢了!
avatar
g*m
3
4月28号the body shop 50%的时候买了日霜和晚霜,今天收到货,居然都是半瓶(上次
从mall里买的一瓶还没用,打开看看是满瓶的)。
这个还真是奇怪,难道价钱5折,东西也只有一半吗?
avatar
c*t
4
concurrence就够了,怎么register都上来了,assembly, 你很强。要是我,早就跪了

low

【在 o********n 的大作中提到】
: 从这里学到不少,回报大家。
: G家。上来聊项目,10分钟。
: 然后来三个题。
: 第一题,给两段code,分别运行在不同的thread,汇编写的,两快code在register和两
: 快共享memory上相互读写,中间还穿插各种loop和branch,要求求出一指定register的
: value。一眼看上去我就晕了,冷静后我挑出重点code,说是个consumer/producer low
: level execution sequence problem in assembly。这两块code都没加锁,所以执行
: 的顺序排列组合下有四种可能,我搞出了一种可能,挺琐碎,又紧张,花了不少时间,
: 第二个可能正要搞他说算了。
: 第二题算法,字符串操作,我用两指针,几下就搞完了,边搞边讲,他说correct。面

avatar
c*o
5
换个马桶十分钟的事,干吗不做对的?
avatar
b*j
6
应该是他们的问题.打电话吧~

【在 g********m 的大作中提到】
: 4月28号the body shop 50%的时候买了日霜和晚霜,今天收到货,居然都是半瓶(上次
: 从mall里买的一瓶还没用,打开看看是满瓶的)。
: 这个还真是奇怪,难道价钱5折,东西也只有一半吗?

avatar
o*n
7
考currency就是考死锁,你说我整个死锁,是不是挂了。。。
唯一能安慰自己的是,我这个实现一个producer OK, 两个producer死锁概率几乎100%
,debug立马知道哪里错...
心情不好。。。
avatar
t*z
8
把那个圈用螺丝固定到地上?都是水泥地呢。。。是不是要先钻眼然后上那个塑料的东
西再上螺丝啊。。。想想就发愁,现在比以前懒多了。不过自己也觉得应该做对的,不
然不踏实。还要再买个 wax ring。。。

【在 c****o 的大作中提到】
: 换个马桶十分钟的事,干吗不做对的?
avatar
y*3
9
我买的body butter的套装,两个是没有塑料封,一个是有塑料封的,于是我都退了
avatar
o*n
10
Assembly也是自己简历里吹过的,怪不得别人,但那个东西很琐碎,有debugger的时候
你可以watch你要的变量,没debugger我整了个matrix手工记录输出,那真是太琐碎太
为难了。。。

【在 c********t 的大作中提到】
: concurrence就够了,怎么register都上来了,assembly, 你很强。要是我,早就跪了
:
: low

avatar
f*i
11
buy a flange saver

【在 t***z 的大作中提到】
: 昨天把马桶挪开发现固定马桶的那个圈断掉了一边,不过跟下面是一个整体的那种。去
: hd 问他们给了一个直接按下去的那种,回来把原来的圈锯掉以后装上新的,但是固定
: 的不结实,需要用螺丝固定到水泥地上。我们没有合适的工具。hd 的说用胶水沾上就
: 行。今天早上发现好像没粘结实整个马桶还是可以晃动,不过不漏水。实在不想再拆了
: ,不知道用 liquid nail 把马桶的底座粘到地上能行吗,会有不好的后果吗?多谢了!

avatar
g*m
12
退的话是不是需要自己付邮费。我买的这些,所有的瓶盖子都是没有拧紧的,反正不对
。不知道可不可以去店里换。
avatar
a*o
13
大拿能给个第二题读写锁的代码吗?

low

【在 o********n 的大作中提到】
: 从这里学到不少,回报大家。
: G家。上来聊项目,10分钟。
: 然后来三个题。
: 第一题,给两段code,分别运行在不同的thread,汇编写的,两快code在register和两
: 快共享memory上相互读写,中间还穿插各种loop和branch,要求求出一指定register的
: value。一眼看上去我就晕了,冷静后我挑出重点code,说是个consumer/producer low
: level execution sequence problem in assembly。这两块code都没加锁,所以执行
: 的顺序排列组合下有四种可能,我搞出了一种可能,挺琐碎,又紧张,花了不少时间,
: 第二个可能正要搞他说算了。
: 第二题算法,字符串操作,我用两指针,几下就搞完了,边搞边讲,他说correct。面

avatar
D*a
14
马桶晃动是因为你的地板不牢固,木板烂了。不是因为那个圈;那个圈和马桶之间不是
刚性连接,他们之间有空隙,空隙靠wax ring填塞。圈对马桶不提供支撑作用。你要解
决的是烂木板问题。
avatar
L*1
15
我收到的VE霜,爽肤水,都没有塑料封。
avatar
o*n
16
不是大拿哈,帮你找了个最好的,要理解透啊,不然一问就露了。我用的的方法就是最
后一个类似,就错在writer加mutex锁太晚,会死锁了。
老印坏就坏在不给提示,然后做完了他也不说对错好坏。比如第二题,iuput为两个字
符串,我的第一个solution是hash table,他说good go ahead。我在纸上写了几个
test case发现hash table overkill,两指针就OK,他说OK go ahead...
http://doc.qt.digia.com/qq/qq11-mutex.html

【在 a***o 的大作中提到】
: 大拿能给个第二题读写锁的代码吗?
:
: low

avatar
t*z
17
是水泥地基,没有木板阿。。。而且那个圈确实是烂掉了一半,我们挪开了马桶看过了
,左边卡螺丝的那部分烂了,所以马桶就一个螺丝跟那个圈连接着。

【在 D*******a 的大作中提到】
: 马桶晃动是因为你的地板不牢固,木板烂了。不是因为那个圈;那个圈和马桶之间不是
: 刚性连接,他们之间有空隙,空隙靠wax ring填塞。圈对马桶不提供支撑作用。你要解
: 决的是烂木板问题。

avatar
w*n
18
从他们家店里买的东西都没有封的……就那样摆架子上,不过是满的……
avatar
a*o
19
感觉这段代码有问题啊:
http://doc.qt.digia.com/qq/qq11-mutex.html
void lockWrite() {
QMutexLocker locker(&mutex);
for (int i = 0; i < maxReaders(); ++i)
semaphore++;
}
semaphore超出了范围了,应该会一直等着吧?

【在 o********n 的大作中提到】
: 不是大拿哈,帮你找了个最好的,要理解透啊,不然一问就露了。我用的的方法就是最
: 后一个类似,就错在writer加mutex锁太晚,会死锁了。
: 老印坏就坏在不给提示,然后做完了他也不说对错好坏。比如第二题,iuput为两个字
: 符串,我的第一个solution是hash table,他说good go ahead。我在纸上写了几个
: test case发现hash table overkill,两指针就OK,他说OK go ahead...
: http://doc.qt.digia.com/qq/qq11-mutex.html

avatar
t*z
20
多谢!金属的那种不能用,后来买的塑料的按进去的,可惜当时偷懒没固定到水泥地上
,光用了Liquid nail粘到地上的,好像没粘结实,马桶固定不上。准备下周反功

【在 f****i 的大作中提到】
: buy a flange saver
avatar
w*n
21
从他们家店里买的东西都没有封的……就那样摆架子上,不过是满的……
avatar
o*n
22
你超出范围是什么概念?能说具体点吗?
avatar
m*y
23
Cedar shim :)
avatar
g*m
24
是的,我在店里买的也都是满的。
就是这次网上定的不满。打电话了,说是可以拿到店里去换。
avatar
a*o
25
就是它用的这种semaphore应该是加不上去就停了,等待空出的时候吧
比如你看他的void lockRead() { semaphore++; },就是如果semaphore现在已经是32(
最大值)的话,就应该等到31的时候再加吧?
所以在lockWrite里面一直加semaphore,加不上去的时候应该是要挺得
还有个问题就是这个代码里面unlockWrite也没有unlock &mutex
感觉这个代码问题还是不少

【在 o********n 的大作中提到】
: 你超出范围是什么概念?能说具体点吗?
avatar
m*y
26
Even if you replace the whole toilet, cedar shim is still, most likely,
needed to stabilize the toilet.

【在 c****o 的大作中提到】
: 换个马桶十分钟的事,干吗不做对的?
avatar
o*n
27
你说的都对,除了倒数第二行。mutex解锁在acquire semaphore后立马做了,但是既然
semaphore已被writer全部占用,另一个writer也进不来,所以代码没错。当然,如果
你不封装writer lock ,用C直接acquire /release writer lock,你把release押后也
是可以的。
"所以在lockWrite里面一直加semaphore,加不上去的时候应该是要挺得"
Write的时候,要把semaphore收回,有些reader已经release了,所以立马收回,有些
正在reading,那就wait了,但不是busy waiting。这个你觉得有问题吗^_^
avatar
D*a
28
如果是水泥地,马桶晃动,那就是和桌子晃动一个道理啦。再说一遍,马桶不是靠那两
个螺丝固定在水泥地上的,那两个螺丝的用途不是固定马桶,是用于固定马桶和那下水
道之间的距离。马桶是靠外部边缘直接放置于地上的,如果是水泥地,马桶晃动要看是
不是某些地方要垫一下。你去整那螺丝是力气用错了地方。
avatar
a*o
29
思路是对的,就是怎么知道现在外面有多少个read呢?
有的semaphore是不能check value的

【在 o********n 的大作中提到】
: 你说的都对,除了倒数第二行。mutex解锁在acquire semaphore后立马做了,但是既然
: semaphore已被writer全部占用,另一个writer也进不来,所以代码没错。当然,如果
: 你不封装writer lock ,用C直接acquire /release writer lock,你把release押后也
: 是可以的。
: "所以在lockWrite里面一直加semaphore,加不上去的时候应该是要挺得"
: Write的时候,要把semaphore收回,有些reader已经release了,所以立马收回,有些
: 正在reading,那就wait了,但不是busy waiting。这个你觉得有问题吗^_^

avatar
t*z
30
再次感谢!听起来好象不需要拆了阿,厚厚!

【在 D*******a 的大作中提到】
: 如果是水泥地,马桶晃动,那就是和桌子晃动一个道理啦。再说一遍,马桶不是靠那两
: 个螺丝固定在水泥地上的,那两个螺丝的用途不是固定马桶,是用于固定马桶和那下水
: 道之间的距离。马桶是靠外部边缘直接放置于地上的,如果是水泥地,马桶晃动要看是
: 不是某些地方要垫一下。你去整那螺丝是力气用错了地方。

avatar
o*n
31
刚才写了一堆,点了广告条的大大的提交button.我在ipad上,现在没心情写了,晚点
再聊。
avatar
t*z
32
多谢!那就省事多了!决定就这样办不重新弄了:)
多谢各位了!

【在 m***y 的大作中提到】
: Even if you replace the whole toilet, cedar shim is still, most likely,
: needed to stabilize the toilet.

avatar
b*p
33
那两个螺丝还是要固定的,要不即使垫平了,坐在上面前后左右一晃,马桶还是要移位,动
几次,蜡封就破了.flange saver是正道,可以用几年.当然,终极方案还是flange整个换
掉.

【在 D*******a 的大作中提到】
: 如果是水泥地,马桶晃动,那就是和桌子晃动一个道理啦。再说一遍,马桶不是靠那两
: 个螺丝固定在水泥地上的,那两个螺丝的用途不是固定马桶,是用于固定马桶和那下水
: 道之间的距离。马桶是靠外部边缘直接放置于地上的,如果是水泥地,马桶晃动要看是
: 不是某些地方要垫一下。你去整那螺丝是力气用错了地方。

avatar
m*y
34
两个螺丝是一定要固定的,但两点定不了一个面,加点shim是普遍的。只不过一定要
cedar或者其它耐潮的。普通的spruce或者pine会朽,朽了味道还不好
avatar
w*t
35
水泥直接浇筑可以吗?

【在 t***z 的大作中提到】
: 多谢!那就省事多了!决定就这样办不重新弄了:)
: 多谢各位了!

avatar
f*i
36
省事能解决问题吗?

【在 t***z 的大作中提到】
: 多谢!那就省事多了!决定就这样办不重新弄了:)
: 多谢各位了!

avatar
x*3
37
哇塞你们都直接玩水泥,这个我肯定玩不动!!!

【在 w******t 的大作中提到】
: 水泥直接浇筑可以吗?
avatar
e*t
38
我用了塑料的shim。

【在 m***y 的大作中提到】
: 两个螺丝是一定要固定的,但两点定不了一个面,加点shim是普遍的。只不过一定要
: cedar或者其它耐潮的。普通的spruce或者pine会朽,朽了味道还不好

avatar
t*z
39
可以的,原来的就是一个整体的不是那种卡上的铁圈,所以HD的人说应该弄开水泥地彻
底换了,可是有那种按下去的,所以我们就不用那个最麻烦的办法了。不幸的是买的那
个按下去的有点长,我家这个马桶的下水道是个弯头,全插不进去,然后就把头上锯断
了。反正挺不顺利的。现在左右晃不动,就是前后晃,我先试一下shim看看能不能行,
不行再挪开用螺丝把那个圈固定到水泥地上。

【在 w******t 的大作中提到】
: 水泥直接浇筑可以吗?
avatar
f*i
40
既然左右不晃,那直接换个flange装上就行
flange买个好点的,不锈钢的

【在 t***z 的大作中提到】
: 可以的,原来的就是一个整体的不是那种卡上的铁圈,所以HD的人说应该弄开水泥地彻
: 底换了,可是有那种按下去的,所以我们就不用那个最麻烦的办法了。不幸的是买的那
: 个按下去的有点长,我家这个马桶的下水道是个弯头,全插不进去,然后就把头上锯断
: 了。反正挺不顺利的。现在左右晃不动,就是前后晃,我先试一下shim看看能不能行,
: 不行再挪开用螺丝把那个圈固定到水泥地上。

avatar
l*u
41
支持toilet bowl的应该是瓷砖,不是flange ring。瓷砖没铺平。

【在 t***z 的大作中提到】
: 昨天把马桶挪开发现固定马桶的那个圈断掉了一边,不过跟下面是一个整体的那种。去
: hd 问他们给了一个直接按下去的那种,回来把原来的圈锯掉以后装上新的,但是固定
: 的不结实,需要用螺丝固定到水泥地上。我们没有合适的工具。hd 的说用胶水沾上就
: 行。今天早上发现好像没粘结实整个马桶还是可以晃动,不过不漏水。实在不想再拆了
: ,不知道用 liquid nail 把马桶的底座粘到地上能行吗,会有不好的后果吗?多谢了!

avatar
z*n
42
错,当然是靠那两个螺丝固定的。

【在 D*******a 的大作中提到】
: 如果是水泥地,马桶晃动,那就是和桌子晃动一个道理啦。再说一遍,马桶不是靠那两
: 个螺丝固定在水泥地上的,那两个螺丝的用途不是固定马桶,是用于固定马桶和那下水
: 道之间的距离。马桶是靠外部边缘直接放置于地上的,如果是水泥地,马桶晃动要看是
: 不是某些地方要垫一下。你去整那螺丝是力气用错了地方。

avatar
e*t
43
其实马桶都不是固定的。那两个螺钉不能拧太紧,会导致瓷盘爆裂。

【在 z**n 的大作中提到】
: 错,当然是靠那两个螺丝固定的。
avatar
f*i
44
如果是便宜flange,那flange先爆

【在 e********t 的大作中提到】
: 其实马桶都不是固定的。那两个螺钉不能拧太紧,会导致瓷盘爆裂。
avatar
e*t
45
按说马桶跟flange没有刚性接触啊

【在 f****i 的大作中提到】
: 如果是便宜flange,那flange先爆
avatar
f*i
46
flange bolt跟flange有刚性接触

【在 e********t 的大作中提到】
: 按说马桶跟flange没有刚性接触啊
avatar
e*t
47
对哦……

【在 f****i 的大作中提到】
: flange bolt跟flange有刚性接触
avatar
f*i
48
顺便说句,马桶下面的蜡圈有三种厚度,标准,加厚,和超薄。
有些老中contractor喜欢不管三七二十一用加厚的。

【在 e********t 的大作中提到】
: 对哦……
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。