首页 > 其他分享 >钉钉和抖音Android岗面筋,阿里挂了HR面,抖音通过收获Offer

钉钉和抖音Android岗面筋,阿里挂了HR面,抖音通过收获Offer

时间:2023-06-22 21:32:59浏览次数:47  
标签:简历 项目 HR Offer 问题 面试 抖音 Handler 理解


前言

这一次的话,主要就是只投了钉钉和抖音两个部门,然后为了保险起见,让指导老师给我推荐了一个小公司,因为实在太想实习了,想着如果面试不上,总要有一个保底的机会。当然那家公司也挺nice的,我跟老总说了来意之后,老总直说让我全力冲,位置给我留着,所以在这里非常感谢吴总您对我的支持。

阿里巴巴 – 钉钉部门

阿里钉钉一面(面试时长80min)

  1. 自我介绍,对自己项目的介绍,架构图呈现
  2. 因为说自己以后的发展方向是音视频,所以问了我用过哪些现有框架
  3. 项目中的一些优化问题,MVC -> MVP,Handler的内存泄漏情况分析等,对MVP和MVVM的理解。
  4. 项目中的第三方库选择的问题,因为简历中写了我对第三方库选择的问题,比如选ObjectBox和greenDao的问题,图片加载框架问题
  5. HashMap和HashTable,引申ConCurrentHashmap的深入,version1.7和1,8的区别,以及高并发下HashMap发生的问题
  6. 四大启动模式,以及场景对应
  7. Handler的机制介绍,不存在消息时的IdleHandler的运作机制,为什么不能在子线程初始化问题
  8. 设计模式中的单例介绍,使用场景(Okhttp的Seesion存储等等),在线编写
  9. 快排算法
  10. OkHttp的源码分析,及整体架构的流程图绘制
  11. 四大组件的完整介绍,及深入,答了IntentService、LocalBroadcast
  12. 四大引用的问题和MVP框架相结合进行回答
  13. 网络中的响应码对大体进行回答,具体回答了200、404、500、304等
  14. View绘制流程问题,如何不使用xml,来实现中间位置的定位
  15. 事件分发机制流程讲解,以及如何实现单击事件和长按事件的判定
  16. 关于为什么选用mqtt协议的问题,优势,原理等等(没答上来,只说针对性做过测压,以及oceanlink和mqtt的对比)

阿里钉钉二面(面试时长30min)

  1. 自我介绍,优缺点的,以及未来希望的发展方向
  2. 目整体介绍,如何做到分压啊之类的问题
  3. 如果给我阿里、腾讯、头条、谷歌的offer的一个选择(不掺杂地域性的问题),首先直接否定了google我就的一个企业的商业模式进行分析。
  4. 我对钉钉这个产品的理解,我的回答是就的是钉钉前身的对标项目微信,已经后期转型的商业模式作出的分析,最后给出的我的结论是一个企业性质的办公软件
  5. 给出了钉钉一个mac平台的关于共享屏幕的耗CPU的问题
  6. 让我提问,提的是关于音视频发展方向的问题,具体是一个发展空间。

阿里钉钉三面(面试时长60min,但是hr面挂了)

  1. 自我介绍呗,还是一样,项目介绍,项目的优缺点对比
  2. 对MVC和MVP的理解,还有Handler的内存泄漏问题具体是什么,解决方案知道有什么,空数据的时候Handler的阻塞问题,但是我还是没在Looper的源码中找到,这里让我好好再看一下。
  3. 另外为什么使用MVP,他的优势是什么,内存泄漏是什么样的。
  4. http的长连接和短连接这两个概念,怎么去理解。我把它理解为持久化连接是什么,然后对http的3个版本的主要区别做一个介绍
  5. http一整个流程,什么Baidu.com输入,经过了什么。比较简单的问题了,必答内容DNS、TCP的三次握手、四次挥手,当然我再答一些IP路由、链路还有物理层的内容
  6. RecyclerView的一个复用机制,和ListView的一个区别在哪里
  7. HashMap、ConcurrentHashMap、Hashtable的问题,数据结构,线程安全啊之类的问题了,当然还是考了version 1.7和1.8。
  8. 一个app的启动流程,冷启动和热启动,我说底层我不太了解,只知道会有AMS去调一些东西,但是具体内容不知道,后面就是一些初始化和Activitiy生命周期问题了。
  9. 一到算法题三值之和求目标值,没写暴力,因为大家都会写,但是浪费了很多时间,刚开始是通过二值求和的方式,但是想做成O(n),其实不太可能,后面改成了O(n^2)

字节跳动 – 抖音部门

字节抖音一面(面试时长50min)

  1. 接口和抽象的理解
  2. 进程和线程的理解
  3. 各种单例创建的理解,以及DCL的同步机制为什么这么做,其他的设计模式知道的,以及应用场景。
  4. MVP和MVVM的理解,P层它主要做什么工作,你如何实现的M、V、P三层的通信。
  5. Handler的工作流程,Handler能否在子线程初始化以及用什么方案来替代Handler的在子线程初始化。
  6. JVM的组成成分,以及你对四大引用的理解
  7. 四大启动模式的启动方式以及场景分析,如过一个按钮对应页面跳转,如何点多次只进行一次跳转,两种方式回答
  8. 对http和https的理解
  9. Broadcast和LocalBroadcast他的一个区别
  10. Static变量他的用处是什么,具体应用场景。
  11. 一道两个链表的相加问题。思路+伪码实现(这里和阿里不一样,因为是牛客的平台,其实编码体验没有特别好,面试官让我用伪码来实现思路就可以了)

字节抖音二面(面试时长70min)

  1. 先自我介绍,问项目,老样子的MVP、MVC的理解,Handler中的内存泄漏
  2. 重点要讲Handler的内存泄漏,为什么会引起内存泄漏?(源码角度分析)解决方案有哪些?(说了三种)
  3. 为什么我的库中的MVP要基于范型实现,实现思路,还有泛形擦除(主要说了公共逻辑抽离这一块的内容)
  4. 对View自定义的一个了解
  5. 基于对网盘的理解,让我分析上传、下载这两块的内容,让我来做,会做什么样的处理,启发内容见下文:
  6. 关于上传方面:定时上传和立刻上传两方面的分析,针对的是数据量的大小
  7. 关于下载方面:线程安全(voliate / sync),线程池的使用,参数理解等等,断点重传的问题,应该怎么去进行实现。
  8. 还有整个的如果Activity突然断了,或者被kill了,如何对数据或者下载的位置进行保存
  9. ButterKnife原理实现
  10. 一道深度遍历和公共节点寻找的题(给出了复杂度极高的方案,面试官给了好的方案,但是问题停留在了公共节点寻找)

字节抖音三面(面试时长70min,已拿Offer)

  1. 问了项目架构,觉得项目有什么样可以升级的地方
  2. 泛型擦除,通配符的问题,主要做了extends和super的回答
  3. 从哪里了解的objectBox,和greenDao相比觉得他有什么样的优点,性能有进行过测试嘛(只看过官方数据),图像加载框架的选用。
  4. 从内存泄漏问题推倒到jvm的深层次问题,可达性分析的GC Root有什么,虚拟机栈和堆的关系,方法是怎么实现的。
  5. 问我觉得自己的优势是什么,说了我对一些框架的理解
  6. KotlinFlutter的一个了解程度的理解,还有为什么学习的一个现实原因,和学习方法。
  7. 数学题了,类似于斐波那契数列,但是关系式还没推倒出来。
  8. 用循环的方式去实现一个先序遍历,说的一些方案不用写代码。

面试前我做的准备工作(大厂收割秘籍)

1.定制自己的简历(对标BATJ)

无论是什么行业,简历都是敲门砖,对于程序员来说,更应该着重准备,甚至要做到逐字推敲。关于简历,我个人有以下两点建议:

①尽可能突出自己的优势

一定要让看到你简历的人一眼就看到你自己所具备的优势,要学会突出重点,如你在上一家公司做出的贡献,就要写在显眼的位置进行突出,用颜色加深再好不过。如果你的优势是学历,那么学历就要放在第一页,因为HR在筛选简历时,一份简历往往只看那么几秒钟,你需要做到的就是让HR一眼看中你的简历。

②简

简历简历,之所以称为简历,就是需要把自己的个人信息和内容化繁为简,但是很多人都做不到这一点。我身边有一些朋友,写自己简历时,长篇大论,恨不得写出一篇800字作文出来,如果说你的简历长达6-7页,并不会给对方你有丰富经验的感觉,反而会让人一下子抓住不住重点。

另外,简历不能写成流水账,技术简历一般不超过3页,主要信息就包括个人信息(联系方式,学历等),专业技能,工作经历,项目经验等几个部分就好了,尽可能用精炼的语言描述,一个字能讲清楚的事,千万不要用两个字。

③描述自己做到了什么,而不是做了什么

很多程序员会在自己的项目或是技术栈里这样描述:在某项目,我负责xxxx,如重构,如优化。但实际上,面试官想要看到的是你在项目中,重构和优化带来了什么样的好处和效果,如果说性能提升了,那么提升的数据和情况是如何的,要一一描述出来,所以重点应该是“将项目做到了什么样子,做成了什么事”。

以上3点,则是我对自己简历的要求。说了这么多,简历到底要怎么准备,怎么制定,可能很多人还是摸不着头脑,我手上有一套标准的程序员简历模板,如果你有需要,可以分享给你。

2.梳理知识,提升储备

自己的知识准备得怎么样,这直接决定了你能否顺利通过一面和二面,所以在面试前来一个知识梳理,看需不需要提升自己的知识储备是很有必要的。

关于知识梳理,这里再分享一下我面试这段时间的复习路线:(以下体系的复习资料是我从各路大佬收集整理好的)

  • **架构师筑基必备技能:**深入Java泛型+注解深入浅出+并发编程+数据传输与序列化+Java虚拟机原理+反射与类加载+动态代理+高效IO
  • **Android高级UI与FrameWork源码:**高级UI晋升+Framework内核解析+Android组件内核+数据持久化
  • **360°全方面性能调优:**设计思想与代码质量优化+程序性能优化+开发效率优化
  • **解读开源框架设计思想:**热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack
  • **NDK模块开发:**NDK基础知识体系+底层图片处理+音视频开发
  • **微信小程序:**小程序介绍+UI开发+API操作+微信对接
  • **Hybrid 开发与Flutter:**Html5项目实战+Flutter进阶

钉钉和抖音Android岗面筋,阿里挂了HR面,抖音通过收获Offer_android

知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结:

3.项目复盘

实际上,面试的一二轮所问到的技术问题,很多都是围绕着你的项目展开,因此在面试前最后要做好的一件事情就是项目复盘。关于项目复盘,我个人的思路如下,可供参考:

  • 你在这个项目中承担了什么样的角色?
  • 这个项目的背景是什么,如果是技术项目,为什么要做?
  • 有哪些技术难点,是怎么解决的,是否还有更好的方案?
  • 你认为项目中是否有可以改进的点?
  • 这个项目解决了什么问题,最好用数据说话,这个数据又是怎么得出来的?

.

标签:简历,项目,HR,Offer,问题,面试,抖音,Handler,理解
From: https://blog.51cto.com/u_16163442/6535617

相关文章

  • Chrome书签同步
    https://bm.famend.cn/因为众所周知的原因,我们无法使用Chrome浏览器的数据同步功能。于是,我们开发了Chrome书签同步扩展程序,用以同步Chrome用户的书签,弥补了无法同步数据的缺憾。在Chrome浏览器上安装“Chrome书签同步”扩展程序后,微信扫一扫,即可同步自己的书签数据,与C......
  • 历时2个月喜提2字节安卓岗offer面试经验分享
    前言从2020年11月开始面试准备到2020年最后一天31号晚上7点收到短信offer,历时两个月,在熬夜猝死边缘疯狂试探的我,终于等来我梦寐以求的“跨年礼物”。“日尼玛,退钱”,《温暖的抱抱》电影前10分钟的开场剧情,让我不禁想着该如何说服朋友一起离场,却被自己短信铃声拉回了思绪,“应该调成静......
  • 6轮面试辛苦拿到阿里Android开发offer,却从22k降到15k,在逗我?
    一小伙工作快3年了,拿到了阿里云Android开发岗位P6的offer,算HR面一起,加起来有6轮面试了,将近3个月的时间,1轮同级+1轮Android用人部门leader+1轮Android组leader+1轮项目CTO+1轮HR+1轮HRBP。一路上各种事件分发机制、自定义View、handler原理、多线程、hashmap、手写算法、......
  • Android面试技巧总结,这下offer稳啦
    最近有很多朋友给我后台留言:自己投了不少简历,但是收到的面试邀请却特别少;好不容易收到了大厂的面试邀请,但是面试官问得太深了,结果也挂了;对于面试官的问题,明明知道该怎么做,但是却说不清楚。这些问题不是个例,很多人都有这样的困扰。很大一部分是技术层面的问题。薪资比较高的前端岗位......
  • Three.js教程:Threejs常见几何体简介
    推荐:将NSDT场景编辑器加入你的3D工具链其他系列工具:NSDT简石数字孪生Threejs常见几何体简介Three.js提供的几何体API很多,本节课先给大家介绍几个比较简单的案例,为后面的学习打下基础。你可以结合threejs文档,把下面动手把下面几何体相关代码全部测试一遍,并预览3D效果。//BoxG......
  • 【剑指Offer】35、数组中的逆序对
    【剑指Offer】35、数组中的逆序对题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。即输出P%1000000007。输入描述:题目保证输入的数组中没有的相同的数......
  • Chrome Flash插件的手动安装方法
    我的操作系统是Win2008,跟网上的解决方案稍稍有点不同,下面就是安装步骤:从Adobe官方下载Flash插件,下载地址:http://fpdownload.macromedia.com/get/flashplayer/xpi/current/flashplayer-win.xpi。并将下载后的文件后缀改为ZIP,然后将其解压出来。从解压出来的文件中,复制“flash......
  • 抖音 根据sec_uid获取个人详细信息(性别、年龄、属地、关注数、粉丝数)
    本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!抖音根据sec_uid获取个人详细信息环境win10python3.9方案一直接请求web端个人主页页面headers={......
  • Synchronized锁的膨胀升级-无锁及偏向锁
    转载:https://www.bilibili.com/video/BV1gP4y137pQ/?spm_id_from=333.337.search-card.all.click&vd_source=46d50b5d646b50dcb2a208d3946b1598https://www.bilibili.com/video/BV1yi4y1C7XY/?spm_id_from=trigger_reload&vd_source=46d50b5d646b50dcb2a208d3946b1598......
  • 8月最新-《可解释机器学习-Christoph Molnar》-新书分享
        机器学习在改进产品、过程和研究方面拥有很大的潜力。但是机器学习模型预测的结果通常是不可解释的,这也是机器学习技术最大不足。本书主要讲解如何搭建机器学习模型,并使他们的预测结果是可解释的。 (文末附本书免费下载地址)    本书首先讲解可解释性的基本概念,然后讲......