• P0171/P0174燃油系统过稀(System too lean)问题

    前一段时间因为年检要due了,花了一些时间在试图troubleshoot我的2009 Hyundai Santa Fe上的P0171/P0174故障。在这个过程中查找了一些资料,了解了一些发动机燃油系统的工作原理。

    问题

    去年年底,我在用OBDII Scanner检查EVAP问题(图中的P0442)时,发现出现了另外两个故障码P0171和P0174,除了故障码本身之外没有任何症状。这两个故障码表示引擎中燃烧的混合气过稀,也就是空气太多,或汽油太少。

    在开始解决问题之前,我们首先需要了解一些背景知识。

    (more…)
    Read more: P0171/P0174燃油系统过稀(System too lean)问题
  • GitHub Pull Request Diff中的诡异行为

    去年我负责开发了产品中的一个大型feature,这个feature被分解成了A, B两个小feature。大致的工作流程是这样的:

    我从master branch out出分支feature-a,在分支feature-a上开发;然后从feature-a branch out出feature-b,在feature-b上开发;最后创建feature-b -> feature-afeature-a -> master 两个PR分别进行code review并依次合并进master。

    当我在开发feature-b时由于master上有了很多更新,于是我将master分别merge进了feature-afeature-b。整个流程的简化版大致如下:

    (more…)
    Read more: GitHub Pull Request Diff中的诡异行为
  • 2021年终总结

    ,

    2021年,虽然疫情并没有像大家期望的那样随着疫苗接种而消失,但是生活多少走上了正轨。

    学业

    二月,我开始了在雪城大学的最后一学期,我最后一学期只需要修一门课,并且因为系里的选课限制把我可选的课压缩到近乎没有,于是最后一学期在一门水课加每周20小时的实习中度过。

    今年学校恢复了线下的毕业典礼,在铺天盖地的Congratulations中感到有些恍惚,在居家隔离和网课中,两年时间似乎一转眼就过去了。

    (more…)
    Read more: 2021年终总结
  • 如何更换锈死的雨刷臂(Wiper Arm)

    今年3月,我在清理车顶上的积雪的时候,一大块结成冰的积雪顺着后挡风玻璃滑下来,把后玻璃的雨刷臂砸断了。

    雨刷臂的更换其实很简单,雨刷只有一个螺母固定,只需要把螺母拧掉,把旧的雨刷臂拿下来,再把新的装上去即可。但是问题是,经过纽约上州的大雪加上融雪剂的十几年的洗礼,雨刷臂的金属部分已经完全锈死在spindle上面了。我一开始按照YouTube上的视频,购买了一个如下图所示的工具试图把旧雨刷拔下来。

    然而雨刷的剩余部分实在锈得太死了,加上工具本身不好用并且操作不当(没有把螺母装在螺丝上),导致雨刷的塑料部分下来了,但金属部分还在上面,还把螺丝的螺纹搞坏了(大无语)。

    (more…)
    Read more: 如何更换锈死的雨刷臂(Wiper Arm)
  • 2020秋招美国SDE New Grad面试总结

    经过大半年的时间,紧张刺激的秋招终于告一段落了。对于New Grad来说,2020年的秋招实在很艰难,我在中间也经历了很多波折,终于成功上岸。整个秋招一共收获了9个面试,4个offer,其中也包括一些比较冷门的公司或职位。本文会介绍我面过的比较有意思的公司或职位,以及我个人在找工过程中的一些体会和经验。

    Citrix Software Engineer — Rejected

    体验:★★★★☆

    Citrix是一家toB的虚拟机公司,主要给企业提供基于虚拟机的IT解决方案。Citrix有Florida,North Carolina,湾区和Boston4个Office,每个Office的面试风格都各不相同,比如有的可能更注重OS,有的更注重网络。总体来说相比其他大厂更注重工程能力,沟通能力和behavior,算法上相对简单一些。

    MasterCard Software Engineer — Rejected

    体验:★★★★☆

    MasterCard是大家都很熟悉的信用卡公司,他家主要有两个location,一个位于OFallen, MO,主要负责支付业务,而Arlington, VA的办公室叫MasterCard Data&Services,是一家被MasterCard收购的startup,原名叫Applied Predictive Technologies。我拿到的面试是位于Arlington的Data&Services。面试风格还是沿用了APT时期的风格,毕竟是startup,题目还是有些难度。除了最后一轮HM面之外的体验都还算不错,就不展开讲了。

    Google Cloud Technical Residency — Rejected

    体验:★★★☆☆

    因为今年Google New Grad没有开,于是投了这个CTR职位。CTR是2018年才开的,在Residency里也算是比较新的。而且CTR并不是一个普通的SDE Residency,而是Google Cloud下面的一个更偏向Customer Support和Solution Engineering的职位。转正后的职位可以是Customer Engineer, Cloud Engineer或Solution Engineer。

    (more…)
    Read more: 2020秋招美国SDE New Grad面试总结
  • 汽车维修101——如何自己动手换机油

    去年有一段时间沉迷YouTube上的修车视频,最近终于有些时间了,也想自己动手试一试。换机油其实并不难,但是会有一些潜在的坑,比如很多人都遇到过的螺丝拧不动的问题,我基本上已经遇到了大部分新手可能遇到的坑。第一次录视频,做得有些粗糙,之后有空也会再更新文字版。

    如果你方便访问YouTube,也可以前往:https://youtu.be/s4sEJ7rjcTE 观看。

    (more…)
    Read more: 汽车维修101——如何自己动手换机油
  • 2020年终总结

    ,

    2020年对所有人都是特殊的一年,年初本来有一个很好的开始,结果被疫情打乱了一切。

    一月份我回到学校,经过一周的紧张的面试之后终于拿到了Ancestry的实习offer。搞定了找实习这个小boss之后,我开始了理想中的留学生活:我买了车,开始在学校食堂打工,同时计划着春假的旅游计划,女朋友拿到了SU的20Fall offer,除了正在国内肆虐的COVID之外,看起来似乎一切都很好。

    二月的时候加州和华州已经开始零散出现一些COVID确诊,纽约这边还是一派祥和,但是大家心里都很清楚纽约市的人口密度和发达的公共交通几乎就是个巨大的培养皿。那时候中国学生已经开始采购口罩和采取防护措施,不过生活还是一切照常。我打工的食堂最初禁止带口罩工作,但后来也默许了。有一次我和带我的老爷子聊了一下,我感觉他们其实也是在关注这个事情的,只不过也没有采取任何的措施。

    这样看似正常的生活持续到了三月中,随着纽约的Westchester County出现了社区传播,情况开始急转直下。3月10日学校发了邮件,宣布春假之后开始网课。当时朋友问我春假有什么计划,我苦笑说只能在家自闭了。

    (more…)
    Read more: 2020年终总结
  • Summer Internship at Ancestry

    中文版:Ancestry暑期实习记

    Shortly after I got the internship offer from Ancestry, the COVID outbreak flamed across the US. A number of companies rescinded their offers or switched to remote working. However, because of the Nexus Tax restrictions to companies that provide digital subscription products, we are not allowed to work remotely out-of-state (in states other than UT and CA). Finally, the company let us fly to Utah and remote onboard in the corporate housing.

    In early June, I departed from Syracuse and headed for SLC. Lehi is a small but bustling town near SLC. There are quite a lot of tech companies, there are big names like Cisco and Adobe, there’re also small companies and start-ups. The Uber driver told me lots of companies moved here from California, Facebook is also going to build a new datacenter around here.

    (more…)
    Read more: Summer Internship at Ancestry
  • Ancestry暑期实习记

    English Version: My Summer Internship at Ancestry

    在我拿到offer之后不久,COVID在美国开始爆发,一时间很多公司开始取消offer或改为远程工作。然而由于Ancestry受到Nexus Tax的限制,我们不被允许在外州(除UT和CA之外的州)远程工作。最后公司决定让我们飞到犹他,然后在公寓里remote onboard。

    6月初我从雪城出发,经芝加哥中转到达盐湖城。出乎我意料的是Lehi这个城市虽小,但是还挺繁华的,路边有不少科技公司的建筑,有Cisco,Adobe这样的大厂,还有好多没听说过名字的小公司和Startup。Uber司机告诉我近几年有很多公司从加州搬过来,而且Facebook也准备在这附近建新的数据中心。

    (more…)
    Read more: Ancestry暑期实习记
  • 一个谜之CORS Bug的调试过程

    这学期的Object Oriented Design课程要求以组为单位做一个项目,我们的项目前端使用Vuejs,后端使用Spring Boot,通过REST API通信。

    有一天前端的朋友告诉我她在调试的时候遇到了一个问题。她在本地运行Vue项目,连接位于AWS上的API。这是一个跨域请求,浏览器会首先发送一个Preflight请求[*]来预检。奇怪的是虽然Preflight请求正常返回了200,但是后面的请求却并没有继续进行。

    * Preflight request – 术语表 | MDN

    我试图在我的电脑上复现这个问题,然而我的电脑上却一切正常,完全不能重现。

    经过各种尝试之后找到了一个突破口——出现问题的这个接口是通过Cloudflare和nginx转发的,而换成直接从Docker暴露出来的8080端口则一切正常。

    (more…)
    Read more: 一个谜之CORS Bug的调试过程