首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一年双非本科大厂面试经历

解决跨域方案什么? 挑一个项目说说?多少人共同开发?你负责哪一块?遇到什么技术难题? 把10万次for循环代码插到html中间,会有什么现象?出现卡顿现象怎么解决?...IntersectionObserver怎么使用?怎么知道一个DOM节点出现在口内? vuex实现机制是什么?vuex里用到设计模式什么?还有其他? 用过自定义指令什么场景下使用?...刚刚你说到垃圾回收,说一下垃圾回收吧。 如果想知道一个页面有没有存在内存泄漏情况,怎么做? 刚刚你说到性能优化,在这过程你是怎么利用chrome开发者工具? WebWorker缺点是什么?...worker线程怎么获取主线程上下文?解决卡顿问题除了使用WebWorker还有其他解决方案?面试官建议去了解一下Reactfiber。有没有测试过woker通信时间?...说一下JS是怎么做垃圾回收? vue双向绑定原理?调用push给数组添加元素会自动更新?为什么? 看过vue源码

2.3K30

Android 项目编译 Gradle 配置说明

正文   首先要知道什么时候会进行编译,以下几种情况: 创建新项目。 打开老项目。 打开别人项目。    ...  Android Studio项目每一次在打开项目的时候就会检查当前Gradle编译环境,如果你之前项目是正常编译,而你很长时间没有再打开过这个项目,那么当你再次打开项目,就会先检查Gradle...三、打开别人项目   很多时候我们会打开别人项目,比如开发过程遇到一个技术点,发现没有头绪,百度上一顿搜索,看到一个功能差不多Demo,点进去一看,发现转载,然后又去找原文,原文上一看,哦豁,...,然后再进行编译,如果失败了,或者提示你当前AS版本较低无法编译的话,你就需要思考一个问题了,就是本地AS环境能不能更新,因为你可能还有别的项目需要使用当前环境,为了一个项目更改所有项目的环境,好像一点不值得...如果你开发遇到什么编译问题,是本文中没有提到,欢迎评论中提出。

1.9K00
您找到你想要的搜索结果了吗?
是的
没有找到

抓包神器之Charles,常用功能都在这里了

前几天个做服务端师弟跟我说他不用抓包工具,遇到问题直接debug代码,那我问他,如果线上服务的话,你怎么调?实际项目中,没有遇到跟客户端相互扯皮事情?...Charles菜单栏选择"Proxy"->"Recording Settings",然后选择Include栏,选择添加一个项目然后填入需要监控协议,主机地址,端口号。...代理转发 实际开发,有这样场景,服务端线上版本bug,你本地修改程序后,需要模拟实际线上环境,来验证程序正确性,最笨方法就是让客户端修改一下APP调用地址到你本机,然后重新打一个版本供你模拟测试...写给测试人员 另外抓包工具不只是开发人员独享,任何一个参与项目的人都可以使用,测试工程师,运维,产品经理等等任何对技术感兴趣的人,尤其是测试工程师,测试过程遇到问题,不是简单bug记录员...当遇到问题时候,用抓包工具把数据抓下来,首先比较Android和IOS发送请求参数什么不同,比较一下返回数据有什么不同,如果请求参数不同,那么测试人员通过模拟工具,把缺少参数加上,那么返回数据是不是就正确了呢

5.6K70

【今天你更博学了么】从0到1发布属于自己库到npm

代码为什么要发布到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 发现和我们之前写一模一样。

44230

前端兼容之痛

所以别问我加班那么忙什么玩Google!!! 可惨痛经历一次又一次告诉 谷歌不是万!!! 到了这个时候,已经明确知道,谷歌已经帮不了了。那么,应该绝望应该!...先干掉这个接口相关操作,然后看看会是什么情况 于是,注释掉了一段关键代码 然后摇一摇手机,重新reload代码。奇迹出现了,App重新运行后神奇不再闪退了。...ლ(^ω^ლ) 你想象这个时候心情 ~ 仍然毫无波澜! 虽然方向对了,这个神秘bug就要漏出它最隐秘本体。...既然数据正常,那么问题就一定出在我们自己封装组件Session里了。进入该组件,继续观察,寻找可能出现问题点 机智一眼就看出来组件内部一个map循环。问题大概率出现在这里。...问题解决了,然而内心并没有很喜悦,花了一个下午加一个晚上时间,解决了这么个破问题内心苦涩,估计没人懂 ~ 几乎倾尽毕生所学,本以为将要被我征服,是那种解决了就能吹嘘两个月超级bug 谁知道

1.4K20

面试 Notes|2021 年秋季 Android 求职记。。。

- 当前图片颜色值,存放类型取决于使用什么类型 Config。 Bitmap 存储信息数据结构是怎样创建一个对象,当我不使用时候,并且将它置空,这时候就会立即被回收?...现在有这样一个需求, Activity View 添加一个浮窗小球,并且让其随着手指移动,你什么方式实现?移动点击时候,又该如何处理?...假设现在正常引用一个对象,一个地方使用弱引用去引用这个对象,当我释放掉了这个强引用对象时候,那边可能会出现什么问题什么情况下会出现野指针? String 是可变?为什么设计成为这样?...你用过哪儿些比较好解决方案,或者哪儿些出色方面。 MMKV 和 SharedPreferences 什么区别? 学历情况说明,离职原因,公司介绍。对于你岗位以及薪资待遇有什么要求?...是来面试,又不是和你干架。你什么都知道,那你招人干嘛?面试不就是相互沟通?你抛出你感兴趣问题平时经验回答,这个什么问题?如果说源码层面不够深入,承认。

1.9K00

关于无障碍设计七件事

因为验证码输入框右边一个带惊叹号三角形icon。这个符号通常表明东西出差错了。 现在,我们再来看看同样页面。不过这次加上颜色。现在你可以看出有哪些字段处在错误状态? ?...用户不仅可以从列表筛选项目,还可以通过单击铅笔或垃圾桶图标来编辑或删除项目。加上这两个图标以后,搜索自动补全UI模式变得难以识别了。 ?...再进一步,当我把鼠标悬停在标题上,文本会变为蓝色,表示已经可以点击这一项了。 ? 这种设计方式可能会导致无障碍问题。下面是一种解决方案每块输入框后面放一个小铅笔icon。...当我把鼠标悬停在某块地方,蓝色出现了。 ? 当我提出这种解决方法,有的设计师会说,“感觉有点重了”。 也许从视觉上是一点。但是它是无障碍设计解决方案。此外,它只出现在用户个人资料页面上。...一种方案就是,它们白色背景上可以是绿色,鼠标悬停颜色反过来。 ? 这个解决方案也可能会被称为“重”。但是,请记住,我们不是为设计师而设计。我们在为不同用户设计。

3K30

什么建议大家使用 Linux 开发?爽(外加七个感叹号)

Linux 图形界面 支持日常开发 社交沟通没问题 Linux 替代 Windows ? Linux 下运行 Android 应用 Linux 什么优势?...至于能不能替代 Windows ,这个问题因人而异。对而言,两年使用经历,暂时没有遇到过 linux 下不能解决,必须回到 Windows 。 而且,实在不行不是还有虚拟机。...从一个系统迁移到另一个系统成本是巨大,Linux 什么魅力值得这么做?...当你想要复制、剪切或删除一个文件相信打开文件管理器不同窗口之间跳转是没有一条命令来得快。 当你想要查看系统运行状态,相信移动鼠标,右键,选择任务管理器是没有一条命令来得快。...大部分时候,你问题市面上软件都可以解决,但是当一些细碎、独特、重复小任务。脚本能够帮你很好解决这些。

1.4K20

Android Studio 3.0后出现AAPT2与“android.enableAapt2”问题解决方法

问题终于解决了,让得瑟一会(卖批,折腾了两天)~~~ 如果你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路径

2K20

Linux 替代 Windows

至于能不能替代 Windows ,这个问题因人而异。对而言,两年使用经历,暂时没有遇到过 linux 下不能解决,必须回到 Windows 。而且,实在不行不是还有虚拟机。...从一个系统迁移到另一个系统成本是巨大,Linux 什么魅力值得这么做?...当你想要复制、剪切或删除一个文件相信打开文件管理器不同窗口之间跳转是没有一条命令来得快。 当你想要查看系统运行状态,相信移动鼠标,右键,选择任务管理器是没有一条命令来得快。...大部分时候,你问题市面上软件都可以解决,但是当一些细碎、独特、重复小任务。脚本能够帮你很好解决这些。...比如,一个监控生产环境脚本(其实应该是项目本身自带),一个OA守护脚本(其实就是监控有没有写日报,没有的话发个短信提醒),甚至还有一个定时发送微信脚本...

5.6K30

字节跳动Android客户端实习 3+1 面经,内部面试官透露通关秘籍

image.png 身边很多朋友知道字节担任面试官,写文章初衷之一也是希望一个为团队网络人才渠道。...Kotlin 和 Java 都是在做这个 Android 项目中学习 Kotlin 和 Java ,实例初始化顺序(成员变量、静态变量、构造函数等)分别是怎样? 4....OOP 设计模式了解过? Java 单例模式分为哪些呢? Kotlin object 相当于 Java 哪一种单例模式? 类加载器又是什么时候去加载这个类呢?...这个题也挺简单,就是利用迭代器遍历然后删除就好。因为对迭代器不是特别熟悉,所以开始写时候并没有单独用变量 it 把迭代器存下来,而是每个要用迭代器地方都获取了一次,然后跑起来报错了。...介绍一下你项目 项目中遇到瓶颈是怎么解决? 你觉得你这个项目对你什么提升?你觉得自己什么优点和缺点? 你打算如何去改进自己缺点呢? 你平常放松自己会通过什么方式呢?

1.4K00

你已经是一个成熟码农了,这些思维习惯你要有

首先,你需要确切地弄清楚你软件用途及其定义。其次,你需要使你所编写每段代码尽可能简洁。第三,当一个特性或变更请求出现在讨论表,你需要基于你软件用途对它们进行评估,并提出问题。...——Voltaire 无论是创建一个新项目,还是向现有的系统添加一个新特性,开发者都倾向于从一开始就对所有事情进行详细规划。 他们希望第一个版本是完美的。...他们并不关注将要解决问题以及他们软件将如何帮助人们。他们从想到一个小细节开始。接着会进行假设和预测,然后他们会想「如果... 会怎么样?」...不要重造「轮子」 举个例子,假如现在已经一个很完美的垃圾回收器了,你还想自己发明一个,那么你将花费大量时间来开发这个垃圾回收器,而你本来可以只专注于开发你软件。...这个问题解决方案是:把大项目分解成多个小项目,事情越小就越好估计。你可能仍然会出错,但是你所犯错误会比估计一个大型项目要少得多。 请记住:每件事所花时间都比你想象得更长。 20.

36930

Java算法面试题

听到这个问题就偷笑啦,幸亏上次海康威问过就好好看了一下 可以依靠checkPoint机制来保证,每次SparkStreaming消费kafka数据后,将消费kafka offsets更新到...什么都问了,技术面把hr面的问题都问啦 海康威 一面 7月17日 通过 1 自我介绍 2 你认为最好项目介绍 3 导入导出介绍,排行榜介绍 4 遇到难,怎么解决?...5 自己实现了一个对象,然后重载hashcode方法,这个时候还要不要重载其他方法? (需要重写hashcode 方法和equals方法) 6 多线程环境然后保证使用对象线程安全?...整不会说啦准备说项目中用到哪些技术,他打断了,说未必是项目,就说你体会到。。。。 说线程吧,就聊多线程并发,然后他听完然后说那你项目中有用到JVM?...14 类加载存在内存哪一块?(类元数据方法区,class对象堆区。) 15 垃圾回收一些算法 16 年轻代,老年代分别用什么算法? 18 创建一个线程几种方式?

71430

当大潮退去没有谁还能Android这行“裸泳”,10家大厂面试题,掌握这些让你轻松面试

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方向,就已经开始梳理自己成长路线了,包括技术要怎么系统地去学习,都列得非常详细。

97120

什么建议大家使用 Linux 开发?爽!

Linux 图形界面 支持日常开发 社交沟通没问题 Linux 替代 Windows ? Linux 下运行 Android 应用 Linux 什么优势?...至于能不能替代 Windows ,这个问题因人而异。对而言,两年使用经历,暂时没有遇到过 linux 下不能解决,必须回到 Windows 。 而且,实在不行不是还有虚拟机。...从一个系统迁移到另一个系统成本是巨大,Linux 什么魅力值得这么做?...当你想要复制、剪切或删除一个文件相信打开文件管理器不同窗口之间跳转是没有一条命令来得快。 当你想要查看系统运行状态,相信移动鼠标,右键,选择任务管理器是没有一条命令来得快。...大部分时候,你问题市面上软件都可以解决,但是当一些细碎、独特、重复小任务。脚本能够帮你很好解决这些。

1.6K30

小师妹学JVM之:GC垃圾回收算法

内存毕竟不是无限,所以就需要一种机制来将不再使用对象进行回收,这种机制就是今天我们要讲GC。 对象生命周期 小师妹:F师兄,你相信这个世界轮回?...师兄一个坚定无神论者,活在当下就好了,何必操心后面的轮回呢? 小师妹:F师兄,这个你就不懂了,意识是组成脑原子群一种组合模式,我们大脑物质基础和一块石头没有什么不同。...当我们掌握大脑组合方式,然后重构,我们意识就重现了,这就是轮回。这可是量子理论中提到观念哦。 哇,小师妹什么时候这么厉害了,都开始探讨这么高深的话题了。F师兄实在是跟不上节奏啊。...Java,对象回收是由GC来负责。 垃圾回收算法 小师妹:F师兄,觉得垃圾回收好像挺简单,我们为每个对象维持一个指针计数器,每引用一次就加一,这样不就可以实现垃圾回收器了吗?...但是这里一个问题,如果是两个对象互相引用时候,而这两个对象实际上并没有被外部对象所引用,那么这两个对象其实是应该被回收。所以我们还需要解决一个关键性问题:从哪里开始扫描问题

31530

又开发了一个非常好用开源库,调试Android数据库有救了

而在今年最后一个月,很高兴地告诉大家,这个新项目已经基本完成了。虽然还有许多不足地方,但是相信目前已经可以将第一个测试版本发布出来了。...Google在过去一直没有针对数据库调试这方面提供了一个简便解决方案,这是认为非常不人性化一点。...并且认为,Google早就应该提供这个工具了。 而我新开发这个开源项目同样也是为了解决这个问题。 最开始想到去做这样一个开源项目,主要是受到LeakCanary启发。...然后就想到,是不是也可以开发一个开源库,当任何项目集成了这个开源库后,就自动扫描当前项目的内置和外置存储空间,把所有的数据库文件都扫描出来,然后同样提供一个可视化界面以方便开发者随时查看数据库数据...这个库,当我开发过程再次遇到数据库问题,直接通过可视化界面查看一下数据库当中真实数据是什么,哪里出了问题就一目了然了。

57641

什么建议大家使用 Linux 开发?爽(外加七个感叹号)

至于能不能替代 Windows ,这个问题因人而异。对而言,两年使用经历,暂时没有遇到过 linux 下不能解决,必须回到 Windows 。而且,实在不行不是还有虚拟机。...从一个系统迁移到另一个系统成本是巨大,Linux 什么魅力值得这么做?...至于这为什么是 linux 优点,过去多年 Windows 使用经验没有找到自定义系统快捷键入口,更不用说自定义宏了。...大部分时候,你问题市面上软件都可以解决,但是当一些细碎、独特、重复小任务。脚本能够帮你很好解决这些。...比如,一个监控生产环境脚本(其实应该是项目本身自带),一个OA守护脚本(其实就是监控有没有写日报,没有的话发个短信提醒),甚至还有一个定时发送微信脚本...

1.5K20

其实吧,LRU也就那么回事。

面试官:那你能给我谈谈你哪些方法来实现 LRU 算法呢? 这个时候问什么? 问是:我们都知道这个算法思路了,请你按照这个思路给出一个可以落地解决方案。 不用徒手撸一个。 ?...这不就是个链表? 维护一个有序单链表,越靠近链表头部结点是越早之前访问。 当一个数据被访问,我们从链表头部开始顺序遍历链表。...当你回答出这个方案之后,面试官也许会说:你能不能给我一个查询和插入时间复杂度都是O(1)解决方案? 到这里,如果第一次遇到这题,就得看天分了。...刚刚我们说删除链表节点,需要借助双链表来实现 O(1)。 删除了链表节点,然后呢? 是不是还忘记了什么东西? 是不是还有一个哈希表忘记操作了? 哈希表是不是也得进行对应删除操作?...你可以从图中看到三种不同小圆点形成三个不同带: 浅灰色带是被回收(被 LRU 算法淘汰)对象 灰色带是没有被回收对象 绿色带是新添加对象 由于 Redis 3.0 对 LRU 算法进行了改进

62210
领券