广鹿岛:彩虹滩赶海
上周末坐船去了广鹿岛。
周一换了个海滩,去彩虹滩赶海。这次出来玩时间赶得不错,退潮都在傍晚 6 点左右,太阳快落山,正好是一天里凉快下来的时候。海滩很浅,可以往前走很远,靠岸这一段脚下都是细沙,沙滩上有很多海葵,寄居蟹更是数不过来。再往深处走,细沙变成礁石,海草也多起来,水到膝盖左右。
四岁的女儿一路捡,寄居蟹、螃蟹、各种贝壳,把整个桶底铺满了。后来我们在海草附近捡到一只海星,她立刻把桶里的螃蟹和寄居蟹全倒回海里,整个桶只装这一只海星。
海星带回了民宿。到晚上它大概是缺氧,开始往桶外爬。我们商量了一下,还是放回去吧,不然会死掉。于是又把海星送到离住处最近的海里。
赶海的时候一边拍照一边让 AI 识别,认识了海葵和鱿鱼的卵鞘。海葵挺有意思,拿铲子碰一下,它整个身体缩进沙子里,同时喷出一股海水。鱿鱼的卵鞘在滩上到处都是,半透明、软软的、圆圆的一团。
周三从广鹿岛回大连。在杏树港下船之后是我开车,女儿自己坐安全座椅,全程走国道没上高速——小朋友随时可能需要我,国道方便停车。过几周我要单独带她去爷爷奶奶家,这次算是一次 dry run。
enx:遮阳伞下的 side panel
周二在岛上找了家有泳池的酒店,女儿和妈妈在泳池里泡了一下午。我没带泳衣,就在遮阳伞下写码。
这周 enx 主要在开发句子翻译的 side panel。
后端给三个翻译 provider 都加上了「按句子上下文翻译单词」的能力,配了对应的 handler 和路由,每个 provider 补了单测。前端这边,侧边栏里点击单词后的展示从单行文字改成了卡片。
卡片这块反复改了几版。一开始词、音标、上下文含义、查询次数分四行堆着,太占纵向空间,改成一行内排列、放不下才折行;有道词典的外链也删掉了,侧边栏就这么宽;「Query Count」几个字重复出现太啰嗦,换成一个放大镜图标,原文字挪到 title 属性里做悬浮提示。
加载方式也调了。以前是词典查询和 AI 上下文翻译两个请求都回来才一起渲染,现在点击的时候就先插入一张骨架卡片,两个请求各自返回后只更新自己那部分。词典那边通常更快,音标和释义会先显示出来。列表按点击时间倒序排,重复点同一个词不再发请求,只把已有的卡片挪到最前面。
第二轮面试
周三从广鹿岛回来,在杏树港排队驶出停车场的时候接到了 HR 的电话。是第二轮面试的邀请,安排在周五下午,30 分钟,听起来会是全英文。
当天下午要带娃上课,距离面试还有一天多准备时间。上一次面试因为一直在看 Spring 的资料,没准备自我介绍,英文的自我介绍讲得不太好,这次得准备一下;剩下的主要是怎么用英语把简历上的经历说清楚。周四一整天和面试当天的白天,基本都在准备这些。
周五当天出了个小插曲。我之前很少用 zoom,16:20 就打开了,输会议号、输密码、调整摄像头和麦克风,然后等面试官上线。等到 16:27 还没看见人,才注意到窗口右下角有一个 join 按钮——原来我一直在会议外面 -_- 赶紧点了 join,发现两位面试官已经在线了。
面试过程还算顺利。我的英文不是特别好,中间有问题没听清楚就麻烦面试官再讲一遍,对方会很友好地放慢语速重复。有些问题答得还好,也有因为准备不够没能表达清楚的。面试官也问到了个人项目,我讲了 enx,说计划部署到 AWS 上,或许能帮到其他人。
快结束的时候我还纠结了一下,要不要解释一句我其实一直在会议外面等着。但这么复杂的句子,我的英文暂时还撑不住,就直接 say goodbye 了。