阿里内推挂了,腾讯技术轰炸懵了,最终逆袭拿下字节跳动Offer(
阿里内推
在三月的某一天,当我还沉浸在代码世界的时候,突然一声铃声响,拿起手机一看,杭州电话==大三春招第一次面试开始了。
阿里一面
问的问题不多,也就26分钟的样子
- 你用过哪些集合类?==太多了,随便说了些
- 那你说说ArrayList,LinkedList的区别(还是挺简单的,一般用过的都说会)。
- 说说hashMap是怎样实现的(这个之前看过,顺利回答上。还回答了多线程的问题出现的原因,面试官表示很惊讶的样子)
- 说说可重入锁
- 说说view绘制过程和事件分发机制,我大概回答了下。然后面试官又问:onTouch和onTouchEvent是什么区别?如果我重写了ontouch和onClick,它们的调用顺序是怎样的?什么时候会不调用onClick?
- handler的是怎样实现的?
- 由于项目里面用到了picasso,所以最后问了下picasso实现原理。
一面结束,最后面试官居然问我是不是第一次面试== 估计是帮紧张了。不过一面过程中面试官心情还不错,都是笑着问的。
当天晚上接到二面,面试官太累了,约我第二天面试。
阿里二面
二面气氛一直不对,感觉面试官非常严肃,一来就感觉很有压力
- 自我介绍
- 操作系统里面线程和进程的区别(挺基础的) ,接着麻烦就来了;我说完大致区别后,他就问,你说进程里面线程是共享内存的,那么一个进程最大能占多少内存??(懵逼,这是什么意思?考的分页知识?)。然后这里我想了一下,说应该和硬件有关,他继续问,有什么关系?(应该和地址总线有关,当时没想起,他叫我再想想,要是你设计的系统,应该和什么有关,还是没答上==)。
- 你项目中图片是怎么处理的?回答:picasso,顺便说了下picasso原理。然后又问:那么picasso里面有多少个线程来加载图片?要是网络不同,线程数目分别是多少?
- 布局优化(这里开始说错了一点,然后面试官很生气的样子==,自我感觉就要挂了)
- 项目中有哪些优化?
最后果然挂了==(惨痛的经历,不过为后面打下了很好的基础==至少不 怎么紧张了)
然后后面就没有面试了
直到4月腾讯面试==
腾讯面经
腾讯是走的正常渠道,到成都现场面试
一面
面试场地是在一个宾馆里面,一对一面试,face to face还是有点紧张的
- 自我介绍
- java多态你了解多少??
- 你说说重写和重载区别,然后拿了纸笔,手写一个能体现多态的例子
- 说说java在运行main函数之前做了哪些工作?? 这个我居然从启动虚拟机——>加载类——>初始化类一直说到执行Main
- 你对大尾小尾了解多少? 我反问:您说的是大小端么? 他说对,然后我正准备给他解释的时候,他又拿了一张纸:用java写一个判断大小尾的程序==
- java静态方法能不能被重写? 答:不能。 问:为什么?
- 为什么java静态方法不能调用普通方法?普通方法能调用静态方法?(其实还是实例引用问题)
- java内存模型和GC机制
其实腾讯面试官感觉都很nice,他称呼我 都用您。感觉怪怪的,而且礼仪非常好。最后面完后,我问我面试得怎样?他说你了解的知识还是挺宽的,然后问了我一句要不要去做游戏???当然要啊!
然后就走了。然后就没有然后了,晚上查状态是不适合。
字节跳动
全程视频面试加写代码什么的
一面
- 写一个adapter,我后面忘记了getView的一个参数==一直在那里想,面试官问我是不是在编译器里面写==我说我在想怎么写。
- hashmap原理==
- java可重入锁
- 排序算法和稳定性,快排什么时候情况最坏?
- 一个获全国奖的项目问了我20分钟,特别是service不被杀死的方法==我说了4种才放过我,还问了我具体实现,特别是在JNI里面实现的时候==
- 项目中界面适配,自定义过view没有?
- NFC读卡,这个是我的项目,我说了具体实现,然后就放过我了
- 我项目中用了google map 和定位,他问怎么定位的?居然问了我具体API==我还说了里面的坑,国产手机阉割了一部分的问题==
一面大概1个半小时==头昏脑涨==然后面试官并不放过我,叫我等等。他去叫二面面试官
二面
- http协议了解多少,说说里面的协议头部有哪些字段?
- https了解多少?为什么百度全部都用了https包括首页
- 散列表的基础知识,里面也问了hashmap(可见hashmap重要性)
- 项目问题,几个项目都问了,什么分工啊什么的
- 问了我很多项目中开发的问题,还好基本都答出来了==二面基础知识基本没多少,都是项目问题
二面接近一个半小时,还好在寝室面试,边面边喝水==二面脑袋都是糊的==
二面完后,10分钟打电话通知一周内有HR面
HR面
HR面的时候,我正在火车上,HR说只有15分钟,我说当场面了,因为我那个时候正停在一个大站里面,要停半个小时
- 自我介绍,问了我所有项目的分工问题和设计等问题,好几个项目,这里就花了接近20分钟,然后火车开走了,然后大家都知道,悲催了,没信号==
等到我有信号的时候,再给HR打电话约好第二天继续面。
第二天
- 继续项目分工==
- 中兴实习情况?为什么最后没留下?(要读书啊)
- 开发的一些规范
- 投了XX公司和XX公司没有?为什么没投XX公司?哎,这里太年轻别坑了==
- 怎么看待3Q大战==(大姐,这个我怎么来说呢?)
- 问了我实习时间,希望实习的地点,希望做哪方面?
- 你觉得你一面和二面哪一面成绩更好?每一面大概多少分
- 优缺点==
每个问题都问了很久,因为每个过后都接着往下问了的。整个HR面都1小时13分钟,累啊!!说好的15分钟呢
经过漫长的等待,终于在3天后收到了录取通知书。
最后
漫漫开发之路,你我只是其中的一小部分……只有不断的学习、进阶,才是我们的出路!才跟得上时代的进步!
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!
有一句老话说的好:“比你优秀的对手在学习,你的仇人在磨刀,你的闺蜜在减肥,隔壁老王在练腰,我们必须不断学习,否则我们将被学习者超越。”当然一个人学习是枯燥的,还需要一个良好的学习氛围,因此我组建了一个学习交流探讨的社群,欢迎大家一起来交流探讨共同进步。还有一些收集整理的资料,感兴趣的可以加群,一起学习,共同进步!
这边把我收录整理的一些资料拿出来分享给大家,一方面是希望能够帮助大家提高,一方面也是警醒自己,要不断学习、不断提升,进阶才是王道!
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
本文在开源项目:【GitHub 】中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
如果需要PDF版本可以在群文件夹里,自行领取!
-
或者在群文件夹中里,自行下载直达领取链接:【https://links.jianshu.com/go?to=https%3A%2F%2Fjq.qq.com%2F%3F_wv%3D1027%26k%3DBRZhpPkt】