博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android面试总结,BAT这种大厂履历意味着什么?终获offer
阅读量:4151 次
发布时间:2019-05-25

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

前言

2020年,互联网裁员潮下,我度过了人生中最清晰的半年。

今年我本命年,熬过了程序员35的坎,却在36岁被公司破产来了当头一棒,领完了当月份的工资,老板,也是我哥们的老李走进我的办公室,没有迂回地通知我,公司倒了。

老李陷进沙发里,用手抹了把脸,看上去很疲惫。

三年前公司还在装修的时候,我过来搭把手看一看,老李叉着腰指着同一套沙发,意气风发的说:“哥们专门给你配的,这小沙发花了我两万,咱们以后光明未来的起点就在这儿了!”

不过三年,创业失败,我们又要找新的起点。

第二层

面试官对我的偷鸡取巧并不满意啊,他需要我提速,这个速度不行啊。

What??是有时间复杂度更低的吗?不不不,这是一道核心竟然是一道多线程的题目。

  1. 将10亿的数据分片,通过分治的思维对数据进行第一次处理。
  2. 开启多线程然后对其进行这些分片的数据进行优先级队列操作。
  3. 然后每个子线程筛选出其中最大的k个数
  4. 当所有线程执行完毕之后合并数据

我猜测的第三层

  1. 是不是考虑下多少个数据一分片,然后如何把效能提升到最高的问题?
  2. 构建多少个线程读取效率是最高的?

这个都是我没想到的,各位大佬有想法的可以聊一下啊。

题二:一篇文章内的单词数量

这题乍一看卧槽貌似不难,foreach循环碰到一个空格或者标点的情况下sum++,是不是就可以解决这个问题。

然而事情并没有想想的这么简单。面试被问到这种问题最难的是什么,可能是对于这题目真实的边界问题的思考。

  1. 如果这篇文章内容很大怎么办,会不会把内存吃光?
  2. 如何给单词去除重复?

是不是可以考虑逐行读取呢?

将其转化成IO流,逐行读取流,之后对这个输入内容进行一次计数操作,是不是就可以解决这个问题呢。

单词重复的问题

卧槽,这个真简单HashSet啊!!!!那么如果海量数据我是不是又炸了?

卧槽,死亡螺旋吗。或许我们可以考虑下用hash的方式来解决,只保留单词的hashcode,是不是可能可以解决呢。

同样的这个也可以使用多线程分片去优化

方式的话基本也和上面是完全一样的,只要把数据分片,之后多线程调度,然后合并结果就可以了。

最后

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

下图是我进阶学习所积累的历年腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节

以上【历年大厂高级工程师面试题集】、【Android高级进阶教学视频】、【Android高级知识点学习PDF】皆无偿分享给大家。如有需要,点击****即可免费获取。

专题PDF+学习笔记】](https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF)**即可免费获取。

整理不易,望各位看官老爷点个关注转发,谢谢!祝大家都能得到自己心仪工作。

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

你可能感兴趣的文章
转载知乎-前端汇总资源
查看>>
JavaScript substr() 方法
查看>>
JavaScript slice() 方法
查看>>
JavaScript substring() 方法
查看>>
HTML 5 新的表单元素 datalist keygen output
查看>>
(转载)正确理解cookie和session机制原理
查看>>
jQuery ajax - ajax() 方法
查看>>
将有序数组转换为平衡二叉搜索树
查看>>
最长递增子序列
查看>>
从一列数中筛除尽可能少的数,使得从左往右看这些数是从小到大再从大到小...
查看>>
判断一个整数是否是回文数
查看>>
经典shell面试题整理
查看>>
腾讯的一道面试题—不用除法求数字乘积
查看>>
素数算法
查看>>
java多线程环境单例模式实现详解
查看>>
将一个数插入到有序的数列中,插入后的数列仍然有序
查看>>
在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出no found
查看>>
万年历
查看>>
作为码农你希望面试官当场指出你错误么?有面试官这样遭到投诉!
查看>>
好多程序员都认为写ppt是很虚的技能,可事实真的是这样么?
查看>>