分享了作者参加酷我公司面试的经历,包括面试官提问的JavaScript、数据结构与算法等技术问题,以及作者对部分问题的解答思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上午去面试亿览在线,也就是酷我。好像很久前投的简历,我应聘什么职位都忘了。第一个面试的人上来就问我是来找实习的不是,汗~~。上来就问JavaScript熟不熟,看来可能是招聘前端开发的。我对那些不懂也不敢兴趣,然后就随口说知道一点点,没怎么深入过,只是用js来做一些简单的数据验证,然后他让我写个正则表达式验证电子邮件。 后来看我不太感冒,就该问数据结构和算法的题。 一道问从一堆数找最大的前十个。这种题都被问过N次了。我说排序后建堆就可以了。然后问了到sql查询的,找大小10-20的记录。我说在mysql里用limit就可以了。然后他又让我不用limit,能不能写一个通用的。没想出来。

后来上网查了一些,可以用子查询:

思路很简单,比如找前10的记录。

最小的数找不到比它小的

第二小的只有一个比他小

第三小的只有两个比它小

......

前N小的最多有N-1个比它小的

select * from mytable as t where N>(select count(*) from mytable where col<t.col);

不过有点问题,就是不能有大小相同的数。

比如

1

2

2

3

找前2个数,那么这个查询会把两个2都找出来,我还没有想出解决这个问题的方法

求10-20就很简单了,先求前10,再求前20,然后求差集就可以了

 

接着问了一道题,回来也没想出来。

给定一堆数,要求分成两堆,使它们的差的绝对值尽量小。

比如 1 2 3 4 5  那么最优解之一是 {1, 5}  { 2, 3, 4}

当时只想出穷举的方法。

回来也没想出好算法。

 

第二个面试的问了一些java的问题,equals和hashCode的关系,synchronized,都很简单。问了一个算法题,其实就是emc的一道笔试题。一个升序的循环数组,不知第一个数在哪里,要求查找某个数。我想都没想就说了。先折半找到最小的数的下标,然后折半查找,不过坐标要做一下变换,比如原来是i,现在是 i+最小数的下标 mod N 而已。

唉,英语口语太烂了,emc的面试惨不忍睹。

 

下午开了一下午的会,还是被老板逮着了。要实现一个爬虫,能够抓取图片,以及图片周围的描述性文字。

如果真要实现的话可能要做页面分析,还挺费劲的,先从google那里弄些现成的看看能不能应付吧,可恶的863,我的寒假又少了一周。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值