首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Flutter入门到实战

    最全的BAT大厂面试题整理

    临近年关,又到了面试求职高峰期,最近有很多网友都在求大厂面试题。正好我之前电脑里面有这方面的整理,于是就发上来分享给大家。 https://github.com/AweiLoveAndroid/CommonDevKnowledge ---- 主要分为以下几部分: (1)java面试题 (2)Android面试题 (3) 微信主页面的实现方式 微信上消息小红点的原理 CAS介绍(这是阿里巴巴的面试题,我不是很了解,可以参考博客: CAS简介) ---- 三、混合开发面试题 大厂除了技术深度之外,还要求你具备一些广度的知识 求1000以内的水仙花数以及40亿以内的水仙花数 5枚硬币,2正3反如何划分为两堆然后通过翻转让两堆中正面向上的硬8币和反面向上的硬币个数相同 时针走一圈,时针分针重合几次 N*N的方格纸,里面有多少个正方形 说一款你认为当前比较火的应用并设计(比如:直播APP,P2P金融,小视频等) 谈谈对java状态机理解 Fragment如果在Adapter中使用应该如何解耦?

    1.3K20发布于 2018-09-03
  • 来自专栏小强的进阶之路

    面试BAT大厂必知的Tomcat容器

    2.Tomcat 各组件及关系 Server 和 Service Connector 连接器 HTTP 1.1 SSL https AJP( Apache JServ Protocol) apache 执行starut.bat 脚本启动。 启动过程中war 包会被自动解压装载。 但是我们在Eclipse 或idea 中启动WEB项目的时候 也是把War包复杂至webapps 目录解压吗? sleep 2 $CATALINA_HOME/bin/catalina.sh start echo start success!!

    72210发布于 2020-03-26
  • BAT大厂APP架构演进实践与优化之路

    BAT大厂深耕架构设计的八年,我亲手将一个日活千万级的超级 APP,从一个庞大而臃肿的单体架构,逐步拆分、演进成如今支撑着上百个业务、上千个服务的微服务集群。 我们尝试过两阶段提交(2PC),但性能和可用性极差,很快就被废弃。反思与爬坑: 我们最终接受了 “BASE 理论”,放弃了追求强一致的幻想。

    32010编辑于 2025-12-05
  • 来自专栏好好学java的技术栈

    2 个月的面试亲身经历告诉大家,如何进入 BAT大厂

    并不是因为我进入了大厂工作,哈哈哈!!! 到现在,虽然我已经刷了300+了,但是,现在每天还是会花2个小时刷5道题。 不是总结的总结 你说你手撕代码撕得好,项目经验丰富,对于我们Java程序员来说,Java知识能难倒我吗,不存在的,那么问题来了,我们能进大厂吗? ?

    85341发布于 2020-05-07
  • 来自专栏findyi

    IOS 大裁员,一半来自 BAT 大厂开发。

    2.认清趋势后的持续行动 IOS开发这个行业大概率会继续下行,不管是行业本身的下行还是国家未来鼓励的方向都揭示着移动互联网的进一步萎缩。

    98620编辑于 2023-01-11
  • 来自专栏波波烤鸭

    BAT大厂面试必问专题之Java多线程

    2.再看答案 2.1 Q1:线程池的原理   线程池的原理,为什么要创建线程池?创建线程池的方式有哪些? 原理和创建线程池的实现请我之前整理的这篇文章: Java线程池原理讲解 创建线程池的几种方式: ThreadPoolExecutor ThreadScheduledExecutor ForkJoinPool 2.1 Q2: 如果有多个线程同时在操作主内存中的变量,则线程不安全 实现线程安全的三种方式 1)互斥同步 临界区:syncronized、ReentrantLock 信号量 semaphore 互斥量 mutex 2) workQueue, ThreadFactory threadFactory, //线程池任务满载后采取的任务拒绝策略 RejectedExecutionHandler handler) 2. 3.1 CPU密集型   尽量使用较小的线程池,一般Cpu核心数+1 3.2 IO密集型 方法一:可以使用较大的线程池,一般CPU核心数 * 2 IO密集型CPU使用率不高,可以让CPU等待IO的时候处理别的任务

    38340编辑于 2022-04-13
  • 来自专栏Java技术栈

    史上最全 BAT 大厂面试题整理!(速度收藏)

    又到了面试求职高峰期,最近有很多网友都在求大厂面试题。正好我之前电脑里面有这方面的整理,于是就发上来分享给大家。 https://github.com/AweiLoveAndroid/CommonDevKnowledge 主要分为以下几部分: (1)java面试题 (2)Android面试题 (3)高端技术面试题 2 Android面试题 Android面试题包括Android基础,还有一些源码级别的、原理这些等。 求1000以内的水仙花数以及40亿以内的水仙花数 5枚硬币,2正3反如何划分为两堆然后通过翻转让两堆中正面向上的硬8币和反面向上的硬币个数相同 时针走一圈,时针分针重合几次 N*N的方格纸,里面有多少个正方形 说一款你认为当前比较火的应用并设计(比如:直播APP,P2P金融,小视频等) 谈谈对java状态机理解 Fragment如果在Adapter中使用应该如何解耦?

    2K40发布于 2018-06-04
  • 来自专栏纯洁的微笑

    IOS 大裁员,一半来自 BAT 大厂开发。

    当时高中生毕业培训个 IOS 就能进大厂,现在在网上发一个 IOS 的开发岗位,2个小时能收到四五百分简历。 并且其中有一半都是来自大厂,更有一些 6 年经验凌晨联系招聘,12K 就能入职工作。 2 不只是 IOS 到现在呢? 移动开发早已经饱和的不能再饱和了,大家可以看现在的APP,几乎几年都没咋大变样了。 最近几年也没看到有现象级的APP。 目前来看,大厂普遍都不再尝试新业务了,创业公司也都死的差不多了,没死的也不敢大规模搞事情。 网上有一份今年已经停止运营的APP名单,这里面也只是罗列了一些曾经还挺有名的公司。 谁能预测到10年以后的情况,大厂裁员的时候也毫不手软,现在来看没有什么是稳定的。 但有一点肯定是对的。 任何时候都不要忘了提升自己,这样哪怕被裁员了,凭借着自身能力还是能找到一份工作的。 【加入官方星球】 招募链接:聊挣钱招募公告 扫描下方二维码即可加入官方星球 < END > 时隔2个月,某鱼群再次限时开放了。

    70720编辑于 2022-10-11
  • 来自专栏求索之路

    Android大厂面试题锦集(BAT TMD JD 小米)

    上次写这篇文章的时候也差不多是一年前了,这一年我兜兜转转从android到java又回到android,校招面了很多大厂,阿里、京东、小米、头条、知乎、腾讯、有赞,也收获了几个offer。 2.BitMap的缓存: 1.使用LruCache进行内存缓存。 2.使用DiskLruCache进行硬盘缓存。 3.GC相关:重要 1.搜索算法: 1.引用计数 2.图搜索,可达性分析 2.回收算法: 1.标记清除复制:用于青年代 2.标记整理:用于老年代 3.堆分区: 1.青年区eden 80%、survivor1 10%、survivor2 10% 2.老年区 4.虚拟机栈分区: 1.局部变量表 2.操作数栈 3.动态链接 4.方法返回地址 5.GC Roots: 1.虚拟机栈(栈桢中的本地变量表)中的引用的对象 2.HTTP HTTPS的区别: 1.HTTPS使用TLS(SSL)进行加密 2.HTTPS缺省工作在TCP协议443端口 3.它的工作流程一般如以下方式: 1.完成TCP三次同步握手 2.客户端验证服务器数字证书

    2K80发布于 2018-05-02
  • 来自专栏业余草

    BAT 大厂的大型网站页面静态化你了解吗?

    上图的核心思想: 1)管理后台调用新闻服务创建文章成功后,发送消息到消息队列 2)静态服务监听消息,把文章静态化,也就是生成html文件 3)在静态服务器上面安装一个文件同步工具,此工具的功能可以做到只同步有变动的文件 2、页面会出现暂时间不一致 会出现用户刚刚再看最新的新闻,刷新一下又不存在了。这个是因为同步工具在同步到web服务器是要有时间的,同步到web服务器A上面了,但web服务器B还没有来得及同步。 2、分布式缓存压力比较大,一旦缓存故障就导致所有请求会查询数据库,导致系统崩溃 还有个小问题,就是实时数据处理,就是页面中如价格,库存需要到后台读取的。 1)应用层nginx通过lua脚本语言先获取本地商品数据,然后和http模板进行渲染,形成最终商品详情页返回给用户 2)如果应用层nginx本地的缓存没有此商品数据,就通过lua脚本发起http请求访问 三级缓存保证了系统的稳定性,即使redis缓存崩溃,还有其他2个缓存保障。 总结: 方案三是比较完整的方案,很多大厂都在使用,能够承受亿级流量,但系统比较复杂。

    1.3K10发布于 2019-10-24
  • 来自专栏小强的进阶之路

    BAT大厂都会问的MySQL底层数据结构

    如果col2是索引,查找索引为89的行元素,那么只需要查找两次,就可以获取到行元素所在的磁盘指针地址。 ? 红黑树 本质二叉树,属于二叉平衡树,jdk1.8 hashmap的底层实现;存储大数据量,树的高度不可控, 数量越大,树的高度越高;500w行数据,2的n次方=500w数据量, n是树的高度,也就是查询次数 16条数据;再看非叶子节点,假设主键ID为bigint类型,那么长度为8B,指针大小在Innodb源码中为6B,一共就是14B,那么一页里就可以存储16K/14=1170个(主键+指针) 那么一颗高度为2

    4.6K51发布于 2019-08-29
  • 来自专栏技术分享记

    BAT大厂Android工程师带你学习Framework内核解析

    nice-name=", 12) == 0) { niceName.setTo(arg + 12); } else if (strncmp(arg, "--", 2)

    64720发布于 2021-11-15
  • 来自专栏IT笔记

    集群、限流、缓存 BAT 大厂无非也就是这么做

    系统开始是这样子的,一个 Tomcat 拖着一个 MySql 服务,跑在一个 2C 4G 的Linux服务器上,所有的请求都走 Tomcat,所有的查询都走 MySql,看起来像一句废话?

    53631发布于 2019-12-09
  • 来自专栏IT大咖说

    集群、限流、缓存 BAT 大厂无非也就是这么做

    系统开始是这样子的,一个 Tomcat 拖着一个 MySql 服务,跑在一个 2C 4G 的Linux服务器上,所有的请求都走 Tomcat,所有的查询都走 MySql,看起来像一句废话?

    67940发布于 2019-10-22
  • 来自专栏五分钟学算法

    10 道 BAT 大厂海量数据面试题(附题解+方法总结)

    方法总结 1.分而治之,进行哈希取余;2.对每个子文件进行 HashSet 统计。 当样本数为奇数时,中位数为 第 (N+1)/2 个数;当样本数为偶数时,中位数为 第 N/2 个数与第 1+N/2 个数的均值。 size1 == size2 ? (maxHeap.peek() + minHeap.peek()) * 1.0 / 2 : (size1 > size2 ? 5 亿个数,每个数字占用 4B,总共需要 2G 内存。如果可用内存不足 2G,就不能使用这种方法了,下面介绍另一种方法。 方法二:分治法 分治法的思想是把一个大的问题逐渐转换为规模较小的问题来求解。

    3.4K30发布于 2019-12-06
  • 来自专栏前端技术江湖

    BAT互联网大厂的后端主流技术栈是啥?

    当然,这只是一个最基本的功能和原理展示,大厂们往往根据不同的在线使用场景会有很多优化和系统设计的考量。 常见的性能问题包括查询未命中索引而触发全表扫描;使用了聚合查询(group by)触发全表扫描等 还有,大厂特别是ToC常见的大厂,每天产生的业务数据异常的大,Mysql存储超过几千万性能会下降,所以需要使用分库分表的方式来解决海量数据场景下的存储问题 例如表 A,配置中它有两个数据节点,分别是 datanode1 和 datanode2,含义是逻辑表 A实际对应了两个物理存储,分别是 db1 和 db2。 常见的缓存读写策略包括Cache-Aside,Read Through,Write Through,具体可以参考[2],不过文中缺少一种Cache 读写方案,这也是很多高并发在线应用比较常用的一种方式。 所以大厂往往不会选择 Redis 原生的集群化方案,而是使用基于Proxy的集群化方案,业界比较知名开源 Proxy 有 Twemproxy 和 Codis [5],本文简要介绍下 Codis,实际上很多知名大厂

    2.4K10发布于 2020-06-19
  • 来自专栏微信公号【Java技术江湖】

    拿到BAT大厂offer以后,我总结了这些技术面试技巧

    正常的技术面试一般有2到3轮,外加一轮HR面。技术面试的技巧其实不管是第几轮都是适用的。这里总结一下。 ◆ ◆ ◆ ◆ ◆ 自我介绍 一段好的自我介绍是一场面试成功的基础。 2 我主要学习和专注的方向是Java后端开发 3 之前我看过一些这方面的技术书籍,写过一些博客,做过一些项目。 4 去年有两段实习经历,分别是什么什么,大概说一下。 2 sync可以锁类,实例和实例方法,lock只能锁方法。 3 lock可以搭配condition使用,以维护多个等待队列,而sync只有锁对象一个等待队列。 1 可以先问一下数字范围,单机内存是否足够 2 尝试回答建十个元素的小顶堆,数组遍历一遍即可。 3 如果面试官不满意,再尝试回答哈希分片到多台机器上执行,最后再进行归并。 2 接着我对这个问题尝试做出回答,回答质量一般,被直接驳回。我又尝试咨询问题详情,被不耐烦地打断。此时我已经很不爽了,但我说话还是很和气。生怕再触怒他。

    3.2K10发布于 2019-03-12
  • 来自专栏铭毅天下

    干货 | BAT等一线大厂 Elasticsearch面试题解读

    题记 git上发现了网友总结的Elasticsearch BAT大厂面试题。只有题目,部分有答案,但不全。 正好抽出一些时间一起梳理一下。 通过对词典中单词前缀和后缀的重复利用,压缩了存储空间; 2)查询速度快。O(len(str))的查询时间复杂度。 第三步:节点3在主分片上执行写操作,如果成功,则将请求并行转发到节点1和节点2的副本分片上,等待结果返回。 2)每个分片在本地进行查询,结果返回到本地有序的优先队列中。 3)第2)步骤的结果发送到协调节点,协调节点产生一个全局的排序列表。 fetch阶段的目的:取数据。 解答: 1)关闭缓存swap; 2)堆内存设置为:Min(节点内存/2, 32GB); 3)设置最大文件句柄数; 4)线程池+队列大小根据业务需要做调整; 5)磁盘存储raid方式——存储有条件使用

    2.5K30发布于 2019-03-07
  • 来自专栏程序员IT圈

    BAT大厂10年研发经历,总结12条开发经验(墙裂推荐)

    在一线做了十年的开发,经历了网易、百度、腾讯研究院、MIG等几个地方,陆续做过3D游戏、2D页游、浏览器、移动端翻译app等。 积累了一些感悟。必然有依然幼稚的地方,就当抛砖引玉,聊为笑谈。 有一次开会,产品拿出Google某个产品的DEMO,里面有一段很酷炫3D 效果,要求开发加上,只给2天时间,大家目瞪口呆。 这是学习广度与熟练度的问题; 2 . 还有一些bug,是由于粗心大意导致的。例如空指针的问题,野指针的问题。 构建公用工具类,方便大家使用 2 . 使用开源的一些包,例如ORM思想的数据库等 3 . 可以很快的找到问题。开发中,找bug的时间,往往是很多的。 TINY压缩图片 2 . 删除无效的资源文件 UI渲染效率 UI是用户的第一感觉;UI快并稳定,第一感觉就不会差太多;管理好内存,基本管理好了一半crash;管理好UI,等于管理了人机交互感受。

    74030发布于 2018-07-27
  • 来自专栏程序员互动联盟

    为什么有些程序员宁愿降薪也要跳槽到BAT大厂

    2.中小企业。 感受下公司气氛,然后觉得干的累了基本上回归传统软件公司,虽然工资低点但起码不用整天加班到这么晚了,互联网公司加班加班是常态,不管你多大的公司,不会因为公司大小加班程度而减小,回归到题目的中心,程序员加入到bat

    1.4K20发布于 2018-12-19
领券