解决跨域的方案有什么? 挑一个项目说说?有多少人共同开发?你负责哪一块?遇到什么技术难题? 把10万次for循环的代码插到html中间,会有什么现象?出现卡顿现象怎么解决?...IntersectionObserver怎么使用的?怎么知道一个DOM节点出现在视口内? vuex的实现机制是什么?vuex里用到的设计模式有什么?还有其他的吗? 用过自定义指令吗?什么场景下使用?...刚刚你有说到垃圾回收,说一下垃圾回收吧。 如果想知道一个页面有没有存在内存泄漏的情况,怎么做? 刚刚你有说到性能优化,在这过程中你是怎么利用chrome开发者工具的? WebWorker的缺点是什么?...在worker线程怎么获取主线程上下文?解决卡顿的问题除了使用WebWorker还有其他的解决方案吗?面试官建议我去了解一下React的fiber。有没有测试过woker通信的时间?...说一下JS是怎么做垃圾回收的? vue双向绑定原理?调用push给数组添加元素会自动更新吗?为什么? 看过vue源码吗?
正文 首先要知道什么时候会进行编译,有以下几种情况: 创建新项目。 打开老项目。 打开别人的项目。 ... Android Studio中的项目每一次在打开项目的时候就会检查当前的Gradle编译环境,如果你之前的项目是正常编译的,而你很长时间没有再打开过这个项目,那么当你再次打开项目时,就会先检查Gradle...三、打开别人的项目 很多时候我们会打开别人的项目,比如开发过程中遇到一个技术点,发现没有头绪,百度上一顿搜索,看到有一个功能差不多的Demo,点进去一看,发现转载,然后又去找原文,原文上一看,哦豁,...,然后再进行编译,如果失败了,或者提示你当前的AS版本较低无法编译的话,你就需要思考一个问题了,就是本地的AS环境能不能更新,因为你可能还有别的项目需要使用当前的环境,为了一个项目更改所有项目的环境,好像有一点不值得...如果你在开发中遇到什么编译问题,是本文中没有提到的,欢迎在评论中提出。
前几天有个做服务端的师弟跟我说他不用抓包工具,遇到问题直接debug代码,那我问他,如果线上服务的话,你怎么调?在实际项目中,没有遇到跟客户端相互扯皮的事情吗?...在Charles的菜单栏选择"Proxy"->"Recording Settings",然后选择Include栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。...代理转发 实际开发时,有这样的场景,服务端线上版本有bug,你在本地修改程序后,需要模拟实际的线上环境,来验证程序的正确性,最笨的方法就是让客户端修改一下APP的调用地址到你本机,然后重新打一个版本供你模拟测试...写给测试人员的 另外抓包工具不只是开发人员独享的,任何一个参与项目的人都可以使用,测试工程师,运维,产品经理等等任何对技术感兴趣的人,尤其是测试工程师,在测试的过程中遇到问题,不是简单的bug记录员...当遇到问题的时候,用抓包工具把数据抓下来,首先比较Android和IOS发送请求参数有什么不同,比较一下返回的数据有什么不同,如果请求参数不同,那么测试人员通过模拟工具,把缺少的参数加上,那么返回的数据是不是就正确了呢
我的代码为什么要发布到NPM 相信每个开发现代化工程的前端,都或多或少接触过 NPM ,也或许敲了无数次的 npm i xxx ,同时我也相信,每一个前端在自己的开发生涯中,或多或少的总结了各种奇淫巧技...但是我们都知道每次 npm i 下来的东西有什么作用,如何使用,但从来没有 npm i 过自己的代码。 我们每次切换新的项目都会复制一份到新项目里,甚至在别人问的时候,直接发了段代码过去。...所以我为什么要发布自己的代码到 NPM 呢? 一是为了自己方便,更换工程的时候直接一个 npm i my-xxx 就能在新项目里使用自己封装的骚操作。...license: 当前项目的协议,让用户知道他们有何权限来使用你的模块,默认是 ISC。 全部输入完以后,会给我们一个预览,问我们这样可以吗,然后我们回车即可。...我随便找了个 vue3 的项目 npm i vuf3 -s 然后在 node_modules 找一下,打开 index.js 发现和我们之前写的一模一样。
所以别问我加班那么忙在干什么了 我在玩Google!!! 可惨痛的经历一次又一次的告诉我 谷歌不是万能的!!! 到了这个时候,我已经明确的知道,谷歌已经帮不了我了。那么,我应该绝望吗?我应该!...先干掉这个接口的相关操作,然后看看会是什么情况 于是,我注释掉了一段关键代码 然后摇一摇手机,重新reload代码。奇迹出现了,App重新运行后神奇的不再闪退了。...ლ(^ω^ლ) 你能想象这个时候我的心情吗 ~ 仍然毫无波澜! 虽然方向对了,这个神秘的bug就要漏出它最隐秘的本体。...既然数据正常,那么问题就一定出在我们自己封装的组件Session里了。进入该组件,继续观察,寻找可能出现问题的点 机智的我一眼就看出来组件内部有一个map循环。问题大概率出现在这里。...问题解决了,然而内心并没有很喜悦,花了一个下午加一个晚上的时间,解决了这么个破问题,我内心的苦涩,估计没人能懂 ~ 我几乎倾尽毕生所学,本以为将要被我征服的,是那种解决了就能吹嘘两个月的超级bug 谁知道
- 当前图片颜色值,存放类型取决于使用的是什么类型的 Config。 Bitmap 存储信息的数据结构是怎样的? 我创建一个对象,当我不使用的时候,并且将它置空,这时候就会立即被回收吗?...现在有这样的一个需求,我在 Activity 中的 View 中添加一个浮窗小球,并且让其随着手指移动,你有什么方式实现?移动点击的时候,又该如何处理?...假设我现在正常引用一个对象,在另一个地方使用弱引用去引用这个对象,当我释放掉了这个强引用对象的时候,那边可能会出现什么问题? 什么情况下会出现野指针? String 是可变的吗?为什么设计成为这样?...你用过哪儿些比较好的解决方案,或者有哪儿些出色的方面。 MMKV 和 SharedPreferences 有什么区别? 学历情况说明,离职原因,公司介绍。对于你的岗位以及薪资待遇有什么要求吗?...我是来面试的,又不是和你干架的。你什么都知道,那你招人干嘛?面试不就是相互沟通的吗?你抛出你感兴趣的问题,我用我平时的经验回答,这个有什么问题吗?如果说源码层面不够深入,我承认。
因为在验证码输入框右边有一个带惊叹号的三角形icon。这个符号通常表明有东西出差错了。 现在,我们再来看看同样的页面。不过这次加上颜色。现在你可以看出有哪些字段处在错误状态吗? ?...用户不仅可以从列表中筛选项目,还可以通过单击铅笔或垃圾桶图标来编辑或删除项目。加上这两个图标以后,搜索自动补全的UI模式变得难以识别了。 ?...再进一步,当我把鼠标悬停在标题上时,文本会变为蓝色,表示我已经可以点击这一项了。 ? 这种设计方式可能会导致无障碍的问题。下面是一种解决方案。在每块输入框后面放一个小铅笔icon。...当我把鼠标悬停在某块地方时,蓝色出现了。 ? 当我提出这种解决方法时,有的设计师会说,“感觉有点重了”。 也许从视觉上是有一点。但是它是无障碍设计的解决方案。此外,它只出现在用户的个人资料页面上。...一种方案就是,它们在白色背景上可以是绿色,在鼠标悬停时颜色反过来。 ? 这个解决方案也可能会被称为“重”。但是,请记住,我们不是为设计师而设计。我们在为不同的用户设计。
Linux 有图形界面 支持日常开发 社交沟通没问题 Linux 能替代 Windows 吗? Linux 下运行 Android 应用 Linux 有什么优势吗?...至于能不能替代 Windows ,这个问题因人而异。对我而言,在两年的使用经历中,暂时没有遇到过 linux 下不能解决,必须回到 Windows 的。 而且,实在不行不是还有虚拟机吗。...从一个系统迁移到另一个的系统成本是巨大的,Linux 有什么魅力值得我这么做吗?...当你想要复制、剪切或删除一个文件时,我相信打开文件管理器在不同窗口之间跳转是没有一条命令来得快。 当你想要查看系统运行状态,我相信移动鼠标,右键,选择任务管理器是没有一条命令来得快。...大部分时候,你的问题市面上的软件都可以解决,但是当有一些细碎、独特、重复的小任务时。脚本能够帮你很好的解决这些。
但是,目前还存在一些已知问题和限制,我们正在努力解决。...我可以在 Kotlin 中调用 Android 或其他 Java 语言库的 API 吗? 可以。Kotlin 与 Java 语言具有互操作性。...我可以在同一个项目中同时使用 Java 文件和 Kotlin 文件吗? 可以。...如何将 Kotlin 代码添加到我的新项目中? 当您在 Android Studio 中创建新项目时,只需选中 Include Kotlin support 复选框即可。...Kotlin 在 Android 开发中能实现协程吗?能实现异步/等候吗? Kotlin 协程目前应该可以实现,但这些特性还处于实验设计阶段。
问题终于解决了,让我得瑟一会(吗卖批,折腾了两天)~~~ 如果你的Android Studio出现以下错误,那么恭喜你来对地方了。...很多伙伴在出现第一个错误时(AAPT2),会选择在项目的gradle.properties中添加 android.enableAapt2=false 然而,有的电脑可以蒙混过关,有的却抛出新的异常(我也添加了...解决方法: 问题分析:首先确认这个错误不是项目惹的祸,当你的Android Studio升级到3.0之后都会出现这个问题,其二,这个错误也不是Android Studio导致的。...为什么这么确定,我使用Android Studio3.1.2创建新项目一开始就存在这个错误,然后我用公司陈旧的台式电脑导入以前的项目时却可以,其实导入项目也走了很多坑(Android Studio 3.1.2...打住,不能再考虑这个问题,换一个思考维度,错误是在gradle报的,还记得gradle的路径吗?
至于能不能替代 Windows ,这个问题因人而异。对我而言,在两年的使用经历中,暂时没有遇到过 linux 下不能解决,必须回到 Windows 的。而且,实在不行不是还有虚拟机吗。...从一个系统迁移到另一个的系统成本是巨大的,Linux 有什么魅力值得我这么做吗?...当你想要复制、剪切或删除一个文件时,我相信打开文件管理器在不同窗口之间跳转是没有一条命令来得快。 当你想要查看系统运行状态,我相信移动鼠标,右键,选择任务管理器是没有一条命令来得快。...大部分时候,你的问题市面上的软件都可以解决,但是当有一些细碎、独特、重复的小任务时。脚本能够帮你很好的解决这些。...比如,我有一个监控生产环境的脚本(其实应该是项目本身自带的),有一个OA守护脚本(其实就是监控我有没有写日报,没有的话发个短信提醒我),甚至还有一个定时发送微信的脚本...
image.png 身边很多朋友知道我在字节担任面试官,写文章的初衷之一也是希望能多一个为团队网络人才的渠道。...Kotlin 和 Java 都是在做这个 Android 项目中学习的吗? 在 Kotlin 和 Java 中,实例的初始化顺序(成员变量、静态变量、构造函数等)分别是怎样的? 4....OOP 中的设计模式有了解过吗? Java 中的单例模式分为哪些呢? Kotlin 中的 object 相当于 Java 中的哪一种单例模式? 类加载器又是在什么时候去加载这个类呢?...这个题也挺简单,就是利用迭代器遍历然后删除就好。因为对迭代器不是特别熟悉,所以开始写的时候并没有单独用变量 it 把迭代器存下来,而是在每个要用迭代器的地方都获取了一次,然后跑起来报错了。...介绍一下你的项目 项目中遇到瓶颈是怎么解决的? 你觉得你这个项目对你有什么提升?你觉得自己有什么优点和缺点? 你打算如何去改进自己的缺点呢? 你平常放松自己会通过什么方式呢?
首先,你需要确切地弄清楚你软件的用途及其定义。其次,你需要使你所编写的每段代码尽可能简洁。第三,当一个新的特性或变更请求出现在讨论表中时,你需要基于你软件的用途对它们进行评估,并提出问题。...——Voltaire 无论是创建一个新项目,还是向现有的系统添加一个新特性,开发者都倾向于从一开始就对所有事情进行详细的规划。 他们希望第一个版本是完美的。...他们并不关注将要解决的问题以及他们的软件将如何帮助人们。他们从能想到的每一个小细节开始。接着会进行假设和预测,然后他们会想「如果... 会怎么样?」...不要重造「轮子」 举个例子,假如现在已经有一个很完美的垃圾回收器了,你还想自己发明一个,那么你将花费大量的时间来开发这个垃圾回收器,而你本来可以只专注于开发你的软件。...这个问题的解决方案是:把大项目分解成多个小项目,事情越小就越好估计。你可能仍然会出错,但是你所犯的错误会比估计一个大型项目时要少得多。 请记住:每件事所花的时间都比你想象得更长。 20.
听到这个问题时,我就偷笑啦,幸亏上次海康威视问过我,我就好好看了一下 可以依靠checkPoint机制来保证,每次SparkStreaming消费kafka数据后,将消费的kafka offsets更新到...什么都问了,技术面把hr面的问题都问啦 海康威视 一面 7月17日 通过 1 自我介绍 2 你认为最好的项目介绍 3 导入导出介绍,排行榜介绍 4 遇到难的问的,怎么解决的?...5 自己实现了一个对象,然后重载在hashcode方法,这个时候还要不要重载其他方法? (需要重写hashcode 方法和equals方法) 6 在多线程环境中,然后保证使用的对象时线程安全的?...整的我不会说啦我准备说项目中用到哪些技术,他打断了,说未必是项目中的,就说你体会到的。。。。 我说线程吧,就聊多线程并发,然后他听完我说的,然后说那你在项目中有用到JVM吗?...14 类加载存在内存中的哪一块?(类的元数据在方法区,class对象在堆区。) 15 垃圾回收的一些算法 16 年轻代,老年代分别用什么算法? 18 创建一个线程有几种方式?
6.有什么实际解决UI卡顿优化的经历 7.有做过什么Bitmap优化的实际经验 8.项目搭建过程中有什么经验,有用到什么gradle脚本,分包有做什么操作 9.组件化有详细了解过吗?...IOS端调一个接口,一个通了一个没通,你会如何解决 3.如果android端和IOS端调一个接口,一个比较慢,一个比较快,有什么思路 4.ARouter的原理是什么?...4.伪代码实现一个长按事件 5.实现一个下载功能的接口 猿辅导 1.泛型有什么优点? 2.动态代理有什么作用? 3.拉圾回收的GCRoot是什么? 4.Handler机制了解吗?...6.kotlinc与javac编译字节码有什么区别? 7.你在团队中是怎样一个角色? 8.你有没有做什么推进项目的工作 9.说说热修复的原理? 字节跳动 1.你们的项目中有什么难点?...关于这一点,在我当时确立好Android方向时,就已经开始梳理自己的成长路线了,包括技术要怎么系统地去学习,都列得非常详细。
内存毕竟不是无限的,所以就需要一种机制来将不再使用的对象进行回收,这种机制就是今天我们要讲的GC。 对象的生命周期 小师妹:F师兄,你相信这个世界有轮回吗?...师兄我是一个坚定的无神论者,活在当下就好了,何必操心后面的轮回呢? 小师妹:F师兄,这个你就不懂了,意识是组成脑的原子群的一种组合模式,我们大脑的物质基础和一块石头没有什么不同。...当我们掌握大脑的组合方式,然后重构,我们的意识就重现了,这就是轮回。这可是量子理论中提到的观念哦。 哇,小师妹什么时候这么厉害了,都开始探讨这么高深的话题了。F师兄我实在是跟不上节奏啊。...在Java中,对象的回收是由GC来负责的。 垃圾回收算法 小师妹:F师兄,我觉得垃圾回收好像挺简单的,我们为每个对象维持一个指针计数器,每引用一次就加一,这样不就可以实现垃圾回收器了吗?...但是这里有一个问题,如果是两个对象互相引用的时候,而这两个对象实际上并没有被外部的对象所引用,那么这两个对象其实是应该被回收的。所以我们还需要解决一个关键性的问题:从哪里开始扫描的问题。
而在今年的最后一个月,很高兴地告诉大家,这个新项目我已经基本完成了。虽然还有许多不足的地方,但是我相信目前已经可以将第一个测试版本发布出来了。...Google在过去一直没有针对数据库调试这方面提供了一个简便的解决方案,这是我认为非常不人性化的一点。...并且我认为,Google早就应该提供这个工具了。 而我新开发的这个开源项目同样也是为了解决这个问题。 最开始想到去做这样一个开源项目,主要是受到LeakCanary的启发。...然后我就想到,我是不是也可以开发一个开源库,当任何项目集成了这个开源库后,就自动扫描当前项目的内置和外置存储空间,把所有的数据库文件都扫描出来,然后同样提供一个可视化的界面以方便开发者随时查看数据库中的数据...有了这个库,当我们在开发过程中再次遇到数据库问题时,直接通过可视化界面查看一下数据库当中真实的数据是什么样的,哪里出了问题就一目了然了。
至于能不能替代 Windows ,这个问题因人而异。对我而言,在两年的使用经历中,暂时没有遇到过 linux 下不能解决,必须回到 Windows 的。而且,实在不行不是还有虚拟机吗。...从一个系统迁移到另一个的系统成本是巨大的,Linux 有什么魅力值得我这么做吗?...至于这为什么是 linux 的优点,在我过去多年的 Windows 使用经验中,我没有找到自定义系统快捷键的入口,更不用说自定义宏了。...大部分时候,你的问题市面上的软件都可以解决,但是当有一些细碎、独特、重复的小任务时。脚本能够帮你很好的解决这些。...比如,我有一个监控生产环境的脚本(其实应该是项目本身自带的),有一个OA守护脚本(其实就是监控我有没有写日报,没有的话发个短信提醒我),甚至还有一个定时发送微信的脚本...
面试官:那你能给我谈谈你有哪些方法来实现 LRU 算法呢? 这个时候问的是什么? 问的是:我们都知道这个算法的思路了,请你按照这个思路给出一个可以落地的解决方案。 不用徒手撸一个。 ?...这不就是个链表吗? 维护一个有序单链表,越靠近链表头部的结点是越早之前访问的。 当有一个新的数据被访问时,我们从链表头部开始顺序遍历链表。...当你回答出这个方案之后,面试官也许会说:你能不能给我一个查询和插入的时间复杂度都是O(1)的解决方案? 到这里,如果第一次遇到这题,就得看天分了。...刚刚我们说删除链表中的节点,需要借助双链表来实现 O(1)。 删除了链表中的节点,然后呢? 是不是还忘记了什么东西? 是不是还有一个哈希表忘记操作了? 哈希表是不是也得进行对应的删除操作?...你可以从图中看到三种不同的小圆点形成的三个不同的带: 浅灰色带是被回收(被 LRU 算法淘汰)的对象 灰色带是没有被回收的对象 绿色带是新添加的对象 由于 Redis 3.0 对 LRU 算法进行了改进
领取专属 10元无门槛券
手把手带您无忧上云