<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Qihang Dai</title><link>https://qihang-dai.github.io/</link><description>Recent content on Qihang Dai</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 12 Jul 2023 16:37:58 +0800</lastBuildDate><atom:link href="https://qihang-dai.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>高中记忆</title><link>https://qihang-dai.github.io/archive/highschool_memory/</link><pubDate>Wed, 12 Jul 2023 16:37:58 +0800</pubDate><guid>https://qihang-dai.github.io/archive/highschool_memory/</guid><description>&lt;p&gt;最近见了几年未见的高中最要好的同学，一些回忆开始浮现。这几年我的脑子经常会闪回一些高中时的记忆。一直在想要不要写一下，总是觉得没什么必要，或者忙着做别的事。正好如今手腕受伤不能游戏，睡太多不想看论文的下午就写一下。之前也在别的地方写过，主要是写我爸在高考那年的疯魔症状。这回写一点不一样的，写一点自己，写一点同学们。&lt;/p&gt;&#10;&lt;p&gt;虽说 要向前看 但是有些东西就是记性太好。写还是不写呢，写吧。激励自己，省的以后想偷懒想抱怨想自暴自弃的时候忘掉了。放在博客上，也不过是为了让自己经常能看到&lt;/p&gt;&#10;&lt;p&gt;高中回忆对我来说是个创伤，大部分充斥着懦弱和迷茫。仗着记忆力稍微好点，我放弃了直升县城重点班，继续参加中考。中考又春风得意考得不错，升入省重点。不过很快我就发现跟不上了：太困。 11点睡觉，六点半要起床， 我又没有午睡习惯。三天两头再手冲手冲，第二天保证头晕眼花啥也听不见。其实初中小学时我就发现稍微难点的数学物理题我就跟不上，我只擅长写见过的题目。只是初中题目变化少，靠记忆力很好解决。加上睡眠休息不足，我开始有类似ADHD的健忘和注意力不集中。我的同学们都很聪明加精力充沛，我只能算中等偏下。记得几次月考稳稳住在倒数第七，而我的前后的人不断轮换，还整起来快速排序了？&lt;/p&gt;&#10;&lt;p&gt;成绩其实来说是次要的，最要命的是学起来吃力。当天的数学作业，我要自己写完然后错一大半，看半天答案加问同学也想不明白。同桌则半小时全部正确通过然后拿出小说等待回寝室睡觉。 看教材也不理解，看题解也不明白，公式我也知道，就是不知道怎么从题目看出来要这么代入这么解的。也想过去问做自习的老师，然而充满“好学生”的班级问问题经常要排半天队，老师经常处于和几个成绩好的同学相谈甚欢的情况，我也就更不好意思问了。 有点像刷leetcode，抄完题解了，也没真的学会应用算法。我当初可能缺失的就是从题目看出算法+熟练应用算法这个过程吧。&lt;/p&gt;&#10;&lt;p&gt;写题吃力加上精力不足，每天最期待的就是什么时候可以回去睡觉。 也没有娱乐可言，每周的乐趣就是漫画杂志和意林上的笑话。住宿生进出还得有宿管批的条子，简直是在监狱里蹲活牢。一阵子开始流行打三国杀，一打就是一下午，我又菜又爱不释手，到后面没人愿意玩我竟自己和自己对打。 又有一阵子坐在第一排，前排四个人连坐打起了带升级的八十分。很快他们也不乐意玩了，而我却恋恋不忘。想来不是有多好玩，而是打牌的时间里我短暂地逃离了监狱，前往了另一个没有痛苦做题的梦境世界。&lt;/p&gt;&#10;&lt;p&gt;也有梦境被剥夺的时候。我短暂的拥有过一个ipods， 来自一个外号叫大头的同学。我和大头做过舍友，他是一个在没有人搭理他的情况下自言自语卧谈到很久，在我问他“可不可以不说话睡觉了”的时候回答“不可以”的人。 大头当时急着用钱，在另一个舍友的怂恿下以八十块钱卖给了我ipods。听着周杰伦和周传雄，那几周居然成了我学习比较认真和愉快的一段时间。 很快大头觉得自己吃亏了开始四处抱怨，正好他另一个同学愿意出120的高价。我不愿意卖，他便直接架住我翻我的口袋。终于在一次下课上厕所的路上他看到我带着耳机，在我的一个裤子口袋里用力的掏到了ipods，并把80块钱塞到另一个口袋里，大摇大摆的离开了。我呆在原地，像隐入尘烟里的老四，是个任人宰割的麦子。大头还会在体育课所有人都浑身汗要洗澡的时候直接把我的桶拿走，直到我在寝室门口贴上“大头禁止入内”才结束。现在想来并不是我的宣言有什么威慑力，只是所有人都能看到，大头害怕别的同学对他有看法。没几天大头便偷偷撕掉了那张纸，也再没来过我的寝室。&lt;/p&gt;&#10;&lt;p&gt;如此看来大头非常霸道蛮横，应该会被很多人讨厌，但奇怪的是大头只对我这样。对于“上层”的同学，大头又显得和蔼可亲和可爱，尽力和他们打成一片，这其中就有黑子。黑子人如其名，长得非常黑，但是牙很白。一口北京腔，说什么都像在说相声，搞得我一看到他就像笑。黑子很调皮，爱玩，以至于老师给他在讲台底下设了专座，永远坐第一排收管教。虽然黑子没少玩，但是成绩也不赖。幽默的黑子总能把全班逗得哈哈大笑，还会带别人玩一些莫名其妙的小玩意儿，比如打八十分。&lt;/p&gt;&#10;&lt;p&gt;有时候老师向所有人提问，反复问了几遍也没人答对。偶尔我恰巧猜中了正确答案，可能因为声音太小老师总听不见，黑子听见了便会大声替我回答。虽说有些奇怪，但知道他会注意我说的话，我心里竟有些温暖。周末去学校自习时，黑子总能搞到一些好玩的杂志看。某一个周末我带着海贼王顶上战争的两卷去学校，正好黑子也在，我俩便一起爽看起来。谁知道黑子那如活阎罗般的妈妈知道黑子的秉性，竟然尾随他在教室外面蹲守。我俩发现之后立马把漫画藏在桌斗里假装学习，不料黑妈直接冲进教室，从我的手肘而不是他儿子的手肘下直接抽出我看了一半的漫画，站在讲台上撕了起来，然后扔到楼道里的垃圾桶。我又被吓傻了，黑子急忙忙的冲出去说,“这是他的书!&amp;quot;。而黑妈则开始训斥。我回过神来，模模糊糊听到黑妈说”你那个同学看起来就贼眉鼠眼，少跟他接触&amp;hellip;” 黑子就和黑妈走了，我找到垃圾桶，捡回来了我破碎不堪的海贼王。黑子后来便不被允许周末自己来自习。我以为黑子后面会跟我道歉，或者买一本新的漫画给我。过后他好像根本记不得这件事，我和黑子也不怎么熟悉了。后来有一次黑妈来学校看晚自习，我犹豫了很久，什么也没说。&lt;/p&gt;&#10;&lt;p&gt;大部分人大概经历了或精彩或平淡的时光，也许我只是从低处的角度经历更赤裸一些。我最痛恨的不是大头的霸凌，黑子的漠视，而是当时被父母教育着的“温恭谦良”，不敢惹事，多一事不如少一事的懦弱和愚昧。高考后他们拿到重点大学的录取，而我走向双非，因为没考好不给买新电脑的情况下开启30帧玩三年游戏的浑浑噩噩时光。&lt;/p&gt;&#10;&lt;p&gt;也有过快乐的时候. 和小象买了个路由器直接在宿舍里开wifi，和友政坐一小时公交到卫岗城中村的黑网吧八块钱包夜一晚上的日子，周五去周六回然后一觉睡到周日下午。那段时间为了周末不写作业我们出了奇的认真，把认真学习一天当作刷杀人书的层数，以至于考了高中时期最好的一次期末考。看文杰用他的手机打游戏，五个人一起挤着在手机上看汤唯演的北京遇上西雅图。用900块钱买的手机在小鸡模拟器上通宵打青熊兽和怪鸟，到现在我也想不起来当初是怎么在网上买到的3ds。&lt;/p&gt;&#10;&lt;p&gt;不过文杰似乎都更喜欢和吃掉我排了十几分钟打到的排骨然后说对不起的振华一起玩，友政也只是想玩游戏，总是用我攒下来买亚索和艾克的金币买了猪女蚂蚱之类无聊的版本英雄。台灯被孙振借走然后再也没有还给我。在高三下课时自暴自弃找人玩时被老乡鸡一句“fuck off&amp;quot;吓到。在异化的系统里，只能怪自己的弱小，和十几年被驯化的老实，服从，懦弱。&lt;/p&gt;&#10;&lt;p&gt;临近高考我近乎产生阅读障碍，一看书就恶心。多少次我在灯火通明的教学楼里望向漆黑一片的窗外，奋笔疾书的刷刷声中我觉得自己像一个异类，而我的父亲在十几平米的出租房里对着家长群疯狂焦虑。&lt;/p&gt;&#10;&lt;p&gt;毕业后去过一次高中，还是感到生理上的反胃。唯一感激的是姚老师，在我给教导处门口用粉笔写字被调监控找出来后他一直在说是怪他不怪我。只可惜我的语文阅读理解，永远是写越多，扣分越多。&lt;/p&gt;</description></item><item><title>Systematically Fixing CUDA in Conda</title><link>https://qihang-dai.github.io/posts/condafixcuda/</link><pubDate>Tue, 04 Apr 2023 15:55:54 -0700</pubDate><guid>https://qihang-dai.github.io/posts/condafixcuda/</guid><description>&lt;h2 id="tldr"&gt;TLDR&lt;/h2&gt;&#10;&lt;p&gt;if &lt;code&gt;pip&lt;/code&gt; wont solved the problem, use &lt;code&gt;conda&lt;/code&gt;. if &lt;code&gt;conda&lt;/code&gt; wont work, use &lt;code&gt;conda --update-all&lt;/code&gt; to update all the packages, or &lt;code&gt;conda --force-reinstall&lt;/code&gt; to reinstall the package. No need to reboot the system, may need to restart the python kernel.&lt;/p&gt;&#10;&lt;p&gt;use the officially instructed command on &lt;a href="https://pytorch.org/get-started/locally/"&gt;Pytorch website&lt;/a&gt;. choose the right version of cuda and pytorch.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://qihang-dai.github.io/posts/image/condaFixcuda/1680660294694.png" alt="1680660294694"&gt;&lt;/p&gt;&#10;&lt;h2 id="sytematic-review"&gt;Sytematic Review&lt;/h2&gt;&#10;&lt;p&gt;Normally cuda is not available is caused by Pytorch and cuda version mismatch. If both are installed correctly and the newest version, the problem is caused by the package management system &lt;code&gt;pip&lt;/code&gt; or &lt;code&gt;conda&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>MIT 6.824 Lab 1: MapReduce 复盘</title><link>https://qihang-dai.github.io/posts/mapreduce/</link><pubDate>Sun, 05 Mar 2023 13:09:49 -0800</pubDate><guid>https://qihang-dai.github.io/posts/mapreduce/</guid><description>&lt;p&gt;总体花了一周，比较摸鱼。不管是视频还是论文看完总是有点模糊，最费时间和理解最深的还是写代码。&lt;/p&gt;&#10;&lt;p&gt;mapreduce的结构很简单，就实现三个模块： 分配任务的coordinator， 申请任务和处理任务的worker， 以及他俩之间通信用的rpc的消息结构。大体上是参考这个&lt;a href="https://github.com/Sorosliu1029/6.824"&gt;repo&lt;/a&gt;半抄理解。一开始花了很多时间看了好几个repo， 发现用RPC沟通有很多种写法，有的用channel有的只有锁， 有的只定义一个args reply有的定义了 requestArgs 和finishArgs， 有的把rpc传进函数参数进行修改而有的直接传rpc的property然后返回一个新的struct， 迷惑了一段时间，最后发现其实都是一样的，只是写法不同。&lt;/p&gt;&#10;&lt;h2 id="structure"&gt;Structure&lt;/h2&gt;&#10;&lt;p&gt;Map reduce: Given a set of files, run map for all of them to map the keys into the corresponding values like word count (generate for each occurence of word for (word, 1)). Then for each key in the kv list, hash the key into a number within the reduce jobs amount, and append that value into the array[key hashed]. Thus we would have a array where keys with same hash are append into a same sublist. Stores this hashed array into intermediate files. After all map is done, run reduce for all intermediate files to generate the final result, like sum the count for the same key. The reduce would sort the subarray first so he can get same key stay together, then do simple loop and count sum.&lt;/p&gt;</description></item><item><title>Building an Overwatch Queue Notifier</title><link>https://qihang-dai.github.io/posts/overwatchgamequeue/</link><pubDate>Sat, 11 Feb 2023 16:11:56 -0800</pubDate><guid>https://qihang-dai.github.io/posts/overwatchgamequeue/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;/h2&gt;&#10;&lt;p&gt;Overwatch queueing is very annoying to me: sometimes it is extremely slow, and I want to leave my desk to do some workout or drown my head into a book. However I won&amp;rsquo;t be able to know when the queue is done if i am not continuously checking the screen. Someone like large streamers may choose to browser youtubes while waiting, or they can just leave the speaker playing sound that when the queue is done he can hear it, which is also a huge mind burden. As an FPS game you have to rely on the headphone to hear the location of enemy, so it would be tiring to plug in plug out your headphone while queue. I want to make a device that can notify me when the queue is done, so I can leave my desk and do other things. It could also serves as a good practice for python autmation.&lt;/p&gt;</description></item><item><title>疯玩</title><link>https://qihang-dai.github.io/archive/%E7%96%AF%E7%8E%A9/</link><pubDate>Wed, 01 Feb 2023 12:46:06 -0800</pubDate><guid>https://qihang-dai.github.io/archive/%E7%96%AF%E7%8E%A9/</guid><description>&lt;p&gt;距离上一篇Post已经过了10天。这十天我只做了一件事：不舍昼夜的守望先锋上分。吃饭，做饭，排位赛。上午，下午，晚上。没有投简历，刷题（还是刷了一点）。感谢Drop了极度困难的机器学习数学原理，我的两个DUE居然在1/23的之后20天才结束。于是我大玩。送女朋友上学，在学校的一个多小时看一点PPT写一点作业，然后回家继续守望先锋。&lt;/p&gt;&#10;&lt;p&gt;打了十天排位的结果： 开始是Diamond 1, 结束时还是diamond 1。 调到diamond 2再打上来，大部分时间都是7胜7败之后不上不下。 一天大能打个14把， 白天赢5输2， 晚上赢2输4，如此轮回。心态倒是越来越好。游戏这东西还是不能轻易卸载。 卸载完打破了work - game balance的平衡，就会陷入“我要上分上到什么时候”的无限轮回。 本来想着上集中精力几天上到master就结束，还是被无情打脸了。&lt;/p&gt;&#10;&lt;p&gt;水平确实提高了。 这不是废话。每天高强度腰酸背痛的玩，不提高也得提高。游戏表面上打着团队合作的旗号，而事实上到单排排位时想要赢只能靠自己。必须靠个人水平给敌方施加足够多的压力，而无法希求队友的配合可以弥补发挥不好时的差距。十天的数据分布也很明显，我只在中午下午精力充沛时才能赢，而到了晚上（特别是刷了几道题/做了测试之类的脑力工作之后）明显大脑开始疲劳，失误和错误增多。 非要玩的化，那就每天下午玩一会儿，别的时间正常学习工作。 学习和工作来说，效率和单天时长不重要，重要的是长期积累的改变。&lt;/p&gt;&#10;&lt;p&gt;Post还是要经常写，不写不反思，很容易陷入大脑僵尸化一条路走到底的加速模式，知道撞墙（比如DDL逼近）才不得不回头。 这学期两门课太过轻松，墙自然没有之前多了。不论是游戏还是生活，都应该有Logseq之类的Notebook量化记录一下，一旦量化了，就很容易知道什么时候过量什么时候不足。这十天我的git commit应该很难看就是了。&lt;/p&gt;&#10;&lt;p&gt;戒掉游戏的一段时间确实是时间会变多。 因为守望先锋必须占据掉一整块的连续时间，可以用来做不少别的事。 然而介于我戒不掉的情况，还是努力实现曾经有过的game life balance比较合理。&lt;/p&gt;</description></item><item><title>UPENN SCMP结课评价</title><link>https://qihang-dai.github.io/archive/scmp/</link><pubDate>Sun, 22 Jan 2023 23:50:44 -0800</pubDate><guid>https://qihang-dai.github.io/archive/scmp/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;你想用B做跳板到A, 大概率是永遠被B鎖死，還不如一開始就去A。走跳板的人被跳板困住，只想着A而在B处处受限。同时眼睛只看到自己想跳的地方而看不到眼下，即没有利用好当下的资源，又有着跳不过去的风险。&lt;/li&gt;&#10;&lt;li&gt;回想这个master读的，一开始就没有老实的想按照课程设计走。贪图学校的排名而没有去CS专业（其实主要是没申什么转码CS，害怕直接CS跟不上，现在看来完全没必要）。一开始就想去跳到DS好选CS的课，结果被DS硬拒。勉勉强强上了几节CS课。最后一学期了不得不上了两门ML，回头才发现SCMP的课程其实确实有能读成Machine learning engineer的路线，有化学生物机械配合机器学习做模拟的路线，以及通过waive课程换取3 - 4个Free elective（waive 掉 CIT596， CIT590，ENM502 再加上一个one base free)， 大概可以上掉database, network, os, distributed system和web development。我没有做好攻略，只上了network和database，两门java入门和算法入门， 一门概率统计（为了转DS上的，turns out变成了ML的基础), 一门大数据分析水课（用了用apache spark）和CV痛苦劝退图形学， 一门AI算法以及两门机器学习了。这样看来确实成了半CS半DS。&lt;/li&gt;&#10;&lt;li&gt;如果回到两年前，我想确实可以去掉图形学和大数据水课，改上两门deep learning进阶，学完确实妥妥变成MLE，6门DS + 2门CS入门+2门CS基础，这个项目确实也还可以了。可惜最后一学期才上了两门DS，还是在和老师沟通后可以选择的结果，否则任何一门都和入门的概率统计互斥了。 奇怪的课程设置，这个项目还是更适合做生物化学工程信息，真不知道当初为什么要录取我这门一个三不知的选手&amp;hellip;.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>在2023年转码</title><link>https://qihang-dai.github.io/archive/%E8%BD%AC%E7%A0%81%E9%94%81%E6%AD%BB01/</link><pubDate>Thu, 12 Jan 2023 23:09:30 -0800</pubDate><guid>https://qihang-dai.github.io/archive/%E8%BD%AC%E7%A0%81%E9%94%81%E6%AD%BB01/</guid><description>&lt;p&gt;create value, not just make money. 金钱只是价值的传播媒介。要想生存还是得创造价值。 尽管像leetcode and system desgin这种general knowledge似乎仍是大企业的面试标准流程，但现在的job market让我明显感觉domian knowledge更valuable。 给一个candiate发面试只是因为看到了他的domain knowledge on his resume match the value he could create in the job position.&lt;/p&gt;&#10;&lt;p&gt;kiv说的对，《黑客和画家》的核心果然是反卷。卷是个非常有意思但不可避免的现象。因为看不到其他路径，所以一群人只能在几条已经有过成功案例的路线上不断互相零和，直到这条路线上的生存难度收敛到一个在极端值才能均衡的状态， 好比清北博士去政府街道办，Leetcode千题选手艰难上岸一样。&lt;/p&gt;&#10;&lt;p&gt;Leetcode和培训机构实际上是一类食物非常恶心的东西，他变相降低了企业设置的算法测验的难度，导致其原本的筛选作用失效，而企业不得不提高标准。诚然，刷题在刷到一定的程度就足够应付现在所有的面试了， 但当下这个“程度”是以年为计量的。原来比较低的均bar强行拉高，首先造福一小批“先行者”或者交得起钱的学生让他们获得短暂（一年，或者两年？）的优势， 进而强迫所有竞争者花费成倍的时间精力来达到原来的标准，或者付费给培训机构以提高效率。&lt;/p&gt;&#10;&lt;p&gt;Leetcode类产品割韭菜一轮又一轮，却是通过消减整个社会的价值和将风险和责任转移到所有就业者得来的。 这些死命刷题的人的时间本来可以用来学习技术，提升自身价值的同时创造价值，现在却被用来无止尽刷题，这是一种浪费。如果世界没有leetcode，大概会多出很多开源项目吧。&lt;/p&gt;&#10;&lt;p&gt;在经济上行周期，企业放水扩招，一批又一批合格的candidate被培训出来，或者被迫自我培训出来。 人人大包都开心，上岸好似范进中举。HC过多的时代人总是招不够，只要标准化的刷题测试过了就可以招进来，反正可以学，可以培养嘛！就算碰到了一个配有domain konwledge而刷题不过关的选手，刷掉了也无伤大雅，domian knowledge反正可以学出来，不如用算法题上看起来更聪明的人才好好培养。当经济下行周期来临，企业开始裁员停招，有限的head count中企业不得不重新拾起旧的价值观：这个candidate和他的knowledge pack真的对我来说valuable吗？风向一变，这个世代的毕业生成了上个世代规则的最大受害者。尽管简历上有着fancy的大厂名称，我们还是开始碰壁了，嚷嚷着这是版本陷阱。&lt;/p&gt;&#10;&lt;p&gt;简历上的fullstack yelp camp和学校的几个大project突然不管用了。找不到出路的我们开始恐慌，一窝蜂地四处寻找。 要学分布式吗？要学database开发吗？要学swift学react native吗？学什么都不是问题，问题是学什么才能让我找到工作？时间不够了，能学完吗？学不完，学了好像又忘了，好像也达不到面试的标准。最后只有Leetcode，只能，也只会leetcode。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://www.emojidaquan.com/Uploads/front/2021_08/thumb_61245139cbb86.png" alt="pariston hill"&gt;&lt;/p&gt;</description></item><item><title>找工作</title><link>https://qihang-dai.github.io/archive/jobhunting/</link><pubDate>Wed, 04 Jan 2023 18:27:42 -0800</pubDate><guid>https://qihang-dai.github.io/archive/jobhunting/</guid><description>&lt;h2 id="2023-01-20"&gt;2023-01-20&lt;/h2&gt;&#10;&lt;p&gt;又是一觉醒来😀，13万人的谷歌也狂裁一万多人。perm停办，实习倒是还在招。这样前三名META,AMAZON和GOOGLE都裁员了，老四老五的IBM和SAP倒是没裁员。APPLE和snowflake没裁员，一些DATABASE公司也都还好，泡沫过大的coinbase, snap和doordash倒是裁员了。 稍微想一想，猛刷题才能进的地方都裁员了，猛刷题也进不去的地方没裁员。刷题指数==泡沫，可以把股价，裁员数，扩招数，刷题看重度等等综合算个泡沫指数。 挂了几个面试，发现还在招人的地方越来越不看重刷题而更看重真实的工程能力，秒过leetcode两道easy medium然后直接被挂的案例比比皆是。和一个找实习的同学交流，他居然好久没刷题也没碰到考刷题的地方了。确实，现在还在招人的小公司，希望你进去就可以build产品， 做demo的意义远大于考几道算法题。算法面试说到底还是在招聘量过大的情况下硬性抬高bar的一个手段。筛选的成本被转移到所有求职者身上。 随着谷歌凌晨三点轰轰烈烈的大裁员，由衷的希望刷题时代结束了。&lt;/p&gt;&#10;&lt;h2 id="2023-01-04"&gt;2023-01-04&lt;/h2&gt;&#10;&lt;p&gt;午觉醒来又惊闻亚麻大裁三万人。 看来我的offer在风雨中飘摇的更厉害了。五月毕业。grace period 60天。 0.5个offer。刷题，数据库，分布式，fullstack, 甚至一些devops，还要应付最后一学期。一天除去做饭买菜的时间又太少，基本只能干一个事，更别提晚上我还想玩一会儿游戏&amp;hellip; 想来想去还是得列个路线。&lt;/p&gt;&#10;&lt;p&gt;刷题是需要固定成日程的。 秋招的时候有太多OA（Codesignal,说的就是你）做不过而拿不到VO。 毕竟OA-VO-VO-OFFER来说刷题确实是提高offer率的最大因素。一个月可以让刷题能力上一个台阶，也可以用掉来学完某门课程上简历增加OA率。然而Job hunting终点在于Offer命中率而不是VO量，刷题就更重要了。 如果因为简历OA和VO数量多而在花时间准备的同时又无法拿到最终offer，会陷入job hunting的无尽内耗。所以&amp;hellip;刷题吧少年。&lt;/p&gt;&#10;&lt;p&gt;第二个还是career成长和课程学习。学习路线已经安排好，目的就是提高自身的硬实力和可用性，在市场上获得更多的机会。 刷题适用于上规模的公司，HC多而只看刷题。 做Project即适用于被大公司的组招看上又适用于小公司startup更适合真正提升软工实力，也不能为了刷题一放了之。&lt;/p&gt;&#10;&lt;p&gt;考虑到持续玩OW对水平的提升远大于短时间大量玩OW这一事实，坚持就算胜利+两手抓大概是最好的打算。把可用时间进行block划分，刷题和项目采取2 day : 1 day 或者3 day : 2day的模式轮替。 其次是开源时间，比如减少看电视看漫画看porn少刷推少看新闻多开飞行模式增加deep work，快速放弃低效率工作加速生活琐事处理时间减少成本，做饭采取快速做法，多用网上买菜，以及强迫自己一天只拉一次等等&amp;hellip;.&lt;/p&gt;</description></item><item><title>我的2022</title><link>https://qihang-dai.github.io/archive/2022review/</link><pubDate>Tue, 03 Jan 2023 16:28:06 -0800</pubDate><guid>https://qihang-dai.github.io/archive/2022review/</guid><description>&lt;p&gt;以前不願意寫年終總結。一個是上學沒有自由，壓根無料可寫，不過是要被關在名爲學校和家庭的監獄又一年。隨著年紀迷茫變少后，感覺還是需要一些wrap up和life snapshot來給自己提供修正的反饋，不然一輩子混亂漂流，以後肯定會後悔。糾結了很久到底要不要發到帶有真實信息的個人網站上，甚至把blog uri從profile上刪掉了。很害怕因爲政治敏感類信息而被查水表。在reddit上才看到某同胞因言被關了八個月才放出來。可憐的國人一輩子活在被審查的陰影裏， 我們的國家真是太糟糕了。&lt;/p&gt;&#10;&lt;p&gt;2021 Fall的時候上了一些水課的同時胡亂刷題，結果也沒刷會，理解不了答案也不會DEBUG，除了狂亂刷題+做挂OA無面試+應付作業，在UDEMY上無頭蒼蠅一樣的花了很多時間卻不知所云的破課。確實做了很多無用功。2022 算是我轉碼正式上路的第一年， 這麽一想也不為自己現在還這麽菜羞愧了。&lt;/p&gt;&#10;&lt;p&gt;首先是轉DS失敗。SCMP的選課限制太多，實在不想上生物機械物理課。轉DS成功的話就可以儅CS上，什麽OS 分佈式 沃頓隨便選。結果滿績點的第一個學期被ON HOLD，第二個學期被REJ， 儘管我還在MEDIUM上寫了一篇聲淚俱下的PERSONAL STATEMENT解釋轉專業對我多麽重要。 想來當初就應該直接去別的學校的CS master項目。 好似之前刷的一個推：你想用B做跳板到A, 大概率是永遠被B鎖死，還不如一開始就去A。&lt;/p&gt;&#10;&lt;p&gt;第二個學期上了UPENN workload最大的Internet &amp;amp; Web System。 Zach的課還是那麽的廣而不精，分佈式的2PL、網絡、OS甚至DB都有涵蓋一點。但是project真的巨難，手動實現一個java的web server framework，一個多綫程爬蟲，最後變成存在Berkely DB裏的TF倒排/哈希一致的搜索引擎。同時上了CIT的算法課，在Leetcode上總算入門了。另外上了一門圖形學入門，複雜的綫性代數真的徹底勸退我對CV/AR/VR的任何好奇心。&lt;/p&gt;&#10;&lt;p&gt;22的春招比21FALL還奇怪。在我被巨大workload折磨間隙不斷的投遞，一個OA都沒有。也有在抽空刷題，不過還是在背誦答案。 心態在爆炸后變的平和和佛系，甚至打了通一大部分塞爾達。在三四月已經準備放棄找實習直接準備2022NG秋招的時候突然來了好幾個面試，然後十天内快速收到某火熱start up的實習offer。喜出望外立馬就簽了，別的也不面了。感謝巨大workload給我對設計一個複雜軟件的培養。雖然這個offer幾個月後看來是福兮禍所依。&lt;/p&gt;&#10;&lt;p&gt;然後就是實習。搬回SF ONSITE, 掙錢的日子好快樂，想要return再也不要刷題。和女朋友在SF碼頭吃完飯，在陽光，海風，棕櫚樹和城際花園的間隙裏走回去。然而實習并不順暢。 不會用GIT，bash，甚至不知道npm。分到奇怪的infra組，做了一個暑假和security和deploy鬥智鬥勇的devops活。K8S, Helm和Terraform是臭名昭著的惡心，對GCP和AWS的濾鏡也像對CV的憧憬一樣失去了。同時被鄰座哈佛哥社交和代碼量上爆殺，羡慕他漸漸可以每天GOLANG或者RUST寫產品，而我只能在小小的bash窗口裏手動修改k8s secret。final day和mentor+慈眉善目的VP meeting，果然沒有return。Sighs. 想來本來工作的也不開心，有時候周末和深夜還要為了deploy時間加班，算了。 一向“機智”的哈佛哥果然拿到了， 但意料之外的他拒掉了return而是在實習期間保持刷題並面過了bbg。人家plays by the rule, how can i blame him for being a sucker. 一直給與我幫助的mentor甚至從來沒有通過我的領英請求，感受到了一些職場的冷暖。&lt;/p&gt;&#10;&lt;p&gt;越來發掘交友是如此困難，真的朋友只是可遇不可求， 無法靠相處時間和利益交換來建立。慶幸的是和同期實習的尼泊爾小哥成了朋友，這就值了。我們在final day無return的巴士上互相吐槽。現在他拿到了賣力的offer，在那座高聳入雲的大樓上對著小小的實習公司building竪中指。&lt;/p&gt;&#10;&lt;p&gt;八月份考了駕照，買了車。被黑心國人教練“灣區駕校老李”狠狠坑了八百刀。只能怪自己防備心太少，一是沒有硬氣的fuck him and refuse to pay， 二是根本沒有做測驗一味相信自己的選擇， 三是在小紅書選教練時就沒好好選並提早共情。這是我的一個毛病，畏懼起矛盾，對自己主動選擇的選擇和有好感的人和事自我感動覺得利益共同，雙手合十祈禱不會出岔子，結果往往啞巴吃黃連。後面女朋友找了一個非常負責的粵語區的教練帶我們一次考過，感嘆這其中的素質差距。教訓是就應該在他反復遲到的時候讓他直接滾蛋，説來説去，還是要帕里斯通（Hunter X Hunter 角色， 行爲乖張而不按邏輯）。 寫Review這事也夠循規蹈矩。&lt;/p&gt;</description></item><item><title>學習路綫</title><link>https://qihang-dai.github.io/archive/%E5%AD%B8%E7%BF%92%E8%B7%AF%E7%B6%AB/</link><pubDate>Thu, 29 Dec 2022 17:14:08 -0800</pubDate><guid>https://qihang-dai.github.io/archive/%E5%AD%B8%E7%BF%92%E8%B7%AF%E7%B6%AB/</guid><description>&lt;p&gt;Data Platform Engineer. Built a new integrated platform on top of K8s. Mainly Python, some golang. Distributed system, cloud computing, database would be necessary.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://fullstackopen.com/en/"&gt;Helsinkin Fullstack Open&lt;/a&gt; I have so many great product ideas in mind that I want to build so I have to learn some front end.&#10;&lt;ul&gt;&#10;&lt;li&gt;预备学fullstack + Django，先学会走路再想学分布式DB优化这种在实际应用场景才有用的东西。比如Pennlabs做一些学校内部的前后端产品。突然想起来半年前买了两三年的.eth域名，正好可以用来练练web开发做一点web3接口的小工具，&lt;/li&gt;&#10;&lt;li&gt;經過一些調查發現WEBGL對於就業來説還是差點意思，作爲side project和游戲開發入門倒是不錯。學完FULL STACK OPEN之後，還是先刷題， 再學分佈式，再學數據庫好了。 圖形學的東西可以放放，先混口飯吃. &lt;del&gt;Afterwards I would like to learn WEBGL and Three.js to build some 3D visualization. Found some interesting &lt;a href="https://gaohaoyang.github.io/tag/#Three.js"&gt;blog&lt;/a&gt; and &lt;a href="https://threejs-journey.com/#"&gt;tutorial&lt;/a&gt;&lt;/del&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://15445.courses.cs.cmu.edu/fall2021/schedule.html"&gt;CMU 15-445 Database System Implementation&lt;/a&gt; Then learn &lt;a href="https://15721.courses.cs.cmu.edu/spring2022/schedule.html"&gt;CMU 15-721 Advanced Database System&lt;/a&gt;. I have seen too many job posts that require database developing requirement. After doing &lt;a href="https://pg.vonng.com/#/post/why-learn-database"&gt;some research&lt;/a&gt; it seems that database would at least give me a chance to make a living.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pdos.csail.mit.edu/6.824/schedule.html"&gt;MIT 6.824 Distributed Systems&lt;/a&gt;. A must learnt course for morden software engineering.&lt;/li&gt;&#10;&lt;li&gt;Cloud computing, cloud native, devops, etc. I have seen too many job posts that require cloud computing developing requirement. After doing &lt;a href="https://pg.vonng.com/#/post/why-learn-cloud-computing"&gt;some research&lt;/a&gt; it seems that cloud computing would at least give me a chance to make a living.&lt;/li&gt;&#10;&lt;li&gt;Cloud Computing, Cloud natives, Devops, Site Reliability Engineering, Infrastrcutre engineer etc. This part is what i have step my foot in during my internship, and may become a good value point for my domian knowledge. The &amp;ldquo;Cloud&amp;rdquo; thing is not normally taughted in school and is still new, which should be a good path for me to explore. Well, Lets see which path would come to bloom&lt;/li&gt;&#10;&lt;li&gt;MLOPS with stable diffusion / LLM. hot topic&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Site</title><link>https://qihang-dai.github.io/archive/site/</link><pubDate>Thu, 29 Dec 2022 16:11:42 -0800</pubDate><guid>https://qihang-dai.github.io/archive/site/</guid><description>&lt;p&gt;template is so hard to use. still in way to debugging&lt;/p&gt;&#10;&lt;p&gt;the archive seems not working perfectly when adding photo folders under it.&lt;/p&gt;&#10;&lt;p&gt;I deploy it into Netlify, bought a domian in goDaddy (pretry cheap). and after some DNS server configuration it works fine now&lt;/p&gt;&#10;&lt;p&gt;Still, the twitter card when sharing link is not working. But i shouldnt put too much attention into it. Need more time to learn things, leetcode and job hunting.&lt;/p&gt;</description></item><item><title>About</title><link>https://qihang-dai.github.io/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://qihang-dai.github.io/about/</guid><description>&lt;p&gt;Hello, I’m Qihang. I build software and experiment with systems that make complex work feel more direct.&lt;/p&gt;&#10;&lt;p&gt;Recently, that has meant AI agents, developer tools, and small products with a point of view. Before software, I studied atmospheric science and computational science—an indirect route that still shapes how I think about models, infrastructure, and uncertainty.&lt;/p&gt;&#10;&lt;p&gt;This site is a working notebook: technical field notes, project postmortems, and occasional writing about learning and life. The older entries are kept in the &lt;a href="https://qihang-dai.github.io/archive/"&gt;archive&lt;/a&gt; as snapshots rather than polished conclusions.&lt;/p&gt;</description></item></channel></rss>