69书吧最新网址:www.69hao.com
首页 > 精品推荐 > 美利坚:我的模拟器不对劲! > 第二十三章 论道

第二十三章 论道(1/2)

目录
好书推荐: 超时空奶娃,晋阳公主小兕子 魔门仙府 刁民,別打扰我拯救世界 魔修也要上班打卡吗? 鲁智深穿越一人之下 我给历史加点难度,玩家全破防了 战锤:开局行星总督,欠税三百年 港片:洪兴,从斩杀大嫂开始 没监控敢讹我?不知道我五行缺德 斗罗:萧萧的绝世人生重制计划

陈哲跟著站起来,目光扫过那群人。

走在最前面的是一个三十多岁的白人男性,个子不高,穿一件洗得发白的蓝色卫衣,头髮有点长,扎了个小揪在脑后。他手里拿著一个保温杯,杯身上印著纽约的logo,边缘的漆已经磕掉了好几块。

“麦克!”那人走近,伸出手和麦克击了个掌,“好久不见。”

“群主。”麦克笑著指了指旁边的陈哲,“这是陈,新来的,我拉进群的。”

群主的目光落在陈哲身上,从上到下扫了一眼,然后伸出手。

“欢迎。叫我本就行。群主是大家开玩笑叫的。”

陈哲握住他的手。本的手掌很厚,指腹有茧,不知道是敲键盘留下的还是別的什么。

“陈哲。”

“中国人?”本问。

“对。”

本点点头,没再多问。他转身朝后面那群人招了招手:“都过来吧,找个地方坐。”

一群人往长椅那边移动,有人坐下,有人靠在栏杆上,有人乾脆坐在草坪上。陈哲粗略数了数,加上他和麦克,一共十二个人。

本清了清嗓子。

“今天叫大家出来,没什么正事,”他说,“就是最近群里太安静了,想让大家见见面,聊聊天。都是干这行的,平时对著屏幕,也该出来透透气。”

有人笑了一声。

本从口袋里掏出一个笔记本,翻了翻。

“先介绍一下自己吧。从我开始。本,做youtube的,频道叫『码农日记』,主要讲后端和资料库。干了五年,还在干。”

他把笔记本递给旁边的人。

那是个非裔女生,二十多岁,厚嘴唇,戴一副圆框眼镜,扎著马尾。她接过笔记本,看了一眼,然后抬起头。

“莱拉,群里的『爱来自冒险家协会』,是一家游戏公司的程式设计师。”

隨后是一个重度近视镜的华人男子,淡淡地说:“书虫。”

此外均是一群美国白人。

陈哲的目光也在这群拘谨的成年社畜之间游移。

美国高级程式设计师中黄种人和白种人的数量大约各占一半,但是在目前这种低端局里,白人还是占了巨大优势的,毕竟是本土主要民族。

陈哲看向群组暱称为书虫的华人男子,而对方的眼镜上起著雾,也看不清对方的表情。

现场除了自己和对方,还有那个叫莱拉的黑人女生以外,其他人的手里都拿著一部高端牌子的笔记本电脑,诸如macbook pro、戴尔、rog、razer、lg gram系列。

陈哲不动声色地抖了抖自己的背包,里面那台老式的二手thinkpad联想,看上去倒是和这些人有点格格不入了。

不过好在陈哲拥有lv2的计算机技术。

笔记本继续传。

“汤姆,后端,主要写go。”

“莎拉,前端,目前在自由职业。”

“戴夫,devops,最近在搞k8s。”

……

不久,十二个人介绍完,本拍了拍手。

“行,都认识了。接下来自由活动,想聊技术的聊技术,想聊八卦的聊八卦。十二点的时候我请大家喝咖啡,楼下有家店不错。”

本说。

人群散开,三三两两地聚成几堆。

陈哲站在原地,目光扫过四周。阳光已经彻底升起来了,河面上的碎金晃得人眼睛发酸。远处有几只海鸥在盘旋,叫声尖锐,像是在爭夺什么。

他注意到那个叫书虫的华人男子独自站在栏杆边,背对著人群,望著河面。眼镜上的雾气已经散了,但他没有要加入任何一个小团体的意思。

陈哲想了想,没有走过去。

“陈,对吧?”

一个声音从旁边传来。

陈哲转头,看见那个叫汤姆的白人男生走过来,手里拿著一台macbook pro,屏幕还亮著。

“对。”

陈哲整理了一下自己的衬衣,说。

汤姆点了点头,在他旁边的栏杆上靠下来。

“我也是社区大学出来的,”他说,“皇后区的拉瓜迪亚社区学院。转了学,最后在纽约城市大学毕的业。”

他顿了顿,笑了笑。

“这条路走得通,就是慢一点。”

陈哲没说话。

开盒!

陈哲从来没有透露过自己的身份,但是遇到有心之人,就是直接开了。

“改天得消除一下行踪了……”

陈哲眸光深思,对於程式设计师来说,想要套取到他人的信息是一件容易事。就算是那些专精於网际网路人肉搜索的青少年,在这方面爱好也敌不过兴趣。

就在这时,汤姆的声音又传来。

“你现在写什么语言?”

“python。”陈哲答。

汤姆頷首,目光落在河面上。

“python挺好入门的,”他说,“不过后端的话,迟早得学go或者java。看你以后想走什么方向。”

陈哲刚要开口,身后传来本的拍手声。

“都过来一下!”

人群重新聚拢。本站在中间,手里不知从哪掏出一块白板,大概a3纸大小,上面贴著一张纸,纸上写著一行字。

陈哲走近了才看清那行字是什么。

“设计一个url短连结服务”

本把白板举高了点,让所有人都能看见。

“来,玩个游戏。”他说,语气里带著一点兴奋,“这玩意儿大家都不陌生吧?短连结服务,bitly那种。给你一个长url,生成一个短码,访问短码的时候重定向到原地址。”

他顿了顿,目光扫过人群。

“规则很简单:每个人三分钟时间,想一下怎么设计。可以討论,也可以自己想。三分钟之后,每个人轮流说自己的思路。”

有人笑了一声:“面试来了。”

本也笑了:“面试?没意思。这是游戏,隨便聊。谁说得有意思,我请他喝咖啡——不是楼下那种,是正经的第三波咖啡。”

“更何况,这种事我们之前的聚会也做过,不是吗?”本嘴角上扬。

人群里响起几声口哨。

陈哲站在原地,目光落在那行字上。

url短连结服务。

简单来说,url短连结服务就是一种將冗长的网址(url)转换为简短地址的工具。当用户点击短连结时,会被自动重定向到原始的长网址。

这东西他见过,用过,但从来没想过怎么设计。

三分钟。

他开始想。

……

最开始想到的是最简单的,一个资料库表,两个栏位,长url和短码。用户提交长url,生成一个隨机字符串,存进去。访问的时候查一下,重定向。

但这样太简单了。隨机字符串碰撞怎么办?重复的url要不要復用同一个短码?访问量大的时候资料库扛得住吗?

过了半分钟,他想到了哈希。把长url用md5或者sha256哈希一下,取前几位作为短码。但哈希衝突怎么办?再加个盐?还是用布隆过滤器先判断一下?

隨后,陈哲想到了缓存。

高频访问的短码可以放redis里,不用每次都查资料库。但缓存失效怎么办?缓存雪崩怎么办?

再接著,他想到了分布式。如果服务做大了,单机扛不住,得用分布式id生成器。雪花算法?还是用资料库自增id然后取模?

一分钟,他想到了更多。

短码过期怎么办?自定义短码怎么支持?统计点击量怎么实现?防攻击怎么搞?

……

三分钟到。

本的拍手声把陈哲从思考里拉出来。

“行,时间到。”本说,“谁先来?”

人群安静了一秒。

“我来吧。”

说话的是汤姆。他往前站了一步,清了清嗓子。

“最简单的设计:一张表,id自增,长url栏位,短码栏位。短码可以用id的62进位表示,0-9a-za-z,一共62个字符。id从100000开始,保证至少六位短码。”

他顿了顿。

“优点是简单,不会衝突。缺点是自增id容易被遍歷,可以加个隨机偏移量。访问量大的时候加缓存,redis存热点数据。如果要做大,分库分表,按短码哈希分片。”

他的语气中充斥著自信,毫无疑问这是个比较优越的答卷。

本点了点头,没评价。

“下一个。”

莱拉站出来。

“我会用哈希。长url做md5,取前六位。如果衝突了,加个盐重新哈希,或者用布穀鸟哈希的思路。优点是短码隨机,不容易被猜。缺点是要处理衝突,性能稍微差点。”

本还是点了点头。

本章未完,点击下一页继续阅读。

目录
新书推荐: 过年我带回个童养媳? 霍格沃兹之从假扮救世主开始 偷听真少爷心声,六个姐姐后悔了 hp:那颠神来自格林德沃! 四合院:从上交核潜艇技术开始 相亲就变强,全城女神沦陷了 科技降维,我在四合院造光刻机 四合院之我是一大爷他叔 四合院:签到黑科技,碾压全院 四合院:开局上交未来基地,国家
返回顶部