前言 最近在网上看到很多关于面试的文章,其中有些面经的文章只提供了面试题目,而没有给出面试过程中的细节和面试心得。 这导致一些面试者在面试前只是盲目地刷题,而没有将题目与自己过去的项目经验结合起来,因此在面试中被问到一些技术问题时无法回答,最终导致面试失败或者薪资不高。 这篇文章主要特点是将繁琐的知识点以系列专题的形式呈现给读者。通过跟随博主构建的体系化学习知识点,读者可以更好地掌握Android开发的相关知识。当读者能够掌握这些知识点时,就可以超越80%以上的Android开发人员。这种无所不知的感觉会让读者感到自己已经成为别人眼中的大神。 在面试前,了解一些常见的面试题目和面试过程中...

Android很卷,大家不要再卷Android了,经常听到同学这样抱怨。但同时,Android的高薪也在吸引越来越多的同学。不少同学开始疑惑:既然Android这么卷,还值得我入行吗? 首先先给你吃一颗定心丸:现在选择Android依然有前途!理由我们往下慢慢看。 Android卷是客观事实,但也带来好的一面。 首先可以肯定的是,市场上终归是需要Android人才的,但是总会有人来问,Android前景怎么样?是因为看了太多人说自己学完了,培训完了,没有找到工作;甚至有人不断贩卖焦虑,Android早就没前途了,学Android就是浪费时间。于是就得出结论,Android不行了,学了也找不到工...

  69EBWt67zZM1   2023年11月05日   27   0   0 androidKotlinjavajavaKotlinandroid

前言 由于之前从上海离职,来到深圳找工作。 然后准备面试的时候,发现网上很多Android面试题及答案整理都没有答案, 在成功的拿到几家公司的offer后(虽然不是阿里、网易这种级别的公司,但对我一个毕业三年的Android开发来说,算是成功的从小公司跳到大公司) 自己总结了一些最近面试过的Android面试题以及答案。 Android基本知识点 1、常规知识点 1、Android类加载器 在Android开发中,不管是插件化还是组件化,都是基于Android系统的类加载器ClassLoader来设计的。只不过Android平台上虚拟机运行的是Dex字节码,一种对class文件优化的产物,...

背景 自2016年至2023年,我已经工作了将近7年。 我的职业生涯始于Android应用层开发工程师,然而在2022年,我选择转型为系统工程师,深入探索更底层的技术。我之所以做出这个决定,是因为我意识到应用层开发相对简单,而系统层的技术更具挑战性,也更能提高我的职场竞争力。 如今 Android市场已经发生了变化。初级工程师的供应量远大于需求量,这导致许多Android开发人员面临被优化、被裁员、难以找到工作的困境。然而,我想强调的是,决定一个Android工程师的级别不应仅根据其工作年限,而应更多地关注他们的技术能力。 无论有多少年的经验,如果开发者的技能与实际需求不匹配,他们仍可能面临...

内存泄漏是一种常见的编程问题,它通常是由于程序员在编写代码时没有正确地管理内存而导致的。当一个应用程序分配了内存但不再需要它时,它应该将其返回给操作系统以供重新分配使用,但如果没有这样做,就会导致内存泄漏。 内存泄漏可能会导致应用程序的速度变慢,甚至崩溃,因为它们可以消耗大量的系统资源,导致系统变得不稳定。在长时间运行的程序或服务器上,内存泄漏可能会导致可用内存被耗尽,从而影响程序的性能和可靠性。 内存泄漏通常分为一下四类 1)常发性内存泄漏 发生内存泄漏的代码会被多次执行,每行一次执行都会导致一块内存泄漏。这种类型的内存泄漏是较为常见的,并且可能会导致程序运行缓慢或崩溃。 2)偶发性内...

前言 又逢“金三银四”,年轻的毕业生们满怀希望与忐忑,去寻找、竞争一个工作机会。已经在职的开发同学,也想通过社会招聘或者内推的时机争取到更好的待遇、更大的平台。 然而,面试人群众多,技术市场却相对冷淡,面试的同学们不得不面临着1个职位N个应聘者的巨大竞争。 问:在这种现状下,如何才能收获又多又好的Offer? 答:短期准备——刷面试题; 长期筹谋——巩固核心技能。 面试题怎么刷?刷高频题、有深度的题、符合时效性的题。 核心技能如何巩固?先深入理解原理,再系统应用到实践。 高频题、有深度的题 《Android面试大厂必考174题》 由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有...

前言 身为一名在阿里工作的前外包员工,我体会到了外包的艰辛和不易。如果让我选择,我会毫不犹豫地建议大家不要进入外包行业。不过,同时我也认为外包对于某些特定的个人是有价值的。 ▶我为什么选择外包 我是15年毕业的,学历专科,也是毕业的早专业也对口,不然现在进外包的门槛都摸不到。作为一个专科生,自己家里条件一般能进大厂就高兴的不行了,哪怕是外包只要米多就行。 阿里外包的生活 大三实习一年,实习找到了我离职的这家公司。 然后毕业了也转正留了下来,满打满算从实习到我离开差不多小两年时间吧。虽然离职后期有点不愉快,但整的来说也挺感谢这家公司。是我实习期间的一个落脚点,包括后面毕业了,班里大部分同...

本人2本毕业,目前工作四年,一直是Android。 做的都是些二线公司,没做过一线。四年跳了三家公司。在家休息了几个月, 今年3月份开始面试。 由于跳槽过多而且已经是现在Android市场的原因。内推的我的字节哥们儿,推了不知道多少个部门,才把我推进去。 这里还是奉劝大家跳槽不要像我这么频繁,唉。而且想进大厂,建议找人内推。这是我第一次面字节,也是今年第一场面试,各种意义都算是初体验了。 这里分享此次的面试题 整理Android中高级面试展开的完整面试题 一.Android面试相关 1.Activity ●说下Activity生命周期 ●ActivityA启动另一个ActivityB会调用...

前言 真是越难的时节,就会发生越离谱的事。 真的是太猛了,见过降薪的没见过降薪这么狠的互联网公司,最近杭州某知名的系统集成商发出了全员降薪的通知。 其实近段时间互联网公司降薪的操作也已经屡见不鲜了,但是你知道这家公司降薪多少吗? 普通员工减薪50%;主管及以上减薪60%;高管就更猛了直接就是0薪酬。反正IT圈都刷屏了,都说这家公司就是奔着倒闭去的,一点底线都不留。 许多程序员申请仲裁也没用,公司难,程序员更难。这时节找份工作不容易,又白干了一段时间。 这种公司就属于竞争力不够强,就被挤垮了。就像程序员一样不提升自己核心竞争力,也容易掉队。 程序员如何正确提升核心竞争力 在近期经济形势不容乐观...

背景 随着移动互联网的快速发展,移动应用越来越注重用户体验。美团技术团队在开发过程中也非常注重提升移动应用的整体质量,其中很重要的一项内容就是页面的加载速度。如果发生冷启动时间过长、页面渲染时间过长、网络请求过慢等现象,就会直接影响到用户的体验,所以,如何监控整个项目的加载速度就成为我们部门面临的重要挑战。 对于测速这个问题,很多同学首先会想到在页面中的不同节点加入计算时间的代码,以此算出某段时间长度。然而,随着美团业务的快速迭代,会有越来越多的新页面、越来越多的业务逻辑、越来越多的代码改动,这些不确定性会使我们测速部分的代码耦合进业务逻辑,并且需要手动维护,进而增加了成本和风险。于是通过借...

前言 作为一个Android开发人员,你还在为了适配各种尺寸的屏幕而苦恼吗?你还在为了出现一个新的机型而修改着数不尽的dimens和layout吗?你还在为了UI给的奇葩尺寸的设计图而绞尽奶汁计算距离吗?如果你为了这些事情而苦恼,那么看完这篇文章,希望可以帮你减少开发时间,减缓生命的流逝速度。 测试与思考 不得不说今日头条的大神们的想法真的非常独到,成本极其低廉,还特别好用。他们给出的最终方案是这样的: privatestaticfloatsRoncompatScaledDensity; privatevoidsetCustomDensity(@NonNullActivityactivit...

  69EBWt67zZM1   2023年11月02日   35   0   0 android初始化ideide初始化android

四个层级如下:第一层:普通程序员第二层:熟练开发者、高级开发工程师、技术组长第三层:技术专家、架构师、一线经理第四层:科学家、研究员、首席(资深)架构师、部门研发总监 image Android开发者的四个层级 按我的理解,无论是Android开发者还是其他的开发者都可以分为四个层级,可依次对应普通、熟练、优秀、卓越这四个词。 一、普通 普通开发者,能够使用一定的专项技术,完成别人分配的模块的开发。在工作当中,他们很少有机会决定自己做什么和怎么做,通常是在他人指导和安排下编码实现特定的细分功能。 这部分人中的大部分人,一般比较注重经济利益,有一定的经济压力。尚未把编程作为自己的一种爱好...

一.MVC:Model-View-Controller MVC全名是:Model(模型)View(视图)Controller(控制器)是软件[架构]中最常见的框架,简单来说,就是通过Controller的控制去操作Model层的数据,并且返回给View作展示。 1.MVC的工作原理? \1.View接受用户的交互请求。 \2.View将请求转交给Controller。 \3.Controller操作Model进行数据更新。 \4.数据更新之后,Model通知View数据变化。 \5.View显示更新之后的数据。 2.MVC优点? 1)把业务逻辑全部分离到Controller中,模块化程度高。...

  69EBWt67zZM1   2023年11月02日   26   0   0 MVVMMVCMVCMVVM数据数据

一、前言 Flutter是一种全新的响应式跨平台的移动开发框架,越来越多的开发者参与学习或者研究中,确实在iOS和Android平台上能够用一套代码构建出性能比较高的应用程序。我刚开始接触FlutterFlutter中文网看到这么一句话:Widget是Flutter应用程序用户界面的基本构建块。每个Widget都是用户界面一部分的不可变声明。与其他将试图、控制器、布局和其他属性分离的框架不同,Flutter具有一致的统一对象模型:Widget。在开发过程中也可以知道Widget可以被定义按钮(button)、样式(style)、填充(Padding)、布局(Row)、手势(GestureDet...

  69EBWt67zZM1   2023年11月02日   29   0   0 TextideUIideUIText

Flutter的环境搭配完之后,就开始Flutter的开发,下面的一些工具和方法,可以省下一些时间。 自己在用的,暂时想到的,就是这些了,总结一下。 1.JSON解析快速生成实体类 根据接口返回的数据,编写实体类,添加两个方法。 fromJson()方法是可以聪一个Map中构造出一个User的实例,toJson()方法,可以将一个实例转化为Map。 image.png 如果接口返回的数据比较复杂点,那么手动写起来就会很麻烦。这个时候可以利用json_serializable来帮你自动生成实体类的一些代码,还有利用caijinglong.github.io/json2dart/i…来快速生成...

前言 如果你从事互联网技术研发,那么你一定需要了解Git&Github 本文将采用图&表的方式,向你全面介绍Git与Github,包括其功能、应用场景&之间的关系,希望你们会喜欢。 目录 1.关于Git 1.1简介 关于Git的定义、应用场景&特点请看下图: 1.2对比 下面,我将Git与其他类型的版本控制系统进行对比: 横向对比(与集中式版本控制系统) 纵向对比(与同类的分布式版本控制系统) 具体对比请看下图 1.3Git的使用 1.3.1Git的安装 此处主要讲解Mac版的安装: 获取MacOS的dmg安装文件:获取地址=googlec...

在pub上面找了下,没有发现一个效果跟微信一样的支持缩放拖拽效果的image,所以就自己撸了一个,之前写过Flutter什么功能都有的Image,于是就在这个上面新增了这个功能。 主要功能: 缩放拖拽 在PageView里面缩放拖拽 支持缩放拖拽 image 用法 1.将extended_image的mode参数设置为ExtendedImageMode.Gesture 2.设置GestureConfig ExtendedImage.network( imageTestUrl, fit:BoxFit.contain, //enableLoadState:false, mode:Exte...

  69EBWt67zZM1   2023年11月02日   39   0   0 拖拽缩放缩放拖拽cici

Flutter 是Google推出的移动端跨平台开发框架,使用的编程语言是Dart。从ReactNative到Flutter,开发者对跨平台解决方案的探索从未停止,毕竟,它可以让我们节省移动端一半的人力。本篇文章中,我们就通过编写一个简单的Flutter来了解他的开发流程。 这里我们要开发的demo很简单,只是在屏幕中间放一个按钮,点击的时候,模拟摇两个骰子并弹窗显示结果。我们撸起袖子开干吧。 创建项目 我们这里假定读者已经安装好Flutter,并且使用安装了Flutter插件的AndroidStudio进行开发。 下面我们开始创建项目: 选择File>New>NewFlutt...

  69EBWt67zZM1   2023年11月02日   40   0   0 fluttersedsedTextflutterText

今天我们学习音频的采集、编码、生成文件、转码等操作,我们生成三种格式的文件格式,pcm、wav、aac三种格式,并且我们用AudioStack来播放音频,最后我们播放这个音频。 使用AudioRecord实现录音生成PCM文件 AudioRecord是Android系统提供的用于实现录音的功能类,要想了解这个类的具体的说明和用法,我们可以去看一下官方的文档: AndioRecord类的主要功能是让各种Java应用能够管理音频资源,以便它们通过此类能够录制声音相关的硬件所收集的声音。此功能的实现就是通过”pulling”(读取)AudioRecord对象的声音数据来完成的。在录音过程中,应用所...

Retrofit的出现让Android的网络请求变得异常简单,同时可以很好的配合后台的REST接口。非常值得我们去探究一下它的原理。 Retrofit的使用 通常我们是Retrofit是和Rxjava配合使用,这里我们不做用法上的过多研究,主要看原理,所以下面的代码都是Retrofit的自身API,没有用Rxjava。 下面是一个普通get请求 1.新建接口 新建接口API.java文件: publicinterfaceAPI{ @GET("请求地址,但是不包括服务器的地址") Call<Response>get( @Query("param1")Stringparam1,...

  69EBWt67zZM1   2023年11月02日   23   0   0 androidAPIideideandroidAPI
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~