Go最新大厂Android中高级岗面试原题(阿里、百度、京东、饿了么、美团,2024年最新2024最新Golang面试笔试

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

  • 说出几点 Java 中使用 Collections 的最佳实践?
  • GC是什么?为什么要有GC。
  • 什么时候会导致垃圾回收。
  • GC 有几种方式?怎么配置。
  • 什么时候一个对象会被GC? 如何判断一个对象是否存活。
  • 垃圾回收器的基本原理是什么?
  • Serial 与 Parallel GC之间的不同之处。
  • JVM 中一次完整的 GC 流程是怎样的? 对象如何晋升到老年代。
  • 吞吐量优先和响应优先的垃圾收集器选择。
  • 说说你知道的几种主要的jvm 参数。
  • Java中存在内存泄漏问题吗?请举例说明。
  • 什么是线程,多线程的优点是什么?以及简单说一下多线程的几种实现方式。
  • ThreadLocal 用途是什么,原理是什么,用的时候要注意什么?
  • 线程池是什么?为什么要使用它?如何创建一个Java线程池?
  • ThreadPool用法与优势可以说一下么?
  • synchronized 的原理是什么?synchronized 和 ReentrantLock 有什么不同?
  • 有T1,T2,T3三个线程,怎么确保它们按顺序执行?怎样保证T2在T1执行完后执行,T3在T2执行完后执行同步块内的线程抛出异常会发生什么?
  • 什么是乐观锁(Optimistic Locking)?如何实现乐观锁?如何避免ABA问题。
  • Java中活锁和死锁有什么区别?
  • Executors类是什么? Executor和Executors的区别?
  • 什么是设计模式(Design Patterns)?你用过哪种设计模式?用在什么场合?
  • 你能写出三种单例模式实现么?
  • 你知道Google是如何在一秒内把搜索结果返回给用户?
  • 高并发下,如何做到安全的修改同一行数据?
  • 如何避免浏览器缓存。
  • 大型网站在架构上应当考虑哪些问题?
  • 最近有在看什么书么,印象最深刻的是什么?
  • 你们线上应用的 JVM 参数有哪些?
  • 能简单说下你对算法的理解么?
  • Bitmap 使用时候注意什么?
  • Oom 是否可以try catch ?
  • 内存泄露如何产生?
  • 适配器模式,装饰者模式,外观模式的异同?
  • ANR 如何产生?
  • String buffer 与string builder 的区别?
  • 如何保证线程安全?
  • java四中引用
  • Jni 用过么?
  • 多进程场景遇见过么?
  • 关于handler,在任何地方new handler 都是什么线程下
  • sqlite升级,增加字段的语句
  • bitmap recycler 相关
  • 强引用置为null,会不会被回收?
  • glide 使用什么缓存?
  • Glide 内存缓存如何控制大小?
  • 如何保证多线程读写文件的安全?

京东

  • java常用的数据结构有哪些?哪些是线程安全的?是怎么保证线程安全的?
  • Redis中的Lua有没有使用过? 可以用来做什么? 为什么可以这么用?
  • 线程池内部工作原理可以说一下么?
  • 死锁是什么意思,形成条件是什么?出现死锁是可以通过什么方式去排查。
  • 在交易过程中如何放在用户在支付时的重复支付(交叉支付),请写出你了解的方案或使用的过的方案。
  • 数据库索引有哪几种,他们之间的区别。
  • 程序开发时通过开发工具DeBug调试时,控制台显示的内容都包含什么?哪些内容可以帮助你发现问题和解决问题。
  • RPC通信过程中,假设A系统提供了一个方法入参是一个JavaBean,出参也是一个JavaBean。另外两个系统B系统、C系统调用接口,调用方B想让提供方A增加一个返回参数,假设服务提供方A增加了返回参数,请问C系统调用方需要做什么处理?
  • 了解哪些设计模式,用伪代码实现一个你熟悉的设计模式。
  • 讲一下怎么使用分布式锁。
  • 说说HashMap的原理, 以及HashMap如何扩充bucket的大小。
  • Redis的Pipeline是用来干什么的?
  • Mysql索引的分类(Btree, hash),各自使用什么情况 。
  • 说说Myisam, Innodb区别。
  • 知道哪些负载均衡算法。
  • 说一下Btree的查找原理。
  • 简述三次握手,如果c端发起握手请求,s端无法立刻建立连接应该回应什么?
去哪儿网
  • 自我介绍,项目介绍。
  • mysql数据库调优。
  • sql优化。
  • like能用索引吗?
  • java对象四种引用。
  • GC原理。
  • jvm内存结构。
  • 说一下你学过jvm 在书写代码上对你有什么帮助和提高。
  • 千万数据量的查询你会怎么做?
  • HashMap在jdk1.7和1.8的区别,为什么引入这个概念?hash碰撞怎么解决,为什么1.8要比1.7更好,好在哪?
  • 关于你的项目,如果并发很大,你会怎么改造。
  • 方法区里什么样的对象有可能被回收。
  • 线上cpu飙升100%你怎么处理。
  • 频繁FullGC怎么处理。
  • 线程池创建有几种,为什么创建定长的线程池个数最好是5,10,15这样的数字。
  • linux命令。
  • 伊甸区和幸存区可动态变化吗?
  • redis和memcached区别。
  • 说几个jdk命令,jmap是什么意思。
  • 如果并发很大,你对数据的正确性怎么保证。
饿了么
  • http和https的区别,https原理,http2.0与1.0的区别。
  • Java的垃圾回收机制,Java文件加载机制,tomcat类加载机制,锁机制,jvm原理及线上调优,jvm内存模型。
  • 多线程,有哪些可以保持进程同步的方法,创建线程的几种方法,对i++多线程访问你会怎么做。
  • Java的设计模式,单例有什么模式,懒汉为什么加volotile,volotile的内存屏障,如何避免死锁。
  • 考虑单例模式的编写,要线程安全且内存消耗小(剑指offer原题)。
  • String、StringBuilder、StringBuffer区别;String类能被继承吗?为什么?
  • 在白纸上手写二分法排序算法(lintcode上原题);二分查找的思想。
  • 查找单链表中倒数第k个节点的算法,手写(lintcode上原题);最常见的排序算法你见过哪些,快排的基本思想及时间复杂度。
  • 常见的数据结构有哪些。
  • hashmap、hashcode一样,不equals怎么处理 ;hashcode实现原理,currentHashMap原理,实现细节,怎么实现同步的;类为什么要有hascode方法,是不是主要在集合类中都要实现hashcode方法;equals方法怎么实现;两个不同的对象可能有相同的hashcode值吗;常用集合有哪些。
  • tcp三次握手,四次挥手协议。
  • 架构设计一个开发性问题,设计一个Nginx管理的中间件,怎么设计。
  • 所有的类都继承与object,你用过object类的直接子类有哪些,object类常用的方法有哪些。
  • Java会出现内存泄漏吗,如果回,在哪种情况下?
  • 抽象类和接口的区别。
  • 平时怎么扩展自己的专业知识水平。

美团

  • static synchronized 方法的多线程访问和作用,同一个类里面两个synchronized方法,两个线程同时访问的问题
  • 内部类和静态内部类和匿名内部类,以及项目中的应用
  • handler发消息给子线程,looper怎么启动
  • View事件传递
  • activity栈
  • 封装view的时候怎么知道view的大小
  • arraylist和linkedlist的区别,以及应用场景
  • 怎么启动service,service和activity怎么进行数据交互
  • 下拉状态栏是不是影响activity的生命周期,如果在onStop的时候做了* 网络请求,onResume的时候怎么恢复
  • view渲染

今日头条

  • 数据结构中堆的概念,堆排序
  • 死锁的概念,怎么避免死锁
  • ReentrantLock 、synchronized和volatile(n面)
  • HashMap
  • singleTask启动模式
  • 用到的一些开源框架,介绍一个看过源码的,内部实现过程。
  • 消息机制实现
  • ReentrantLock的内部实现
  • App启动崩溃异常捕捉
  • 事件传递机制的介绍
  • ListView的优化
  • 二叉树,给出根节点和目标节点,找出从根节点到目标节点的路径
  • 模式MVP,MVC介绍
  • 断点续传的实现
  • 集合的接口和具体实现类,介绍
  • TreeMap具体实现
  • synchronized与ReentrantLock
  • 手写生产者/消费者模式
  • 逻辑地址与物理地址,为什么使用逻辑地址
  • 一个无序,不重复数组,输出N个元素,使得N个元素的和相加为M,* 给出时间复杂度、空间复杂度。手写算法
  • .Android进程分类
  • 前台切换到后台,然后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回调方法。
  • Activity的启动模式

爱奇艺

  • RxJava的功能与原理实现
  • RecycleView的使用,原理,RecycleView优化
  • ANR的原因
  • 四大组件
  • Service的开启方式
  • Activity与Service通信的方式
  • Activity之间的通信方式
  • HashMap的实现,与HashSet的区别
  • JVM内存模型,内存区域
  • Java中同步使用的关键字,死锁
  • MVP模式
  • Java设计模式,观察者模式
  • Activity与Fragment之间生命周期比较
  • 广播的使用场景

携程

  • Activity启动模式
  • 广播的使用方式,场景
  • App中唤醒其他进程的实现方式
  • AndroidManifest的作用与理解
  • List,Set,Map的区别
  • HashSet与HashMap怎么判断集合元素重复
  • Java中内存区域与垃圾回收机制
  • EventBus作用,实现方式,代替EventBus的方式
  • Android中开启摄像头的主要步骤

网易

  • concurrenthashmap
  • volatile
  • synchronized与Lock
  • Java线程池
  • wait/notify
  • NIO
  • 垃圾收集器
  • Activity生命周期
  • AlertDialog,popupWindow,Activity区别

小米

  • String 为什么要设计成不可变的?
  • fragment 各种情况下的生命周期
  • Activity 上有 Dialog 的时候按 home 键时的生命周期
  • 横竖屏切换的时候,Activity 各种情况下的生命周期
  • Application 和 Activity 的 context 对象的区别
  • 序列化的作用,以及 Android 两种序列化的区别。
  • List 和 Map 的实现方式以及存储方式。
  • 静态内部类的设计意图。
  • 线程如何关闭,以及如何防止线程的内存泄漏

以上这些就是我整理出来的面试大厂时遇到的Android面试题目,希望能帮助到大家,最后嘱咐大家一句:“真正面试中,尤其是大公司中面试,没有固守成规的问法,唯有实力认真才能赢”。

文末

下面给大家分享下我整理的Android面试相关学习资料,其中大部分都是大厂面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,不过也希望能对即将找工作的朋友起到一些帮助!

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

图片转存中…(img-rhIouGqR-1715521621772)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值