面试
文章平均质量分 64
梦否
【@】bug修复,程序代做
展开
-
让父控件不拦截子控件的事件
上午网易互娱二面面试的时候提到了这个问题,也就是对于一个自定义的View,比如说是Button。我们希望其任意父控件都不拦截事件,应该怎么处理。显然,因为需要确保任意父控件都不拦截这个事件,那么我们需要从button自身出发,而不是重写其每个父控件的拦截方法。搜索了一下,确实提供了这个方法,可以在这个View中复写事件分发方法,如下:@Overridepublic boolean dispatchTouchEvent(MotionEvent event) { getParent().requ原创 2021-09-17 16:50:49 · 893 阅读 · 0 评论 -
任务T1、T2、T3并发执行,最后执行任务T4的实现方法
2021年9月12日面试茄子快传的时候,提到三个任务T1、T2、T3的执行需要并发执行,且最后执行任务T4。那么应该怎么实现。当时有点忘记了具体的实现,只知道在Java中,如果抽象为线程任务,那么有两种机制可以用来实现:Thread提供的join方法;使用JUC下面的CountDownLatch类;这里来简单使用下这两种方法。文章目录1. join方法来实现2. CountDownLatch类来实现1. join方法来实现等待线程执行终止。在主线程中如果对子线程使用了join方法,那么主原创 2021-09-13 17:13:17 · 656 阅读 · 0 评论 -
网易一面记录
2021-09-10号网易一面。按照惯例,这里记录下自己理解比较模糊的问题。然后再解答这些问题。文章目录1. Linux的文件权限有几级,一个文件设置了777是否就可以删除了?2. 对Linux的fork的理解?3. 运行在线上的程序崩溃,怎么解决日志问题?4. onPause中做一些耗时操作,是否会延迟Activity的启动?5. 四次挥手,为什么需要四次?6. 物理地址和逻辑地址,使用逻辑地址有哪些好处?7. NDK开发,C++开发?8. 操作系统原理很重要,建议多了解操作系统1. Linux的文件原创 2021-09-13 16:34:38 · 176 阅读 · 0 评论 -
小红书二面的一些记录
今天面试小红书二面,感觉整体上考察还是比较基础。根据小红书面试官透露,在开发中使用kotlin比较多;公司有跨平台的,但还是原生比较多。这里就记录几个回答不是怎么好的问题:1. 实现线程安全队列首先是实现一个队列,可以自动扩容,底层为int[] 类型。对于怎么以最小的代价来保证其线程安全,这里可能我说的不是最优的,这里需要看下Java相关类的设计思想。首先给出我的非多线程版本:class Queue{ private int[] arr; int preIndex = 0;原创 2021-09-10 21:44:29 · 760 阅读 · 0 评论 -
Java中的方法中定义的变量初始化问题
今天做茄子快传的时候遇到了这个问题。比如:private void doTest(){ int[] a = new int[3]; System.out.println(a[1]);}上面的这个代码是否能够正常运行。考试的时候有点懵,下意识的以为没有赋初值就是一些随机的空间值,故而可能会编译通不过。但现在仔细一回想,在使用的时候,其实经常这么使用的。会错的原因是将普通变量和引用变量搞混淆了。比如下面的案例:而对于这里的数组,会被直接初始化为0,如下:...原创 2021-09-09 20:02:10 · 290 阅读 · 0 评论 -
Message对象的when?Hanlder是如何将一个延迟消息添加到消息队列的?
1. 前言今天在面试三七互娱的时候两个面试官轮流上阵,那个时候确实是比较虚的,幸好问的都还知道。只是对于Handler消息机制中如题的两个点,确实没有怎么注意过,也没有达出来。这里记录下。2. 解答平时没怎么用到过这个字段,经常用的是what和obj这两个字段。那么就来看下这个when。先百度下:what区分消息要做的事情,when表示什么时候发生的。害,这么说来延迟消息的应该也就是一样加入到消息队列,只是标识了执行的时机,使用when来标识。那么岂不是面试官当时连着这两个问题是在做提示?麻了原创 2021-09-08 22:09:43 · 375 阅读 · 0 评论 -
Fragment使用为什么要开启事务?Fragment怎么进行查找?
1. 前言今天在面试顺丰的时候遇到了这两个问题。平时确实没有注意过这两个问题,这里记录下。另外面试过程了解到顺丰偏向于款平台开发,不太偏向Android原生开发。所以在面试过程中还问了前端的知识,比如为什么使用虚拟Dom、Vue的渲染过程等。Fragment怎么进行查找;Fragment为什么要开启事务;2. 解答同样的,为了解答这个问题,可以做一个小案例。就使用FrameLayout来实现一个小案例。案例效果:点击对应的底部Tab可以切换。activity_main.xml文件:&l原创 2021-09-08 21:21:24 · 573 阅读 · 0 评论 -
SharedPreferences线程安全吗?commit和apply的区别?
1. 前言今天面试爱奇艺的时候遇到了这个问题。确实是比较懵的,因为:平时在使用的时候都是单个App做自动登录,所以一直都是一个线程在操作,也就没有思考过SharedPreferences在多线程下还安全吗这个问题。对于commit和apply之前看一些博客说commit更好,所以一直也就使用的commit,所以还真没有怎么注意过。对于这两个问题,这里重新整理下。2. 问题解答2.1 小案例为了回答这个问题,可以做一个小案例,就是使用多个线程来并发的操作下,我们来看看是否安全。public原创 2021-09-07 18:11:13 · 1877 阅读 · 0 评论 -
Android客户端小米面试记录
今天晚上小米的一面二面连着面试的,太顶了。有些题记不住了,大致回忆了一下有如下题目,就不做区分,写到了一起:小米一面/二面:2021年8月24日TCP三次握手和四次挥手;TCP和UDP的区别;UDP有哪些实际应用场景;事件分发机制;OOP设计原则;JVM垃圾回收机制;分代垃圾回收的算法;Java的类加载机制;Activity的四种启动模式;输入URL地址后,从输入到返回的整个流程;进程与线程;Android消息机制;Synchronized与volatile的区别;什么是内存原创 2021-08-24 21:55:50 · 336 阅读 · 2 评论 -
求第K个幸运数字(只由4、7或者他们的组合构成的数称为幸运数字)
记录一道没见过的题【幸运数字】1. 题目描述如题,只由4和7或者他们的组合构成的数字称为幸运数字,这个列表按照从小到达排序。求第K个数是多少。示例1:输入:k = 5输出:74说明K很大,0<K<10180 <K<10^{18}0<K<1018。2. 解答不妨先将之写出来:4, 7, 44, 47, 74, 77, 444, 447, 474, 477, 744, 747, 774, 777... 可以构建这么一颗二叉树:private i原创 2021-08-11 21:43:20 · 1008 阅读 · 0 评论