博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
史上最难程序员的面试题!谷歌、百度、微软、阿里必答题
阅读量:4186 次
发布时间:2019-05-26

本文共 1723 字,大约阅读时间需要 5 分钟。

相信广大程序员们在生活中一定都碰到过这样的事情:

亲戚:小明,听你妈说你是计算机专业毕业的?现在XX公司做程序员?

程序员:嗯,阿姨,怎么了吗?

亲戚:你看,最近我家崽学什么DIY电脑,自己拆了电脑重装后就坏掉了,你能不能修修。

程序员:阿姨,我也不会修。

亲戚:不用马上修,你有时间来我们家看看就行了,阿姨下次介绍单位的小姑娘给你认识。

程序员:阿姨,我真不会修。

亲戚:程序员不就是专门处理电脑问题的吗?还装不会修,不愿意直接说嘛!(只见亲戚扬长而去,留下程序员在风中凌乱)

在这里插入图片描述

可能会有些网友认为上面这个事例有点过于夸张了,毕竟现在已经是21世纪了,相信大多数人应该对程序员都有一定的认知(tan90°)。

根据有关调查显示,大部分人都认为程序员很会修电脑。

在这里插入图片描述

外行之所以对程序员会产生如此大的误解,根本原因还是程序员解释少了。什么叫做解释少了呢?就是每当外行向程序员讨教行内业务的时候,程序员总是不能很好的诠释相关业务的定义。就好比”什么是数据库?“这个问题,完整的解释太长,不完整的解释不够全面,于是干脆就不解释了。

久而久之,外行对程序员的认知也就越来越少了,而向外行解释行内业务也成了众多程序员迈不过的一道坎。

最近小编在逛论坛的时候刚好看到了几篇相关的文章,在这里分享给大家:

Google, 百度,Microsoft,华为,Alibaba面试题

怎样用三句话向一个 8 岁小孩解释什么是数据库

备选答案:

数据库就是你装玩具的抽屉,一个抽屉装一类玩具,这就数据库嘛

就象一個智能的玩具箱,所有玩具都放在里面很整齐,当想玩哪个时只要喊一声它就会自己从箱里跑出来
孩子,你还小,大了就知道了
在这里插入图片描述
电脑里面存了好多好多数据。数据就像各种各样中药,在没有数据库之前,中药就是一包包这样杂乱无章地堆放着(unorganized data),找也不好找(inaccessible)。如果你是药店的掌柜,你怎么来管理这些药呢?

聪明的古人就想了办法:把所有的中药都放到柜子里面(data table),柜子里面都是大小一样的小盒子(organized data model),每个盒子(a row / record)都在外面标签上写上药名,按笔划排序帮助快速查找(index / primary key),比如你要找三七,那么一定是三笔的头几个——现在找东西是不是方便多了?

如果要找一味温热的药,按名字找可就不大灵了,除了打开抽屉一个一个舔过去,还有什么办法快速找到吗?对啦,就是在抽屉上涂上颜色,比如温热的用粉红色,凉性的用蓝色(secondary key),你还可以用不同大小的抽屉代表药的其他属性(another secondary key)

如果有的药卖空了没有货怎么办?把整个抽屉拿走(delete a row)!如果新增加一种药怎么办?找一个空抽屉放上新药贴个标签呗(add a row)!如果整柜子中药都过期了怎么最快处理?把柜子搬走(drop a table),换个新柜子(create a table),再往里面添加新鲜中药。

如果有一种药量特别大,放在另外一个抽屉大一点儿的柜子里怎么办呢(splitted table)?在这个抽屉里放一张纸条,写上“此药在后堂第三个柜子第二个抽屉”(Foreign key / linked table)。

最后再分享一道益智题(答案在文章末尾):

有10瓶药,每瓶里面有n颗药丸,其中有9瓶药每颗重1g,剩下1瓶药每颗重0.9g。用一个小秤,只称一次,如何找出0.9g的那瓶药?
在这里插入图片描述

我自己是一名大数据架构师,目前辞职在做线上教育大数据讲师,每天都会直播分享免费公开课,大家可以加群参加。以及我自己整理了一套最新的大数据学习系统教程,包括Hadoop,数据挖掘,数据分析。送给正在学习大数据的小伙伴!这里是大数据学习者聚集地,欢迎初学和进阶中的小伙伴!加QQ群:584900118(招募中)

答案:将10瓶药编号1至10,分别从每瓶药中取出与编号相同数量的药丸(即第n瓶取n颗)。将取出的所有药丸一起称重,若重量为54.8g,则第2瓶为我们要找的答案。

最终我们解决问题的方法其实就是计算机算法!

转载地址:http://rnioi.baihongyu.com/

你可能感兴趣的文章
Ubuntu Navicat for MySQL安装以及破解方案
查看>>
在C++中如何实现模板函数的外部调用
查看>>
HTML5学习之——HTML 5 应用程序缓存
查看>>
HTML5学习之——HTML 5 服务器发送事件
查看>>
mysql中用命令行复制表结构的方法
查看>>
hbase shell出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException
查看>>
解决Rhythmbox乱码
查看>>
豆瓣爱问共享资料插件发布啦
查看>>
kermit的安装和配置
查看>>
linux中cat命令使用详解
查看>>
java中的异常机制
查看>>
商务智能-基本方法-数据钻取
查看>>
openstack-instance-high-availability-Evacuate
查看>>
evacuate-instance-automatically
查看>>
pycharm常用设置(keymap设置及eclipse常用快捷键总结)
查看>>
关于在openstack的环境变量.bashrc自定自己简化命令
查看>>
Openstack Heat Project介绍(转)
查看>>
How to Perform an Upgrade from Icehouse to Juno(ice升级到juno)
查看>>
高扩展性网站的50条原则(转)-思维导图
查看>>
解决openstack novnc一段时间后自动挂断登录不上问题,novncproxy dead but pid file exists
查看>>