前端面试常见逻辑题收集及分析

前端面试中常出现一些有趣的逻辑题,初见的时候有可能会手足无措,但实际多看几个题之后就会有一定的思考逻辑,有种打通任督二脉的感觉.以下是我个人面试经历以及网络上收集来的一些经典题目.

题目:

1.现有一个装有无限水的池塘,你手里有两个空壶,一个容积为6升,一个为5升,请问你如何用这两个空壶打3升水?请写出具体步骤(腾讯)

2.有一个烤肉架,它能同时烤两块肉,已知每块肉完全烤熟一面需要5分钟,请问用这个烤肉架烤熟三块肉最快是多少时间?(腾讯)

3.现有A、B两辆汽车相隔一段距离,它们之间有一只小鸟,现在两只辆汽车相向匀速行驶,小鸟也同一时间匀速运动,它先飞向其中一辆车,快撞上时再飞向另一辆车,以此循环,请问直到两辆车相撞是小鸟运动了多少距离?(腾讯)

4.已知班里有百分之八十喜欢篮球,有百分之七十喜欢排球,百分之六十喜欢足球,请问有多少学生既喜欢篮球又喜欢足球的?(腾讯)

5.7点15分的夹角是多少?(腾讯)

以上是我面试过程中被问及到的逻辑题,所以印象比较深刻.

6.一个商人骑一头驴要穿越1000公里长的沙漠去卖3000根萝卜、已知驴一次性可驼1000根萝卜,但没走一公里要吃一根胡萝卜,商人最多可卖出多少根萝卜?写出思路?

7.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

8.一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其他人帽子的颜色,却不知自己的。主持人先让大家看看别人头上戴的什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子?(阿里)

9.你让某些人为你工作了七天, 你要用一根金条作为报酬.这根金条要被分成七块.你必须在每天的活干完后交给他们一块.如果你只能将这根金条切割两次,你怎样给这些工人分?(阿里)

10.A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。只要箱子没被上锁,C都会偷走箱子里的东西,不管箱子里有什么。如果A和B各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?

11.有一个软件公司,1/2的人是系统分析员,2/5的人是软件工程师,有1/4的人两者都是,问有多少人两者都不是?

12.有25匹??,速度都不同,但每匹??的速度都是定值。现在只有5条赛道,无法计时,即每赛一场最多只能知道5匹??的相对快慢。问最少赛几场可以找出25匹??中速度最快的前3名?(百度2008年面试题)

13.游戏在一个圆桌上进行。每个游戏者都有足够多的硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬币完全置于桌面内(不能有一部分悬在桌子外面),并且不能与原来放过的硬币重叠。谁没有地方放置新的硬币,谁就输了。游戏的先行者还是后行者有必胜策略?这种策略是什么?

答案:

1.这类题目是一个数学题,现有两个数字5和6,需要得到3.数字的个数和大小都限定死了,所以我们只能用的加法和减法.(6-(5-(6-(5-(6-5)))))=3

(1)6-5=1:装满6升的壶,然后往5升里面倒,等5升的壶满的时候,六升的壶里面剩了1升水.

(2)5-1=4,6-4=2:把5升的壶里的水倒光,然后把六升壶里的1升水倒进5升壶里,接下来把6升壶装满水,接着用6升壶里的水装满5升壶,5升的壶差(5-1=4)升水满,而装满5升壶时,6升壶还剩(6-4=2)升水.

(3)5-2=3,6-3=3:把5升的壶里的水倒光,然后把六升壶里的2升水倒进5升壶里,接下来把6升壶装满水,接着用6升壶里的水装满5升壶,5升的壶差(5-2=3)升水满,而装满5升壶时,6升壶还剩(6-3=3)升水.6升壶里面就是我们要的3升水.

这类题目就是用已知的两个数字进行减法操作得到其他数字,之后就是重复的步骤了,注意第(2)步和第(3)的步骤一摸一样,只不过数字不一样.数字改变之后也许步骤会增加,或者再增加一个壶,但是核心方法是不变的.

2.这种题目讲究一个资源的充分利用,我们先假设先放两块肉,同时烤熟一面,然后翻面,然后烤熟另一面,那么这两块肉同时烤熟,剩下一块肉放上去烤,共计20分钟,可是!这个烤肉架明明能烤两块肉,现在却只烤一块肉.资源没被充分利用,所以肯定不是最快的方式.

知道假设的思路的弊端的时候,那么就知道这道题的关键是保证任何时候烤肉架上都有两块肉就行.

(1)先放两块肉A、B,同时烤一面,直到那一面烤熟.A、B各有一面烤熟了5分钟.

(2)其中一块肉A翻面继续烤,另一块肉B拿走,放上第三块肉C,直到这一面烤熟.此时.A完全熟了,B一面熟,C一面熟,5分钟.

(3)剩下的就是把B、C没熟的放在烤肉架上烤了,直到完全熟.5分钟. 共计15分钟.

假如总的肉片数量增加或者烤肉架一次能烤的数目变化了,其核心还是不变的.当然,如何不可能完全充分利用那情况就没什么讨论的余地了.毕竟烤肉没有进度条.只能一面一面烤.

3.这种题乍一看啥有用的数据都没有,看着很复杂.但是,这不就是高中数学题吗?特点是啥,没数据就自己假设.最终得到的结果不是百分比就是表达式.

(1)假设A、B之间的距离为m,A的速度为V1,B的速度为V2,小鸟的速度为a(为啥不是V0?因为a比较可爱);

(2)因为大家都是匀速,而且运动时间都是一样的,所以"直至相撞"的时间算出来就是了,t=m/(V1+V2);

(3)所以小鸟运动的路程=速度*时间=a*m/(V1+V2)

可喜可贺-----------------------------------个鬼啊!这道题从高中的数学题角度来说是无解的,因为你看最终的答案中的所有数值都是你假设的而不是题目给的.我也可以假设小鸟的运动路程为a,所以答案就是a.可喜可贺.

这种题只要陈述一个思路就好了,没必要假设啊,列公式什么的.记住,要素较多,题目一个没给,多半只要思路.

4.(1)喜欢篮球的80%,所有不喜欢篮球的20%;喜欢排球的70%,所以不喜欢排球的30%;喜欢足球的60%,所以不喜欢排球的40%

(2)问题是1个人可能都喜欢也可能都不喜欢,所以只能假设了.假设喜欢篮球的都喜欢足球,那么有80%是喜欢篮球和足球的?(鬼哦!喜欢足球的总共就60%),所以应该反过来,假设喜欢足球的都喜欢篮球,那有60%同时喜欢足球和篮球.

(3)上述情况应该是最多的,毕竟用了"都喜欢"这个词了,那假设喜欢都不喜欢,应该就是最少的了吧?(注意,不喜欢篮球的只有20%,所以,下限定死了.)喜欢足球的里面最多只能有20%不喜欢篮球,所以剩下的40%应该是既喜欢篮球又喜欢足球.

(4)所以班上有40%-60%的学生既喜欢篮球又喜欢足球.

范围题注意上下限就ok了.

5.没啥好说的,算就完事了.

(1)七点:时针在7;15分:分针在3,中间相差4个数字.两个数字间为30度角,所以是120度.好像没毛病.

(2)七点十五分:注意七点的时候,时针确实在数字7处,但是七点十五分的时候不在了.分针走了1/4圈,时针也走了1/4个间隔(30*1/4=7.5度).所以为120+7.5=127.5度.

6. 一眼看去好像不光一根萝卜都卖不出,还得欠一屁股债.3000根萝卜,来回三趟6000公里,吃掉6000根?但是,结合之前烤肉的核心思想,我们并没有充分利用驴这个资源.

(1)怎么充分利用驴这个资源,即每次朝终点走的时候都让驴背1000根,每次?对.我们换个理想思路,假如每走一公里就朝驴身上加一根萝卜,走到的时候是不是就是1000根了?但是我们每次做的每公里给它加满,但是我们可以分成三次.为啥是三次?因为3000/1000=3.

(2)所以我们把路程分为三段,中间有两个加油(萝卜)站.起点------A站-------B站-------终点.起点到A点,不用说,出发的时候驴身上是1000根.但是要求A点到之后直接走吗?那还有必要分吗?肯定要加油(萝卜)啊!萝卜那里来?驴搬过来的啊!所以我们又得明确一点,从原点到A站我   们要把所有的萝卜都搬过去.同理,从B点出发的时候,A点应该也没有萝卜了.

(3)为了以上的要求,我们明确了从B点出发的时候驴身上也应该是1000根,那剩下的去哪儿了?吃掉了.所以我们得出结论,从起点到A点,运过去2000萝卜吃了1000根,到B点又吃了1000根.

(3)计算:a.驴为了把3000根运到A点,至少需要5趟,而这5趟吃了1000根,也就是总共运了1000公里,所以,A在起点1000/5=200公里处.好了,现在A处有2000根.出发去B.

b.同理,驴运2000根去B最少3次,所以B在A处333.3公里处.所以呢.最后一次A经过B的时候补充剩下的萝卜,相当于最后出B出发时带上了所有的1000根,但是要走多少距离呢?(1000-200-333.3)公里,所以最后是(1000-(1000-200-333.3))≈533根(为啥不是534?人家驴这么辛苦,半根萝卜都不赏?)

7. 这个跟水壶那个一个道理,不同的是它隐藏了一个条件:绳子两头一起烧只要30分钟.所以我们现在有两个数值,60分钟和30分钟.也就是所谓了除以2这个操作

(1)拿三根绳子,一根A两头烧,两个根B、C一头烧.同时点,然后A烧完后熄灭B,此时,烧完了半小时,而B还可以烧半小时(30分钟),但是暂时不少,但是C还在烧.

(2)等C烧完的时候(一个小时),将B从两头点燃,可烧15分钟.共计一个小时十五分钟.(1+1/2/2)小时

8. (1)如果只有一人戴着,那第一次关灯的时候就有人打耳光了(卧槽!别人都是白的,那我肯定黑的了.我怎么能黑了?啪!)所以不止一个(有人戴黑帽子哎!那我是不是呢?)

(2)如果只有两个.第二次关灯的时候就该有人打了.(卧槽!上一会那个唯一戴黑帽的没打,那我肯定是黑帽了.啪!)没打,所以不止两个.

(3)如果有三个,第三次关灯的时候就该有人打了.(卧槽!上次关灯没人打!看来黑帽不止我眼前看到的两个,那我就应该是的了.啪!)他眼前的那两个黑帽心理活动.(我也只看到两个黑帽.看来我也是了.啪啪!)所以第三次关灯会,啪啪啪!(我是白色)

9. 这道题也必须有前置条件,就是你的每一刀你都知道是多少.在这个前提下,其实又和水壶那个题目一样了.所以你需要两刀切出三个比较灵活的数组组合,而且总和为七.因为你要分七天给.14可不可以?可以!但是,你已经不能再切了,所以乘以这个2有啥意思呢?

(1)根据水壶那道题,我们要尽可能得利用减法把7分开,所以我们要有3个数字,七种方式得到1.很难.但是,如果可以找钱呢?(没说不可以找啊).出现5、6、7明显是不合理的.因为三个数字相加等于7,所以其他两个数字必须大于2,不能等于2,等于2就是1和1了,数字组合不灵活.

(2)所以我们的数字组合只有一种1,2,4.不能有3,理由跟5一样,不灵活.所以我们把一整块金条分成了1/7和2/7以及4/7,之后以1,2,4来代替.

(3)第一天:给1,工人总共有1.    第二天:给2,拿回1.工人总共有2.  第三天:给1,工人总共有3.   第四天:给4拿回2和1,工人总共有4.  第五天: 给1.工人有5.  第六天: 给2拿1,工人有6. 第七天:最后的1给他,工人有七.

10.A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。只要箱子没被上锁,C都会偷走箱子里的东西,不管箱子里有什么。如果A和B各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?

梳理一下:A有药,有a锁和a钥匙.

B有病(确实有病嘛),有b锁和b钥匙.

C有船,有箱子,有偷东西的习惯.物在箱中必拿.

其他:东西上船必须在箱子里(也就是说可以不在船上),也没有说人药(妖?)不分.所以,这道题必须是运两次或以上.不能把钥匙锁在箱子里这个常识总不用说了吧?每次船上都是药在箱中,箱被锁上(??)

(1)运药和锁A.船家,帮我把药运给B,别看了,东西在箱子里.但是我锁了.(A锁锁着药)

(2)运药和锁锁:船家,把东西送回去吧!药送过来,还给我锁上了,告诉A我受够他了,我也给它锁上了,他也别想拿到里面的东西了.(A锁和B锁同时锁着药)

(3)运药和锁B:船家,里面的东西我也拿不出来了,你给送回去,别看了,我的锁虽然拿回来了,他还锁着呢.(A拿掉了A锁,但是B锁锁着药)

(4)B用自己的钥匙打开锁,喝了药,冲着船家邪魅一笑.C:"你们玩战术的心都脏!"

11.有一个软件公司,1/2的人是系统分析员,2/5的人是软件工程师,有1/4的人两者都是,问有多少人两者都不是?

同第四题

12.有25匹??,速度都不同,但每匹??的速度都是定值。现在只有5条赛道,无法计时,即每赛一场最多只能知道5匹??的相对快慢。问最少赛几场可以找出25匹??中速度最快的前3名?(百度2008年面试题)

(1)25匹马分成5个赛道赛5场,得每组第一.    5场.

(2)每组第一放在一起赛一场,取得第一就是最快的,记录下来此时的第2和3名.   1场.

(3)问题是第2名和第3名到底是不是这两匹马,干扰项有第一名所在组的第2和3名,以及第2名所在组的第3名.其他不可能是前三.所以不明确名次的总共也就5匹马了.放在一起跑一波就知道第2和第3名是谁了.   1场.

(4)所以总共是 5+1+1=7场.

13.游戏在一个圆桌上进行。每个游戏者都有足够多的硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬币完全置于桌面内(不能有一部分悬在桌子外面),并且不能与原来放过的硬币重叠。谁没有地方放置新的硬币,谁就输了。游戏的先行者还是后行者有必胜策略?这种策略是什么?

区别就是1和2,也就是所谓的奇数和偶数的区别.那么,这是一个圆,所以我们应该想到,中心对称.所以最后必定是偶数吗?不是,因为我们忘了中心这个点,所以.只要我们占了中心位置,后面绝对就是偶数.

先手放在圆心位置.然后无论对方放在那儿,你都放在和他对称的位置,只要他能放下硬币,和它对称的位置肯定能放下一枚硬币,所以先手稳赢.

原文地址:https://www.cnblogs.com/Shyno/p/11060970.html

时间: 2024-10-14 20:32:01

前端面试常见逻辑题收集及分析的相关文章

LeetCode面试常见100题( TOP 100 Liked Questions)

LeetCode面试常见100题( TOP 100 Liked Questions) 置顶 2018年07月16日 11:25:22 lanyu_01 阅读数 9704更多 分类专栏: 面试编程题真题合集 常见算法问题 LeetCode试题 LeetCode常见试题 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/lanyu_01/article/details/81062232 这篇文章

前端面试---常见的web安全及防护原理

一.常见的web安全及防护原理 1.sql注入原理 就是通过把sql命令插入到web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 防护,总的来说有以下几点: 1.永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号双"--"进行转换等. 2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取. 3.永远不要使用管理员权限进行数据库连接,为每个应用使用单独的权限有限的数据库连接.

前端面试常见HTML问题(一)

1.什么是html       HTML(Hyper Text Mark-up Language )即超文本标记语言,是 WWW 的描述语言,由 Tim Berners-lee提出.设计 HTML 语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上.这样,你只要使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中

记一次凉凉的小米前端面试

推广一下个人网站:Bougie's Blog 毕业一年的跨专业萌新,在拉勾上投了武汉小米的简历,不出两天,简历被HR姐姐标为"不合适",心想自己这点履历和经验小米是看不上了.又过两天,大概晚上八九点钟,HR姐姐突然打电话说邀请面试.也是有点奇怪. 从家到小米有两个小时车程,做公交车二层晃得竟然有点想吐了.心想做程序员一年,没学到啥高深的东西身体却不知不觉间变得这么差了:同时对此次面试也没抱太大期望,因为自身实力和小米的招聘要求还是差了一个档次.进入小米正门,左手边是小米信息部,右手边是

前端面试中的常见的算法问题

虽说我们很多时候前端很少有机会接触到算法.大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面.实际上学习数据结构与算法对于工程师去理解和分析问题都是有帮助的.如果将来当我们面对较为复杂的问题,这些基础知识的积累可以帮助我们更好的优化解决思路.下面罗列在前端面试中经常撞见的几个问题吧. Q1 判断一个单词是否是回文? 回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环.比如 mamam redivider . 很多人拿到这样的题目非常容易

前端面试中常见的几个问题

在前端很少有机会接触到算法,大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面.下面这篇文章就给大家总结了在前端JS面试中常见的测试题问题,有需要的朋友们可以参考借鉴,下面来一起看看吧. 学习数据结构与算法对于工程师去理解和分析问题都是有帮助的.如果将来当我们面对较为复杂的问题,这些基础知识的积累可以帮助我们更好的优化解决思路.下面罗列在前端面试中经常撞见的几个问题吧.image.png1.介绍js的基本数据类型 Undefined.Null.Boolean.Number.Str

安卓面试备考题收集

最近要参加面试,网上找了一些题来备着,大家也来学习学习吧,话说平时还真有些东西不知道... 面试题一:AIDL的全称是什么?如何工作? Android interface definition language (android接口定义语言) , 用来跨进程的访问方法, 像 游戏中调用支付宝接口就是用的这个. 访问远程的服务的方法. 如何工作. 面试题二:Android程序运行时权限与文件系统权限的区别? 程序运行时权限:Android程序执行需要读取到安全敏感项必需在androidmanife

iOS面试的一个逻辑题

一个同行的朋友前往某公司面试,在笔试的最后一题,出了这么一个问题:(分值为20分) 一个很古老的村子,这个村子的人分两种,红眼睛和蓝眼睛,这两种人并没有什么不同,小孩在没生出来之前,没人知道他是什么颜色的眼镜,这个村子中间有一个广场,是村民们聚集的地方,现在这个村子有三个人,分住三处,在这个村子,有一个规定,就是如果一个人能知道自己眼睛的颜色并且在晚上自杀的话,他就会升入天堂,这三个人不能够用语言告诉对方眼睛的颜色,也不能用任何方式提示对方的眼睛是什么颜色,而且也不能用镜子,水等一切有反光的物质

鹅厂前端面试小题

鹅厂前端面试 1.有代码如下 function test2(){ return 25; }; console.log(typeof test2()) 问题:写出此时打印出的值       number 2.现有代码如下: var name='aaa'; var obj={ name:'bbb', dose:function(){ this.name='ccc'; } }; var does=obj.dose; does(); console.log(obj.name): 问题:写出此时打印的值