前言
我在知乎上看到这样一个话题,关于程序员的:
听同学说干码农这行每天都要加班,这样的话,不就没精力做别的事情了。有个师兄做 IT 销售,不太辛苦,生活还算是美滋滋,是真的吗?我也知道社会上干哪一行都不容易,可是好像码农生活确实单调无聊。天天敲代码,日常嗨一嗨都没时间,更别说有精力谈恋爱了。想问问正在工作的各位前辈,你们的生活是怎么样的?
开门见山、开诚布公地说吧,我是一个对技术没有很大热情的程序员。这样说会不会遭到一些同学们的 DISS?不管了,反正我知道一不小心又甩了两个成语,感觉自己挺有才华的。你们要是枯燥地笑了,请在文末给我一个大大的赞。
一面:
先是问了问项目,然后就开始问一些问题
1、每个请求耗时100ms,机器的配置是4核8G,问要达到10000TPS需要多少台机器?
没答上来,问了问是IO密集型还是CPU密集型,然后面试官说我想得太复杂了
2、怎么实现网页的自动跳转
答301 302的Location字段,然后又问了我这两个有什么区别
3、有一个10G大小的文件,里面都是32位的无符号整数,但是内存大小只有1G,问如何找出里面重复的数字
一开始说用hash,先hash到小文件。面试官说有没有更简单的,答位图,又问你觉得位图会占用多大的内存空间。算了一会,答512M
然后就是算法题,一个Unix的路径,简化这个路径,Leetcode上有原题
一面大概36分钟
二面:
围绕项目问了很多问题,和我讨论了怎么保证双写的一致性、消息队列中消息积压了怎么办、为什么要用到分布式锁、ZK的分布式锁的使用流程、ZK的选主策略、同步策略然后又围绕K