zongren
V2EX  ›  程序员

如果我去面试 iOS 和 android,别人考我算法题

By zongren at 2016 年 9 月 24 日 · 11361 次点击

例如排序什么的,我该怎么说才能说服他,平时用不到排序

第 1 条附言  ·  2016 年 9 月 24 日
标题改为"如果我被面试 iOS 和 android ,别人考我算法题"
第 2 条附言  ·  2016 年 9 月 24 日
我目前在一家公司做 iOS 和 Android ,时不时会面世一些程序员,一般也就问一些基础的问题,从来没考过他们的算法什么的。
77 条回复  •  2016-10-06 19:41:31 +08:00
holyghost
   1
holyghost  
   2016 年 9 月 24 日   ❤️ 2
考你算法可能不是为了问解决方案,只是为了看你解决问题的思路。
eightqueen
   2
eightqueen  
   2016 年 9 月 24 日
到底是谁面谁啊?不会就不会,但是可以告诉对方自己擅长什么,引导对方问自己的强项。
DingSoung
   3
DingSoung  
   2016 年 9 月 24 日   ❤️ 3
这种不服的我碰到过,各种小问题不屑于回答,后来让他把最擅长的拿出来靠靠,也就那样。
zhicheng
   4
zhicheng  
   2016 年 9 月 24 日 via Android   ❤️ 3
等会儿问你有什么问题的时候考他一个。
scnace
   5
scnace  
   2016 年 9 月 24 日 via Android
不是很正常?
h4x3rotab
   6
h4x3rotab  
   2016 年 9 月 24 日 via iPhone   ❤️ 1
招程序员不可能只考察已经掌握的技术,真正需要的是来什么需求程序员就能冲上去学会技术再解决问题,算法反映了程序员的潜力,所以问算法非常正常
YvesX
   7
YvesX  
   2016 年 9 月 24 日 via iPhone
“例如排序什么的”还是可以会一下的。
lsmgeb89
   8
lsmgeb89  
   2016 年 9 月 24 日 via Android
这个很正常吧
bytenoob
   9
bytenoob  
   2016 年 9 月 24 日 via Android
有发帖的功夫可以背下来三种最常考的排序,排序常见的一共也就七八种
jianzong
   10
jianzong  
   2016 年 9 月 24 日
高考的时候试试说服教育部怎样不考数学才让你上大学吧
tvallday
   11
tvallday  
   2016 年 9 月 24 日 via Android
面试还是准备一下吧。他们也没啥好问的,都是套路。除非你做的东西跟他们要解决的问题几乎一样,不然问的肯定都是大路货。
jianzong
   12
jianzong  
   2016 年 9 月 24 日
说白了面试就是一个筛选的过程的,并不是说面试的东西,就是工作上要用的东西。

对于好公司来说,排着队有人想进去做这个工作,为什么不选那个既会 iOS ,又愿意 / 能够 学会排序的呢?

何况常用的排序又不难。
yhxx
   13
yhxx  
   2016 年 9 月 24 日
难点的算法也就算了,排个序你花个 5 分钟背都背下来了。。。
还有你真的不是 youdaji 的小号?
Mistwave
   14
Mistwave  
   2016 年 9 月 24 日 via iPhone   ❤️ 3
钩太直
reus
   15
reus  
   2016 年 9 月 24 日
排序你都不会写,技术能力肯定有限,要你干嘛?
你是在展示自己有多无能吗?
wizardforcel
   16
wizardforcel  
   2016 年 9 月 24 日   ❤️ 1
大公司的面试都是筛选,并不是反映你的真实水平。互联网时代稀缺的不是能力,而是位置。
ihuotui
   17
ihuotui  
   2016 年 9 月 24 日 via Android
那么问你设计模式吧,你回答一下
wizardoz
   18
wizardoz  
   2016 年 9 月 24 日
有些东西就像骑单车一样,一次学会了,一辈子也记得。
moonweilan
   19
moonweilan  
   2016 年 9 月 24 日 via iPhone
我们要的是工程师,不是码农
waruqi
   20
waruqi  
   2016 年 9 月 24 日
我昨天就面了个工作了 4 年的 ios 的,各种奇葩回答。。

1. 问他你平常使用和熟悉哪些数据结构 ,随便说一个。。

他居然回我:数据结构?是 MVVC 什么的吗?

2. 继续问他,就是数组,链表这些,单链和双链有什么区别

他回我:连?表? 哪个连? 我说 是 链表,金字旁的链。 = =

3. 问:你简历上说熟悉 xml 和 json ,那简单讲讲 xml 和 json 的区别吧,有什么优缺点

答:。。。。一分钟过去了。。没答上来。

4. 问:你数据库用过么, sqlite 用过没?

答:没有, sqlite 是什么?

。。。

问了 20 几个问题,居然没一个答上来的。。= =
GentleSadness
   21
GentleSadness  
   2016 年 9 月 24 日
问个问题,你面试 Android 或 IOS ,如果是刚出来的,能问什么,也没什么好问,那就问别的东西咯

如果是资深工程师,那就真看你多资深了
wadahana
   22
wadahana  
   2016 年 9 月 24 日
做为一个程序员,如果简单的排序算法原理、复杂度都讲不出来,是完全不合格的
sun1993
   23
sun1993  
   2016 年 9 月 24 日 via Android
@waruqi 你确定你不是在讲段子?
marvinwilliam
   24
marvinwilliam  
   2016 年 9 月 24 日
基础很重要,前期可能都差不多,看不出有什么区别,但是到后面,这些基础的东西会影响到你处理某些问题时候的思路.
mind3x
   25
mind3x  
   2016 年 9 月 24 日 via Android
@waruqi 恐怕是假简历
ihuotui
   26
ihuotui  
   2016 年 9 月 24 日 via Android
社会上有这种人,毕竟不是互联网出身
oa414
   27
oa414  
   2016 年 9 月 24 日   ❤️ 1
我觉得面算法题好在,方便地刷掉大部分基础薄弱的人;考察也很方便,都是有答案、有不同解法的小问题。

如果证明自己应用层很厉害的话,即使不会写反转二叉树,进不了 Google 也可以去 Apple...

问题是大部分人工程能力没有那么厉害,其他人好好学一段时间很容易就能达到。而排序这些基础的算法更多的是作为一个常识,应用开发确实能用到啊。
tmackan
   28
tmackan  
   2016 年 9 月 24 日
@waruqi 你连 sqlite 都不知道,你是来搞笑的吗?还开发 ios = =
zhuangzhuang1988
   29
zhuangzhuang1988  
   2016 年 9 月 24 日
正常, 应该是删选培训机构的吧。。
kkzxak47
   30
kkzxak47  
   2016 年 9 月 24 日 via Android   ❤️ 1
你可以把这个面试题看成在考察你的工作态度,类似于面对无理傻逼需求时你的反应是不是专业,沟通能力如何,而算法本身只是一个介质,让你有主题可以说而已。
otakustay
   31
otakustay  
   2016 年 9 月 24 日   ❤️ 3
不要真以为排序没用,基础的积累是在真正遇到问题的时候暴发出优势的,看这个案例: http://efe.baidu.com/blog/talk-about-sort-in-front-end/

这个事情当时在我们的系统中出现,一个排序用 JS 自带的速度快但不稳定,用自己写的要好几秒才排得完,他们搞了 1 个多小时没搞定准备去和 PM 谈砍需求,正好路过看到就给了他们个简单的解决方案
其实这事还没怎么涉及算法,最后都没自己写实现,无非了解排序有稳定和不稳定,不稳定的时候怎么搞能搞成稳定的,但是连这些都不知道最后也只能在那边傻着
nicevar
   32
nicevar  
   2016 年 9 月 24 日
招聘也要按照基本法来的,一些基础的算法是要会的,否则日后会发现这些对算法不熟悉的人会写出非常令人吃惊的代码
raysonx
   33
raysonx  
   2016 年 9 月 24 日
算法是基础。我面试人的时候也会问一些简单的算法问题。
wizardforcel
   34
wizardforcel  
   2016 年 9 月 24 日 via Android
@otakustay 不稳定的算法可以通过增加一个属性并重写比较函数来改成稳定的。
psklf
   35
psklf  
   2016 年 9 月 24 日
@waruqi

>金字旁的链

这里基本上面试可以结束了
hronro
   36
hronro  
   2016 年 9 月 24 日
你见过面试 UI ,考算法的吗
waruqi
   37
waruqi  
   2016 年 9 月 24 日 via iPhone
@sun1993 真不是段子 昨天的事 还问了些其他的基础知识 都没答上来 还跟我说自己理论不行 实际开发 ok
RedeemDx
   38
RedeemDx  
   2016 年 9 月 24 日
@waruqi 这也假的太明显了啊....也亏你听得下去
不如你来面面我~~
zongren
   39
zongren  
OP
   2016 年 9 月 24 日
@hronro 这个就真的没必要了
t0byxdd
   40
t0byxdd  
   2016 年 9 月 24 日
你说 ios android 用不到机器学习就算了 说排序都用不到我非常不服
huntzhan
   41
huntzhan  
   2016 年 9 月 24 日   ❤️ 1
尊重游戏规则,自己菜就不要找理由。
twogoods
   42
twogoods  
   2016 年 9 月 24 日
以前有跟楼主有一样的想法,面试被虐了,就回去乖乖看,哪怕我还是觉得有些高级的算法和数据结构我以后用不到~
lawlietxxl
   43
lawlietxxl  
   2016 年 9 月 24 日
不做一件事情 大概不会知道这件事情对你的影响
TaoQAQ
   44
TaoQAQ  
   2016 年 9 月 24 日 via Android
@waruqi 啊为什么都问这么简单的,我应届生校招问的问题都涉及到热更新了?!
iyaozhen
   45
iyaozhen  
   2016 年 9 月 24 日 via Android
之前以为买菜用不着数学。现在有时做一点数据统计的事情,唉,书到用时方恨少啊

算法本身可能用不着(其实还是用得着),但其解决问题的思路是值得学习的。不然会写出很多不忍直视的代码
SourceMan
   46
SourceMan  
   2016 年 9 月 24 日 via iPhone
看评论放心系列
zkd8907
   47
zkd8907  
   2016 年 9 月 24 日
害怕。。
Ouyangan
   48
Ouyangan  
   2016 年 9 月 24 日
@sun1993 是真有这种...上次面试一个土木培训过来的,http 状态码 200 都不知道.....
holmesabc
   49
holmesabc  
   2016 年 9 月 24 日 via Android
你说你是他老板儿子。如果是真的话,说服面试官应该没问题
zongren
   50
zongren  
OP
   2016 年 9 月 24 日 via Android
@holmesabc 手动滑稽
shijingshijing
   51
shijingshijing  
   2016 年 9 月 24 日
额。。。 连算法都不考了还考啥?
一般上来都是算法 + 操作系统 + 编译原理三板斧啊。楼主还是自己抓紧时间多看看吧,这些东西等你写 web 或者 app 到一定程度之后肯定会涉及的,直接影响性能。
tinyproxy
   52
tinyproxy  
   2016 年 9 月 24 日
@sun1993 那个真不算段子,我给你来个我前公司同事的面试经历。他出了一份题目,也没多难,就全英文写的而已,可以用中文回答。然而。。。。几个 iOS 求职者看了题招呼都不打直接走了,我们 HR 懵逼了
xxm459259
   53
xxm459259  
   2016 年 9 月 24 日
这里有个误区,就是你觉得「问我的面试题应该是我工作中会用到的」。

工作中用到的用来做面试题必然是可行的,但是面试题的根本目的其实是用来筛选,只要能起到面试官或者岗位需求的筛选作用,其实就可以了。
zongren
   54
zongren  
OP
   2016 年 9 月 24 日 via Android
@tinyproxy 其实我也比较看中英文,不过好像小公司不是很在意
littleshy
   55
littleshy  
   2016 年 9 月 24 日 via iPad   ❤️ 1
作为一个程序员不学算法,就像那些喊着把数学踢出高考的人。
XadillaX
   56
XadillaX  
   2016 年 9 月 25 日
考你算法可能不是为了问解决方案,只是为了看你解决问题的思路。
wohenyingyu01
   57
wohenyingyu01  
   2016 年 9 月 25 日 via iPhone
@waruqi 如果不是有完整学习交流经历,很多东西用的很熟也不知道叫啥,比如链表这个词我用了一年才知道, sql 别人念成涩括我就听不懂, cache 一直念成 cancer ……
exch4nge
   58
exch4nge  
   2016 年 9 月 25 日
劝 LZ 仔细想想为啥楼里大部分人都觉得面试考算法是正常的。对于初级到中级程序员一般工作中确实很少涉及到这些,但如果你想在这条路上走的更远,你早晚会发现这些基础很必要。
doubleflower
   59
doubleflower  
   2016 年 9 月 25 日
@shijingshijing 涉及个啥啊,工作这么多年算法 + 操作系统 + 编译原理一次也没用到过,除非你本身做这方面。这种东西知道个原理就行了,细节无需再抠,即使万一到用到再查也不迟。
tabris17
   60
tabris17  
   2016 年 9 月 25 日
@waruqi 然而这种人薪水也能到 15k ,简直可怕
gason406
   61
gason406  
   2016 年 9 月 25 日
翻转二叉树会吗?手动滑稽
20015jjw
   62
20015jjw  
   2016 年 9 月 26 日
锅内程序员居然不考算法题???????????????????????????????
zongren
   63
zongren  
OP
   2016 年 9 月 26 日
@20015jjw 楼上没有这么说的,一般都要考
miki6180
   64
miki6180  
   2016 年 9 月 26 日
至少说服不了我,不是因为用不到而不去学,而是为了专业而去学。
noif
   65
noif  
   2016 年 9 月 26 日
@waruqi
链表??不好意思,面试结束,我不想应聘了。。。
zongren
   66
zongren  
OP
   2016 年 9 月 26 日
@noif 有钱任性。。
zongren
   67
zongren  
OP
   2016 年 9 月 26 日
@miki6180 你是正经的技术人员
ma125125t
   68
ma125125t  
   2016 年 9 月 27 日
面试 iOS 为什么要问链表,也是滑稽
sangmong
   69
sangmong  
   2016 年 9 月 27 日
@waruqi 那是你们 hr 筛选了一批培训班刚毕业的来面试,666
yongSir
   70
yongSir  
   2016 年 9 月 27 日
我靠
什么时候程序员考个算法
都大不违了

要知道
就算是公务员考试
还有逻辑推理题呢
sampeng
   71
sampeng  
   2016 年 9 月 27 日
算法我觉得可有可无,看面试官的想法。有和没有都是对的。

但数据结构要是不懂就有点说不过去了。。懂数据结构和不懂数据结构代码写出来两个样

@noif
我去年面试过一个伙计,就是我问了几个链表和队列的问题。。还准备问点其他的,这伙计直接说,对不起,我答不上来,我走了。不面了。。。关键是一脸的嫌弃样。我真是瞬间感到生无可恋啊。。。
sampeng
   72
sampeng  
   2016 年 9 月 27 日
排序还是有点用的,尤其在比较复杂的数据结构嵌套时。自己写排序,比各种装箱拆箱后得到结果要快很多很多。
noif
   73
noif  
   2016 年 9 月 29 日
@sampeng
哈哈,看来你是做后端比较多啊,如果我是面试官,我会考一些 CoreAnimation 、 uiview 动画之类的;哈哈,毕竟 cocoa 框架太牛逼,只有你没想到的,没有他没做好的。所以术业有专攻,直接走人就可以理解了。
noif
   74
noif  
   2016 年 9 月 29 日
@shijingshijing
能考的东西多了去了。。。。
zongren
   75
zongren  
OP
   2016 年 9 月 29 日 via Android
@noif CoreAmination 和 CoreData ,我都不怎么熟练,平时不怎么用
noif
   76
noif  
   2016 年 9 月 30 日
@zongren
CoreAnimation 的话,需要深度定制动画的时候,可操作度更高;至于 CoreData ,有点类似于 java 里地 hibratis (好像是这么拼的么),不用也罢,有更好的操作数据库的,大名鼎鼎的 FMDB ,哈哈,这个足够了。。。
acumen
   77
acumen  
   2016 年 10 月 6 日 via iPhone
移动端笔试题目出现 ml 也出现过
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 195ms · 3.9.8.5