首页 > 其他分享 >过去3个月各种Android面试

过去3个月各种Android面试

时间:2023-09-15 11:38:33浏览次数:36  
标签:简历 哪些 过去 面试 Handler Android 设计模式 京东

过去3个月各种Android面试_项目经历

在过去的3个月里,笔者历经了各种面试的考验。这场考验,就像是在造火箭,复杂而艰辛。尽管如此,笔者凭借自己的实力和努力,最终拿下了百度、腾讯和京东的录用通知。经过深思熟虑,笔者可能会选择京东,这也许让你感到有些意外。

腾讯无疑是一个诱人的选择,它提供的薪资和福利待遇都相当可观。笔者之所以选择京东,是因为在这里,他们能够接触到更多新颖的技术,这对于未来的职业发展至关重要。

更值得一提的是,在谈offer时,京东的面试官展现出了满满的诚意,让笔者感受到了被尊重和重视。这也让笔者更加坚定了选择京东的决心。

下面是面试题摘要:

百度:

  • 有没有遇到OOM问题(有遇到内存泄漏问题)
  • Handler机制
  • ThreadLocal
  • Activity启动到加载View过程
  • View绘制过程
  • ListView和RecyclerView区别?
  • RecyclerView卡顿怎么排查?
  • RecyclerView怎么实现多Type?
  • RecyclerView的ItemView层级过深怎么优化?
  • Android多进程?
  • 怎么设计Android线程间通信?
  • LinearLayout (wrap_content) & TextView (match_parent) 最终结果???
  • OKHttp(1. 为什么选择它? 2. 性能了解不?3. 内部有哪些设计模式)
  • 了解EventBus嘛?
  • 用过哪些设计模式
  • 观察者举例 ......

腾讯:

  • Android中的Context了解多少
  • Application里面可以弹窗吗
  • Activity、Window、View三者的关系
  • OkHttp中有哪些设计模式
  • Retrofit中有哪些设计模式
  • Retrofit.create做了哪些工作
  • 自定义一个圆角View
  • 协程launch有哪些参数
  • 说说by关键字
  • 代理和委托的区别
  • 双亲委托模式
  • 有几种获取view宽高的方式
  • view.post为什么可以获取到
  • getWidth和getMesureWidth的区别
  • 讲讲 handler 的底层实现原理?
  • 说说你做的日志记录优化?
  • 你看过 binder 驱动的源码,说说他的内存映射过程,说说客户端等待服务端处理返回的流程,如果要跨进程传递大内存数据你具体会怎么做?简单写一写吧
  • 在公司做过哪些优化?

京东:

  • StringBuilder、StringBuffer的区别,为什么StringBuffer快一点,看过这两个的源码没有,线程安全是怎么实现的
  • LRUCatch的原理实现
  • 一些排序算法的时间复杂度:冒泡、快速排序
  • try。。。catch。。。finally 问了个通过 exit()退出程序 会不会执行finally
  • Java容器,set map的区别
  • TCP UDP区别
  • 设计模式,主要问了工厂模式的几种情况
  • 讲一下Java内存模型 局部变量存放在哪
  • 讲一下引用传递
  • 讲讲Handler机制。解释发送一条消息会经过哪些过程。问了我Handler源码看到哪一层(看到了Java)。Handler创建好以后怎么才能关联到他所在的线程?(这个回答的不是很好,感觉是在Handler的构造方法里关联的?),问了要传进什么参数
  • ListView的VIewHolder为什么可以减少内存的使用
  • 多线程相关。Java中控制多线程的方法。锁、synchronize(可以对哪些对象加锁(静态变量加锁和对普通变量加锁有什么区别),实现原理)、wait notify
  • ANR。在广播内做耗时操作会怎么样

HR面问题整合:

  • 为什么离职
  • 介绍一下过往的工作经历
  • 在上家公司你有什么收获吗
  • 目前看机会会考虑哪些因素
  • 你在之前的团队中是怎样一个角色
  • 有什么兴趣爱好吗
  • 最有成就感的一件事
  • 有没有做过什么不可思议的事
  • 你认为自己的优点是什么
  • 最近有在看什么书吗,有什么感想
  • 你一般遇到问题都是怎么解决的
  • 未来的职业规划是什么
  • 你对未来的公司有什么期望吗
  • 目前薪资
  • 期望薪资
  • 还有什么想要问我的吗

如何写好简历

简历是开启面试的第一步,重要性不言而喻,一方面反应你的实力,另一方面也反应跟目标岗位的匹配度,不过很多JD都是复制粘贴,我个人也没有动态改简历。

如何写好简历,一定要简洁且突出重点。我也面过不少人了,看过7-8页的简历,有些项目经历是没必要全都往上写的,面试官也看不过来,最好是保持在3页左右比较合适,项目经历比较丰富的同学,可以挑重点来写。

我个人简历大概模板:

  • 个人信息
  • 技能清单
  • 工作经历/项目经历
  • 开源项目/博客
  • 教育经历

我是MD排版,PDF格式,参考模板

投简历时有一个建议,不要开放简历,要主动投递。开放简历会有各种邀请面试,也不好拒绝,就可能会因为没准备好而错失一些机会。可以先去其他公司找找感觉,再面心仪的公司。

另外,一定要对自己简历上写的东西做到熟练,没用过的,不会的就别写了,万一问了不会,就是在给自己挖坑。

自我介绍

自我介绍需要好好准备,因为这可能是你整个面试环节中唯一的主动机会,也是引导面试官的第一步,可以介绍最近的项目经历啥的,以及相关技术栈等等,引导面试官往你擅长的领域提问。

挑重点不要啰嗦,时间控制在两分钟左右。

离职原因

这个其实大家都心知肚明,但是回答的时候还是委婉些的好,不抱怨原则。

不过HR总是有很多种问法,比如:

  • 你在上家公司才做了一年多,为什么选择离职呢?
  • 你在上家公司已经做了四年多,为什么选择离职呢?

回答建议:

  • 想去更好的平台
  • 薪资与个人付出不成正比
  • 公司业务方向与个人职业规划出现偏离

关于如何复习

对于复习,首先要对自己做一次自我了解,我是通过画脑图来进行这个过程的,我会整体默想一遍大概的知识体系,画成类似下图。回想每个知识点可能考到的内容,记录下自己模糊的地方,然后去看网上总结的面试题,再对每个题目都做一下回答。这是一个迭代过程。

过去3个月各种Android面试_项目经历_02

因图片太大,无法全部展示,需要的下文有获取方式。

在你预想的问题都可以回答上来的时候,就需要深入挖掘一下技术细节和深度了,比如我工作中开发了一个PLT Hook工具,这个工具可能是我参考开源项目并封装修改过来的,但对其中的细节并没有很了解,这个时候你就要对这个开源项目所涉及的内容做一次系统学习了。

算法这一块的话,“临时抱佛脚”对于算法的学习和积累作用不是很大,因此需要我们在平时繁忙的工作中抽出一些时间来复习,你也可以去LeetCode、LintCode上刷刷题。另外,虽然大部分面试的算法题目都是LeetCode上的简单题目,但你同样也需要关注一些中等和困难难度的经典题目。


过去3个月各种Android面试_设计模式_03

标签:简历,哪些,过去,面试,Handler,Android,设计模式,京东
From: https://blog.51cto.com/u_16163480/7479395

相关文章

  • android中的VERSION和VERSION_CODES和compileSdkVersion, minSdkVersion 和 targetSdk
    一背景经常会有代码中用到  Build.VERSION.SDK_INT<Build.VERSION_CODES.O,这是指什么意思。在app项目中,经常会看到android{compileSdkVersion30buildToolsVersion"30.0.3"defaultConfig{applicationId"com.yl.qrcode"minSdkVersio......
  • Android studio 修改APK打包生成名称
    在app的build.gradle的android{}添加一下代码android.applicationVariants.all{variant->variant.outputs.all{defcreateTime=newDate().format("YYYYMMdd",TimeZone.getTimeZone("GMT+08:00"))//在这里修改apk文件名......
  • 25届实习秋招-Java面试-JVM虚拟机面试题整理-牛客网
    JVMJVM概述:是什么-规范,有什么作用(多态,越界)Java为什么可以跨平台移植Java怎么做编译?与C语言的编译有什么区别?比较:jvmjrejdk整体的架构:内存结构内存结构/内存模型--即为运行时数据区:JVM了解过哪些版本,1.8和1.7内存结构不同的地方堆中方法区(永久代实现)改为了......
  • 25届实习秋招-Java面试-JUC多线程面试题整理-牛客网
    JUC介绍一下JUC下的锁(如何使用及应用场景)线程什么是进程:特征什么是线程:资源为什么多线程,什么使用用单线程,什么时候多线程,什么条件下多线程快。进程和线程的对比:进程如何通信,每种通信存放的介质。||线程的通信,几种方式。join进程和线程的区别,在JVM层面的体现一......
  • 25届实习/秋招-java面试-JavaSe面试题整理-牛客网
    JavaSe变量和运算符:基本数据类型介绍java中浮点数精度怎么解决,有了解过实现吗,为什么有精度问题BigDecimal,如何判断BigDecimal是否相等。如何进行计算、怎么四舍五入基本类型几种,分别占用空间int和Integer区别--包装类,int有几个字节。包装类常量池怎么判断相等的......
  • 【面试题精讲】你了解String.intern方法吗
    有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top首发博客地址系列文章地址String.intern方法是Java中的一个方法,它用于将字符串对象添加到字符串常量池中,并返回常量池中该字符串的引用。如果常量池中已经存在该字符串,则......
  • #yyds干货盘点# LeetCode程序员面试金典:二叉搜索树中第K小的元素
    题目:给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从1开始计数)。 示例1:输入:root=[3,1,4,null,2],k=1输出:1示例2:输入:root=[5,3,6,2,4,null,null,1],k=3输出:3代码实现:classSolution{publicintkthSmallest(......
  • Spring面试攻略:如何展现你对Spring的深入理解
    什么是Spring?谈谈你对IOC和AOP的理解。Spring是一种Java开发框架,旨在简化企业级应用程序的开发和部署。它具有以下优点:对象托管:Spring能够管理和赋值所有对象,使开发人员不再需要手动管理对象的创建和依赖关系。动态代理:Spring的动态代理功能可以实现大部分可复用的逻辑功能,从而......
  • Flutter插件flutter_boost 在android模块中的报红问题解决.
    1,在开发Flutter插件时,打开插件的android项目,准备编写native端的代码时,发现各种报红,代码无法跳转,体验十分不好。就像我下面的截图一样:导入了FlutterBoostflutterBoost源码爆红。但是运行正常。。这说明本身是没有问题的。。分明是没有错误的类都存在。但是就是爆红。。。。可......
  • Android 9 WiFi连接过程
    我们从setting 入口开始分析该过程;1.setting界面 packages\apps\Settings\src\com\android\settings\wifi\WifiSettings.java 创建Dialog2@OverridepublicDialogonCreateDialog(intdialogId){switch(dialogId){caseWIFI_DIALOG_ID:......