首页 > 快手运营 > 快手一、二面试问题凉凉。。。
2020
03-23

快手一、二面试问题凉凉。。。

  2. 实现一个线程安全的单例模式,要求是lazy模式,即首次调用再创建对象

  3. 两个文本文件(每行一个单词),大小均为10G, 我们需要找出在两个文件中都出现过的单词(需要去重)

  限制:有若干台机器,每台机器内存1G,在不同机器间可任意拷贝文件(并忽略拷贝时间),怎样尽快找到结果

   先后问了用大数据框架怎么做?(我谈了MR,如何自定义输入格式分片等)不用大数据框架怎么做?(参考MR思想,用HashMap;也说了可以用字典树Trie)

   可能大数据中TreeMap用的多吧,想不到会比较这两个Map。一上来我就说了继承的类和接口不同(TreeMap可排序,NavigableMap、SortedMap),然后卡着了,一时想不起这两个有啥好比较的。面试官引导了下都说出来了

   JVM内存模型(新生代、老年代、Metaspace(或永久代))讲一下,新生代空间不足和晋升老年代时GC,分代GC算法有哪些谈了一下。引用计数法和可达性算法讲了下。

  我谈了synchronized的旧版本和新版本优化(引入锁状态、锁升级等),基于JVM讲了一下,比如对象头含有monitor监视器,synchronized对方法和块的不同指令(monitorenter、monitorexit、ACC_SYNCHRONIZED这些)。然后谈了下ReentrantLock,比较了二者,公平非公平、操作更简单灵活(超时获取锁、轮询锁、中断获取锁等)

  前后一小时左右,自我感觉不错的,问了下面试官,他也说不错,知识面够广,深度也可以。结束时还问了他们组做些什么,用些什么大数据组件

  一面过后四五分钟就打过来了,发起二面。不想聊,一想起就感觉自己菜的不行,先前还挺高兴的/(ㄒoㄒ)/~~

  前面聊得挺好的,面试官也说可以。悲剧的是,他提出敲下代码吧。一上来还好,第二题是创建最小堆,第三题是创建图实现拓扑排序。这两题写的我是一头汗啊,最后还是没写出来。平常项目几乎用不到图,所以没有多用心看,堆也是用java封装好的。

  结束时候问了下还有面试的可能吗,听意思是婉拒了,/(ㄒoㄒ)/~~。不多说了,翻数据结构去了。。。

  统一回复下,大数据开发岗,实习,没有笔试(虽然也发了链接给我,不过笔试前就约了面试,所以没去)。代码纯手撸,好像是一个colleaedit啥网站来着。


本文》有 0 条评论

留下一个回复