- The interview process is designed to challenge you, and even the best candidates feel “stumped.” The question is this: What do you do next?
- Life is a team sport.记得团队合作,记得聆听他人意见。
smooth emacs: https://github.com/railwaycat/homebrew-emacsmacport https://news.ycombinator.com/item?id=12830206
install emac for mac, Good point: instead of `brew install emacs-mac`, I should have written, `brew tap railwaycat/emacsmacport && brew install emacs-mac`.
always been partial to “A Tale Of Five Editors” ~ http://www.catb.org/esr/writings/taoup/html/ch13s02.html
关于怎样去重构老代码,你进入一家公司面对的一坨屎的时候的处理方式。
- backup 把所有能想到的备份都做好。
- 线上版本分支记好,并且自己能够编译出来这个版本。简而言之就是先跟线上对标。
- DB先不要动,等到逻辑都理清楚了最后动。
- 多写测试用例,这个平时一直在做
- 不要试图去写一个第二版。
手工打造一个CPU!
离职原因,恩,死海效应之前也听说过
定义一些规范,开发部署等
golang的workqueue模型
里面正好也参考了正在看的书Understanding Linux Network
Container Internal
推荐书的帖子,比如:
- Working Effectively with Legacy Code by Michael Feathers
- The Effective Engineer
- The Design of Design: Essays from a Computer Scientist” by Frederick P. Brooks
- Advanced Programming in the Unix Environment by Stevens
- Operating Systems: Design and Implementation by Tanenbaum
- The Art of Unix Programming by ESR
- Parsing Techniques by Grune and Jacobs
- Applied Cryptography by Schneier
网络
做好离职:
- Focus on transition asap. Give the leaving employee plenty of time to document knowledge.
- Make sure to treat all parties involved with respect.
- Have an exit interview with the founder where you can give final feedback (with the understanding that it may be ignored).
- Treat everyone like you might work with them again.
api design rest原则
https://simplystatistics.org/2017/06/13/the-future-of-education-is-plain-text/
两篇文章相似,plain text,纸和笔,讲这些的重要性。
每天坚持阅读bsd代码,很有启发。
30岁转编程的心路历程 How do you know if you are immersing? If you are not dreaming in code, you are not immersing yet.
Everyone has time commitments, so to learn as fast as possible, try to apply the principle of immersion as best as you can.
关于面试:
- 不去看背景,盲面就看他编程水平
- 筛简历然后电话面,简历50%的淘汰,电话面试30%的淘汰
- 做录用建议时要大家开会,必须出现至少一个强烈建议录用的情况
上篇文章的姐妹篇
- 热情,要先有准备,对这家公司让你兴奋的点可以列下
- Practice, practice, practice(Cracking the coding interview), 刷完lintcode
还是有些帮助。
图形展示各种算法
If they don’t have the money to pay you, you’re not an employee, you’re a founder and you get the same deal that they get.
If they balk, suggest that they find another code monkey while you find another biz monkey and let the market decide who ends up with the bananas.
- Work hard, be nice to people. If you make eye contact, say hi. Everybody felt this way at some point, you’re not the only one who’s uncomfortable.
- The un-comfortability is good for you. Comfort zones need to be stretched.
Forget the drama. Focus on being happy. Speaking of which, keep a journal. Seriously. Your memory is extremely faulty. I “Let us so live that when we come to die even the undertaker will be sorry.” – Mark Twain
golang context的解释,不错
一个goversion的DNS库,以后可以根据这个写些应用
js的tricky part
连接到matrix的一个golang程序,看了一下实现,对每一个列增加一个goroutine然后在里面按 时间每次更新即可。没什么大的技巧在里面。但很有创意。
坚持一个小习惯: a. Writing a Gratitude Journal b. Going to Gym in the morning c. Programming in the morning d. Reading in the morning
money的起源,从贝壳讲起
向小孩子讲程序员的工作。
remote job经验之谈
git的internel表示,和我多年前接触git写的文章神似
一周工作四小时那本书的看法,这位的评价很中肯 Like any other book… There is no recipe for success. But there are a lot of techniques on how to maximize your income.
jeff dean的AI课程
线性代数
淘宝的enginx书籍
编译器的入门讲解
排版很赞的一个C++ DS讲解
https://github.com/cstack/db_tutorial
https://github.com/satwikkansal/wtfpython
https://hackernoon.com/the-beauty-of-go-98057e3f0a7d
https://blog.sessionstack.com/how-javascript-works-event-loop-and-the-rise-of-async-programming-5-ways-to-better-coding-with-2f077c4438b5
how js work
面试的时候问什么
https://medium.com/@gsvpioneer/what-i-learned-from-reading-every-amazon-shareholders-letter-cdc35f309e8b
对jeff bezos的一些总结
https://techiedelight.quora.com/500-Data-Structures-and-Algorithms-practice-problems-and-their-solutions?__filter__&__nsrc__=2&__snid3__=1594232728&share=1
500 个数据结构以及解答
香浓如何解决问题:
- Simplify.
- Learn and think about similar problems and solutions.
- Approach a problem from different angles.
- Break the problem into small parts.
- Solve the problem backwards: from solution to problem.
- Extend your solution as far as it will go.
要记笔记
作者从一个单进程串行后端服务写起到多线程到基于select/epoll到libuv写一个后端服务,对于底层细节了解很有帮助(三年前自己也很喜欢抠这些细节),当然这些对于 创业公司而言其实没有必要,因为是在造轮子,对于一门后端语言比如Go都已经做好封装,只需要写上层逻辑即可。
Since you asked, I’ll try to share what I’ve learned. You can become incredibly effective if you invest in the skills to become a better teacher. Usually if someone is not learning, its the teacher not doing a good job.
- Test - before starting any topic, make sure your student has a grasp of the prerequisites by giving them simple tasks. Just because you have taught them the prerequisites a week ago does not mean that they didn’t forget.
- When you are teaching them, talk as little as possible. The only thing you should be saying is the concepts.
- Ask lots of questions. Ie: What is an object (expect them to repeat what you told them); What happens if (insert 10x different cases). Teach by asking.
- Set 0 expectations. If you get frustrated its because you have expectations. Many people have self confidence issues. Being disappointed will cause your students emotional stress and they will not be able to learn. They might start to avoid asking you questions…
- Listen. Many times, your students could be saying what you wanted to hear, but worded differently. Their analogy could have the same concept as yours but very different. Learn to recognize what students are saying.
I can’t emphasize #3 enough. When I teach, I never say more than 2 sentences without asking a question. Because you quickly realize that people have a hard time retaining more than 2-3 sentences at a time. You should 100% invest your time to get better at teaching. Teaching is a skill that schools robs from our childhood growing up. It helps you sympathize with people better, understand people better, communicate with people better, etc., all pretty real skills to have.
如何阅读科技类书籍
使用logbook的一个工作方法,这些年自己一直践行这样的方法
https://carld.github.io/2017/06/20/lisp-in-less-than-200-lines-of-c.html C写一个Lisp
https://news.ycombinator.com/item?id=15608435 手写一个container
kernel module入门
HN的一个讨论,下面有不少推荐的go repo,可以看看
偶像!
Writing code has to be pleasant experience. Writing code is like painting or sculpting. You have to have a passion for it. You have to love it. Otherwise, what’s the point? You’d be better off working behind an assembly line for some car manufacturer.
https://blog.goodaudience.com/a-beginners-guide-to-getting-started-in-the-cryptocurrency-world-69c50516be71
去中心化的加密货币相关的入门
比特币入门
raft协议的图解,最后还有论文,可以看下
https://www.slideshare.net/AprilWensel/anxiety-tech-cultivating-compassionate-tech-communities-april-wensel
技术氛围的构建