
面试
文章平均质量分 83
对学习过的面试题进行整理
Julian Q
这个作者很懒,什么都没留下…
展开
-
Java:设计模式七大原则整理
设计模式七大原则原创 2022-09-04 22:37:02 · 244 阅读 · 0 评论 -
校招:滴滴出行相关校招信息
滴滴出行校招信息原创 2022-09-01 00:58:51 · 1272 阅读 · 3 评论 -
Android:安卓虚拟机(Dalvik && ART)学习
Android虚拟机特定学习原创 2022-08-07 01:58:43 · 4392 阅读 · 0 评论 -
暑期实习&转正实习:滴滴2023届实习生岗位内推!可帮查进度!
滴滴转正实习内推原创 2022-06-04 11:10:24 · 904 阅读 · 2 评论 -
Java:final、finally、finalize的区别整理
文章目录前言一、final修饰类修饰方法修饰变量二、finally三、finalize前言`这篇记录笔者在复习Java的道路上对final、finally、finalize关键字的整理一、final在Java中,final可以用来修饰类,方法和变量(成员变量或局部变量)修饰类当用final修饰类的时,表明该类不能被其他类所继承。当我们需要让一个类永远不被继承,此时就可以用final修饰,但要注意:final类中所有的成员方法都会隐式的定义为final方法。修饰方法使用final方法的原因原创 2022-03-12 21:57:50 · 200 阅读 · 0 评论 -
Android 四种启动模式 理论与实践与相关知识
文章目录Activity栈一、四种启动模式1.标准模式(Standard)2.单栈顶模式(SingleTop)3.单任务模式(SingleTask)4.单例模式(SingleInstance)二、实践1.静态应用2.动态应用总结Activity栈Android 四种启动模式的学习Activity按照其启动时间的先后顺序依次入栈,当回退时,从活动栈的栈顶拿出当前显示的活动,而后对其进行销毁。一、四种启动模式1.标准模式(Standard)标准模式就是最常见的模式,从Activity1->原创 2021-11-04 00:10:52 · 2216 阅读 · 0 评论 -
Java:垃圾回收机制面试知识点整理
文章目录前言一、垃圾回收机制现有种类二、题目1.什么情况下会内存栈溢出2.new一个对象流程3.对象会不会被分配在栈中4.如何判断一个对象是否被回收,有哪些算法,实际虚拟机采用的是哪种算法总结前言笔者就Java的垃圾回收机制进行一番复习和探讨一、垃圾回收机制现有种类示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、题目1.什么情况下会内存栈溢出两种情况无限递归,会导致StackOverFlow不断创建线程,会导致OOM2.new一个对象流程原创 2022-03-09 19:25:20 · 2970 阅读 · 0 评论 -
Android:ANR问题是什么和如何避免
文章目录前言一、ANR是什么?二、场景1.Service Timeout2.BroadcastQueue Timeout3.ContentProvider Timeout4.InputDispatching Timeout三、超时检测机制Service总结前言ANR问题在我们Android开发中经常会遇到,但是如何清晰地把ANR问题的定义表述出来和详述ANR问题如何解决则是一个需要整理的过程,本节就针对ANR问题进行整理一、ANR是什么?==ANR(Application Not respondi原创 2022-03-08 14:47:58 · 5769 阅读 · 0 评论 -
Android:Fragment生命周期(结合Activity的生命周期进行分析)
文章目录前言一、Fragment生命周期启动自我结合Activity二、使用步骤1.引入库2.读入数据总结前言本文记录笔者学习Fragment生命周期的心路历程一、Fragment生命周期在这一部分中,我们单纯以Fragment为观察对象,观察其生命周期在Android开发平台的官方文档中,对Fragment的生命周期有如下的描述尽管 Fragment 的生命周期与其拥有的活动相关联,但它在标准活动生命周期上也有自己的缺陷。它包括基本的活动生命周期方法,例如onResume(),但与活动交互和原创 2022-03-07 20:56:01 · 9694 阅读 · 0 评论 -
Android:Bitmap类的使用及其原理分析
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport原创 2022-03-07 15:26:28 · 2620 阅读 · 0 评论 -
Android:Activity的生命周期、拓展分析
文章目录前言一、常见生命周期二、生命周期具体分析1.onCreate()2.onStart()3.onResume()4.onPause()5.onStop()6.onRestart()7.onDestory()三、引起生命周期的回调方法onActivityResultonSaveInstanceState/onRestoreInstanceStateonNewIntent四、场景生命周期流程正常启动Activity切换屏幕旋转后台应用被系统杀死具有返回值的启动五、常见的面试题提问1、假设项目中有这样的需求原创 2022-03-07 00:17:13 · 1948 阅读 · 0 评论 -
Android:深入理解RecyclerView的缓存机制
文章目录前言一、概述二、基本知识1.复用的内容2.何时调用三、RecyclerView的几级缓存Scrap总结前言本篇记录笔者学习ReclerView缓存机制的心路历程一、概述我们都知道RecyclerView无论如何都不会导致OOM的发生,而这背后依靠是其本身强大的回收复用机制,那么其回收复用机制是如何实现的呢,下面笔者记录对其的分析过程二、基本知识1.复用的内容在搞清楚RecyclerView的缓存复用机制之前,我们先要清楚缓存复用机制是对什么进行复用的呢,毫无疑问不可能是我们针对每个i原创 2022-03-03 13:17:17 · 4374 阅读 · 1 评论 -
Java:synchronized锁的原理学习
文章目录前言一、synchronized关键字的作用二、synchronized关键字的原理1.应用场景2.原理对象锁(monitor)机制3.优化偏向锁轻量级锁自旋锁前言这篇记录笔者在学习synchronized关键字的学习心得一、synchronized关键字的作用关于synchronized关键字的使用和所起到的保证变量原子性和可见性的作用本篇就不进行赘述了,如果想看synchronized关键字作用的可以看这篇博客synchronized关键字的作用二、synchronized关键字的原创 2022-03-01 11:41:25 · 729 阅读 · 0 评论 -
Java:ReentrantLock可重入锁的深入学习
文章目录ReentrantLock介绍一、重入性的实现原理二、使用步骤1.引入库2.读入数据总结ReentrantLock介绍ReentrantLock重入锁,是实现Lock接口的一个类,也是在实际编程中使用频率很高的一个锁,支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次获取不会被阻塞。在java关键字synchronized隐式支持重入性,synchronized通过获取自增,释放自减的方式实现重入。与此同时,ReentrantLock还支持公平锁和非公平锁两种方式。那么,要想原创 2022-02-28 23:53:03 · 315 阅读 · 0 评论 -
Android:移动端常用的锁及背后的CAS原理
文章目录前言一、移动端常用的锁二、CAS机制原理分析1.synchronized2.读入数据总结前言本文记录笔者复习移动端常用的锁及其背后的CAS原理一、移动端常用的锁一般的,在移动开发中,我们常常使用到的锁可列举出以下三类synchronized内置锁,直接扔进去整个逻辑保证原子性和可见性,开销交大AutomicInteger,原子操作类,扔进去一个整形变量,调用其接口进行增或减,缺点是难以实现复杂逻辑Lock()显式锁,可以让程序员自定义锁内部的逻辑,开销相比较synchronized原创 2022-02-28 21:42:57 · 795 阅读 · 0 评论 -
Java:重载和重写的区别
文章目录一、重写二、重载一、重写重写的两个方法名相同,方法参数的个数也相同;涉及到继承的概念,一个方法在父类中,一个方法在子类中;重写的方法,在编译期间,编译器会优先检查父类对应的方法是否存在,若存在,则运行通过,此时调用方法的语句指向的父类的方法;在运行期间,调用方法的语句,会指向实现方法的具体子类,并调用子类的重写方法二、重载重载的两个方法名相同,但方法参数的个数不同,另外也不涉及到继承;两个方法在一个类中,也不涉及到集成;在编译期间,编译器通过方法名和参数个数去检查方法存在的合理性。多原创 2022-02-28 11:16:45 · 244 阅读 · 0 评论 -
Java:线程池的七大参数及其工作原理
文章目录前言一、二、使用步骤1.引入库2.读入数据总结前言一、示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import ss原创 2022-02-27 22:46:22 · 687 阅读 · 0 评论 -
Java:synchronized和volatile关键字的区别与比较
文章目录前言一、为什么要使用synchronized和volatile关键字二、相同点synchronized2.volatile三、不同点总结前言这篇记录笔者在学习Java并发编程路上遇到的synchronized和volatile关键字一、为什么要使用synchronized和volatile关键字我们都知道多线程环境下存在线程安全问题,即多个线程对同一个变量进行读写操作时,可能并不会按照我们预期的访问执行顺序对变量进行操作,从而造成错误;而我们对变量进行上锁也可能无法保证上锁后的结果就一定是线原创 2022-02-27 17:49:12 · 628 阅读 · 0 评论 -
计算机网络:小明在家打开一个网址过程细致版(DNS缓存、DNS查询、TCP/IP协议、ARP协议、HTML渲染)
文章目录前言一、DNS缓存浏览器缓存操作系统缓存路由器缓存ISP缓存二、DNS查询1.发起DNS查询2.DNS服务器设计结构3.DNS服务器查询步骤总结前言我们都知道DNS协议是用来将人类可记忆的域名映射为计算机所记忆的ip地址,最终去获取ip地址对应服务器上存储的内容,那么DNS协议在实际网络请求中扮演了哪些角色或者说它是由哪些角色组成呢?我们以打开一个网页过程进行展示一、DNS缓存当浏览器输入一个网址敲下回车后,浏览器并不会直接向远程DNS服务器请求该域名对应的ip地址,而是会就近检查缓存中原创 2022-02-26 13:55:32 · 4189 阅读 · 0 评论 -
计算机网络:Cookie和Session的作用和区别,看这篇就够啦
文章目录前言一、为什么要有Cookie和Session二、Cookie && Session1.Cookie2.Session三、Cookie和Session的区别总结前言本文记录笔者在复习计算机网络中针对Cookie和Session进行的总结一、为什么要有Cookie和Session因为HTTP 是无状态的协议(对于事务处理没有记忆能力,每次客户端和服务端会话完成时,服务端不会保存任何会话信息):每个请求都是完全独立的,服务端无法确认当前访问者的身份信息,无法分辨上一次的请求发原创 2022-02-25 11:18:33 · 2870 阅读 · 0 评论 -
Java:抽象类和接口的区别
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言这篇记录Java中抽象类和接口的复习一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarni原创 2022-02-23 23:42:00 · 109 阅读 · 0 评论 -
Java:堆和栈的区别
文章目录前言一、Java堆栈常见问题二、问题理解1.为什么要区分堆和栈静态分配动态分配Java中的堆2.堆和栈的区别3.为什么堆是线程共享的而栈不是?4.我们平时说的堆栈信息、堆栈方法区是什么?堆栈信息堆栈方法区总结前言这篇记录笔者复习Java堆栈区别一、Java堆栈常见问题在学习Java初的时候,我们便知道Java的对象都是分配在堆中,栈中只保留分配对象的引用;堆是各线程共享,栈是各线程独有,当笔者使用Java一段时间后,笔者心中产生如下的思考为什么要分堆和栈?堆和栈的区别是什么?为什原创 2022-02-23 17:01:41 · 3910 阅读 · 0 评论 -
Android:模块化、组件化、插件化的区别
文章目录一、区别模块化组件化插件化一、区别模块化模块化就是将一个程序按照其功能进行拆分,分成相对独立的模块,以便于每个模块只包含和其功能相关的内容;例如登录功能便可作为一个模块进行出现组件化组件化更注重关注点分离,所谓的关注点分离,就是把复杂的问题做合理分解,再分别仔细研究这些问题的不同侧面(关注点),最后综合得到整体的解决方案从集合角度,一个模块可以包含多个组件,或者说一个模块是容器,由多个组件构成插件化插件化也是基于模块化的思想,将应用拆分为多个模块,而这些模块都是一个APK,最终原创 2022-02-19 00:12:13 · 1455 阅读 · 0 评论 -
Linux:Linux下进程间通信方式的学习
文章目录前言一、Linux进程间通信方式总览二、细致学习1.管道2.命名管道2.读入数据总结前言一、Linux进程间通信方式总览Linux下进程间通信有如下方式管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量(semaphore),信号(signal)套接字(Socket)二、细致学习1.管道概括:管道允许一个进程和另一个与它有共同祖先的进程(或者其祖先原创 2022-02-14 22:42:23 · 628 阅读 · 0 评论 -
计算机网络:常见的计网面试题整理(一)
文章目录前言一、题目&&解答TCP和UDP的区别?TCPUDP介绍一下TCP的三次握手TCP中拥塞控制和流量控制有什么区别?说⼀说GET与POST有哪些区别?说一下在浏览器中输入URL到显示的过程HTTP 1.0 、HTTP 1.1、HTTP 2.0 的主要区别是什么?HTTP 1.0HTTP 1.1HTTP 2.0SPDY协议头部压缩多路复用二进制分帧服务器推送请求优先级谈下你对 HTTP 长连接和短连接的理解?说一下HTTP 和 HTTPS 的区别?HTTP的优缺点说说URI 和 URL原创 2022-02-12 18:23:16 · 3871 阅读 · 0 评论 -
Java:Java的四种引用与其中区别
文章目录前言一、Java四种引用二、使用步骤1.引入库2.读入数据总结前言这篇文章记录笔者Java学习中的问题思考一、Java四种引用四种引用分为以下的类型强引用: 强引用指的是通过new对象创建的引用,垃圾回收器即使是内存不足也不会回收强引用指向的对象。软引用: 软引用是通过SoftRefrence实现的,它的生命周期比强引用短,在内存不足,抛出OOM之前,垃圾回收器会回收软引用引用的对象。软引用常见的使用场景是存储一些内存敏感的缓存,当内存不足时会被回收。弱引用: 弱引用是通过WeakR原创 2022-02-11 17:06:18 · 932 阅读 · 0 评论 -
Android:Handler相关面试题整理
文章目录前言一、题目2.为何可以在主线程中new Handler,如果要在子线程中new Handler需要做什么工作?3.子线程中维护的Looper,当消息队列无消息的时候,处理方案是什么总结前言如果没有进行过Handler源码相关阅读和整理,强烈建议先看笔者的这篇博客Handler消息机制整理这篇记录Handler相关面试题的学习和整理一、题目12.为何可以在主线程中new Handler,如果要在子线程中new Handler需要做什么工作?子线程中使用Handler必须使用Loop原创 2022-02-10 18:20:27 · 1597 阅读 · 0 评论 -
Android:Drawable学习整理
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2022-02-06 18:10:32 · 683 阅读 · 0 评论 -
Android:View机制复习、学习、再拓宽和源码解读
文章目录前言一、View基础概念什么是ViewView的位置参数原始位置参数补充位置参数View的接触事件MotionEventTouchSlopVelocityTrackerGestureDetector二、使用步骤1.引入库2.读入数据总结前言本章是对Android基础知识中的View组件和机制进行复习一、View基础概念什么是ViewView是Android所有控件的基类,类似Java中所有对象的基类Object;View是一种界面层的控件的一种抽象,它代表了一个控件。ViewGroup原创 2022-02-05 21:12:43 · 1067 阅读 · 0 评论 -
Java:深拷贝与浅拷贝整理及代码书写
文章目录前言一、Java深浅拷贝的区别二、代码手写实现1.代码2.测试结果总结前言Java深浅拷贝是老生常谈的问题,但是以往的学习中只知道深浅拷贝的区别,没有自己动手去书写过深浅拷贝的代码和比较区别,这篇博客就此进行整理一、Java深浅拷贝的区别数据分为基本数据类型和引用数据类型。基本数据类型:数据直接存储在栈中;引用数据类型:存储在栈中的是对象的引用地址,真实的对象数据存放在堆内存里。浅拷贝:对于基础数据类型:直接复制数据值;对于引用数据类型:只是复制了对象的引用地址,新旧 对象指向同一个内存原创 2022-02-03 20:49:01 · 697 阅读 · 0 评论 -
设计模式:单例模式
文章目录前言一、单例模式是什么?二、单例模式的种类1.饿汉式2.懒汉式(线程不安全)3.懒汉式(线程安全)synchronized关键字双重检查模式(DCL模式)4.静态内部类单例模式5.枚举单例三、使用场景前言单例模式在生产和面试中都十分常见,这里对单例模式进行复习一、单例模式是什么?单例设计模式(Singleton Design Pattern)是一种创建型设计模式。定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。二、单例模式的种类1.饿汉式public class Si原创 2022-02-01 22:31:29 · 314 阅读 · 0 评论 -
Java:深入理解HashMap
文章目录前言一、HashMap插入节点的流程二、如何优化哈希碰撞三、哈希表如何优化四、HashMap线程安全问题五、HashMap 与HashTable的区别六、HashMap 与SparseArray的区别二、使用步骤1.引入库2.读入数据总结前言一、HashMap插入节点的流程示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、如何优化哈希碰撞三、哈希表如何优化四、HashMap线程安全问题五、HashMap 与HashTable的区别Hash原创 2022-02-01 20:32:55 · 818 阅读 · 0 评论 -
数据结构:哈希表的学习和相关算法题的书写
文章目录前言一、What is hashing?二、如何实现哈希表中的映射和带来的问题三、哈希表的分类总结前言使用哈希表可以进行非常快速的查找操作。但是,哈希表究竟是啥?很多人避而不谈,虽然知道经常用到,很多语言的内置数据结构像python中的字典,java中的HashMap,都是基于哈希表实现,但人们很少关注其底层实现的细节,今天便来学习哈希表的实现和书写相关算法题一、What is hashing?先来看一段标准的定义:散列(hashing)是电脑科学中一种对资料的处理方法,通过某种特定的原创 2022-01-31 15:35:26 · 729 阅读 · 0 评论