首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏算法研习社

    海量数据面试题总结(2)-BitMap

    本系列文章对海量数据面试题进行了归类和总结,给出海量数据处理问题的通用解决思路,后面附有例题,希望大家能够举一反三。 模式二:BitMap 所谓BitMap就是用一个bit位来标记某个元素所对应的value,而key即是该元素,由于BitMap使用了bit位来存储数据,因此可以大大节省存储空间。 假设要对0-7内的5个元素[4,7,2,5,3]进行排序(元素没有重复)。我们可以使用BitMap算法达到排序目的。要表示8个数,我们需要8个bit。 1. 如int32类型的每个数字需要32位存储空间,共有2^32种数,需要2^32=4G的连续内存空间才可以将所有数字一一表示。 2. 采用2-BitMap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存2^32 * 2 bit = 8GB内存。

    1.2K10发布于 2020-07-20
  • 来自专栏最新最全的大数据技术体系

    11月数据面试题复习

    1)从 high-level 的角度来看,两者并没有的差别。 Spark中的数据本地性有三种:   1)PROCESS_LOCAL是指读取缓存在本地节点的数据2)NODE_LOCAL是指读取本地节点硬盘数据   3)ANY是指读取非本地节点数据   当表和小表join时,用map-side join能显著提高效率。 不一定,当数据规模小,Hash shuffle快于Sorted Shuffle数据规模的时候;当数据量大,sorted Shuffle会比Hash shuffle快很多,因为数量大的有很多小文件,不均匀 ,甚至出现数据倾斜,消耗内存,1.x之前spark使用hash,适合处理中小规模,1.x之后,增加了Sorted shuffle,Spark更能胜任大规模处理了。

    92912编辑于 2021-12-06
  • 来自专栏kafka专栏

    面试题】Java 2个(多个)整数相加如何实现

    之前面试阿里的时候,第四面的时候面试官让我当他面实现这个题目, 一开始的时候问的时候 2个相加如何实现,然后我写完了之后又问我如果是多个相加呢?

    89180发布于 2021-07-14
  • 来自专栏用户5305560的专栏

    面试题2):如何查找前20%的数据

    思路: 使用逻辑树分析方法可以把这个复杂的问题拆解为3个子问题: 1)找出访问次数前20%的用户 2)剔除访问次数前20%的用户 3)每类用户的平均访问次数 过程: 下面分别来解决每个子问题 1.访问次数前20%的用户 先按“访问次数”排名,然后就可以找到”前20%”的数据。 排名后,如何找出前20%的数据呢? 排名<=最大的排名值 * 20%,就是前20%的数据。 ? max(排名) from a) * 0.2; 2.剔除访问次数前20%的用户 题目要求是“剔除访问次数前20%的用户”,也就是把上面sql语句里的where条件中的 <= 变成 >就获取到相反的数据了 select 用户类型,avg(访问量) from b group by 用户类型; 这里的表b就是前面第2步得到的临时表,带入sql里就是: select 用户类型,avg(访问量) from (select

    80010发布于 2021-08-11
  • 来自专栏CSDNToQQCode

    数据面试题【十三、数据查询,怎么优化】

    优化shema、sql语句+索引; 第二加缓存,memcached, redis; 主从复制,读写分离; 垂直拆分,根据你模块的耦合度,将一个的系统分为多个小的系统,也就是分布式系统; 水平切分 ,针对数据量大的表,这一步最麻烦,最能考验技术水平,要选择一个合理的sharding key, 为了有好的查询效率,表结构也要改动,做一定的冗余,应用也要改,sql中尽量带sharding key,将数据定位到限定的表上去查

    82810编辑于 2022-11-28
  • 来自专栏golang算法架构leetcode技术php

    php面试题2

    这个问题有一个很大的坑,面试官可能会从这个问题下手问你一堆问题。 linux:traceroute,windows:tracert a=[0,1,2,3]; b=[1,2,3,4,5]; a+=b; var_dump( 基础问题。本质还是考PHP数组的结构和特点。 实际上数据库的容灾设计要复杂的多。 面试官要是问你,备机的数据不一致怎么办,你要勇敢怼回去,你们每秒多少写入操作。按照百万级表,每秒1000的写入效率,正常的设计是,分布在2台机器上每台500。 2)信号量 信号量是一个计数器,可以用来控制多个线程对共享资源的访问. 这样就能避免新的连接收到之前的ip和端口一致的连接残存在网络中的数据包。这也是TIME_WAIT状态的等待时间被设置为2MSL的原因,以确保网络上当前连接两个方向上尚未接收的TCP报文已经全部消失。

    3K20编辑于 2022-08-02
  • 来自专栏CSDNToQQCode

    数据面试题【十一、InnoDB引擎的4特性】

    1、插入缓冲(insert buffer) 2、二次写(double write) 3、自适应哈希索引(ahi) 4、预读(read ahead)

    35120编辑于 2022-11-28
  • 来自专栏容器计算

    Spark 面试题系列-2

    2 Spark 优越性 Spark 的几个优势 更高的性能。因为数据被加载到集群主机的分布式内存中。数据可以被快速的转换迭代,并缓存用以后续的频繁访问需求。 与现有 Hadoop 1和2.x(YARN)生态兼容,因此机构可以无缝迁移,目前也在做 Yarn 3 的支持。 方便下载和安装。 lineage 本质上很类似于数据库中的重做日志(Redo Log),只不过这个重做日志粒度很大,是对全局数据做同样的重做进而恢复数据(所以也称为粗粒度)。 5 可以解释一下这两段程序的异同吗 # 1 val counter = 0 val data = Seq(1, 2, 3) data.foreach(x => counter += x) println ("Counter value: " + counter) # 2 val counter = 0 val data = Seq(1, 2, 3) var rdd = sc.parallelizze(

    78720发布于 2020-08-06
  • 来自专栏java金融

    Java基础面试题2

    {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后 答:会执行,在return前执行 23、用最有效率的方法算出2乘以 抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。 ,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。 并考虑2种回收机制 答:Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。

    70720发布于 2020-08-05
  • 来自专栏全栈程序员必看

    HashMap常见面试题_java面试题汇总

    1.HashMap的数据结构? 哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过8时,链表转换为红黑树。 2.HashMap的工作原理? 因为位运算直接对内存数据进行操作,不需要转成十进制,所以位运算要比取模运算的效率更高 第二:当length为2的N次方的时候,数据分布均匀,减少冲突 那么为什么默认是16呢?怎么不是4?不是8? hashMap是线程不安全的,其主要体现: 1.在jdk1.7中,在多线程环境下,扩容时会造成环形链或数据丢失。 2.在jdk1.8中,在多线程环境下,会发生数据覆盖的情况。 比如某些人通过找到你的hash碰撞值,来让你的HashMap不断地产生碰撞,那么相同key位置的链表就会不断增长,当你需要对这个HashMap的相应位置进行查询的时候,就会去循环遍历这个超级的链表,性能及其地下 使用链地址法(使用散列表)来链接拥有相同hash值的数据2. 使用2次扰动函数(hash函数)来降低哈希冲突的概率,使得数据分布更平均; 3.

    58220编辑于 2022-09-22
  • 来自专栏数据结构与算法

    1675 质数 2

    1675 质数 2 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 钻石 Diamond 题目描述 Description 小明因为没做作业而被数学老师罚站,之后数学老师要他回家把第 167 173 179 181 191 193 197 199 211 223 227 229          //(不含n=233) 数据范围及提示 =0) 15 { 16 if(b%2! =0) 31 { 32 if(b%2! 45 if(n<2&&(n%2==0)) 46 { 47 return 0; 48 } 49 for(ll i=0;i<11;i++) 50 {

    60560发布于 2018-04-13
  • 来自专栏公众号:懒时小窝

    HTTP - HTTP2 面试题

    #http HTTP - HTTP2 面试题 引言 根据网络上的常见面试题进行收集,基本能应付大部分的场景,HTTP大部分是八股,所以直接开始背书即可。 的帧最大可以达到 16M,你觉得帧好还是小帧好? 仁者见仁智者见智,认为帧好的会觉得小帧需要很多额外的头信息有数据冗余。 而认为小帧比较好则觉得小帧符合大部分常见的业务,当然如果在某些特定场景里比如下载大文件可以适当加大。 如何使用 HTTP/2 服务器推送 服务器推送允许服务器无需等待客户端连接就可以向服务器推送数据,某些时候可以改善用户的使用体验,比如带宽延迟的产品,为了尽可能减少网络连接传输上花费的时间。 更多面试题 通俗图解HTTP面试题 http常见面试题总结 | 大厂面试题每日一题 (shanyue.tech)

    1K40编辑于 2022-12-06
  • 来自专栏小白技术社

    Java面试题全集上(2

    Java面试题全集上(2) 接着上次的面试题我们继续 Java 中会存在内存泄漏吗,请简单描述。 当年轻代收集不能把对象放进终身颐养园时,就会触发一次完全收集(Major-GC),这里可能还会牵扯到压缩,以便为对象腾出足够的空间。 数据类型之间的转换: - 如何将字符串转换为基本数据类型? - 如何将基本数据类型转换为字符串? 答: - 调用基本数据类型对应的包装类中的方法parseXXX(String)或valueOf(String)即可返回相应基本类型; - 一种方法是将基本数据类型与空字符串("")连接(+)即可获得其所对应的字符串 有一道很常见的面试题是用递归实现字符串反转 怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串 答:代码如下所示: String s1 = "你好";String s2 = new

    77320发布于 2020-07-08
  • 来自专栏猪圈子

    面试题十三期-之各大公司数据库相关面试题集合NO2

    小黄鸡今日推荐【MongoDB篇之数据库相关面试题集二期】 diligence redeems stupidity 勤能补拙 ✎✎✎第一小节>> 1. 举出两个判断DDL改动的方法? 解答:Coalescing针对于字典管理的tablespace进行碎片整理,将临近的小extents合并成单个的extent. 3.解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库 DESCRIBE命令 2. DBMS_METADATA.GET_DDL 包 6. 怎样查看数据库引擎的报错 解答:alert log. 7. IMPORT和SQL*LOADER 这2个工具的不同点 解答:这两个ORACLE工具都是用来将数据导入数据库的。 区别是:IMPORT工具只能处理由另一个ORACLE工具EXPORT生成的数据。 而SQL*LOADER可以导入不同的ASCII格式的数据源 28.用于网络连接的2个文件? 解答: TNSNAMES.ORA and SQLNET.ORA

    67110发布于 2019-11-21
  • 来自专栏从码农的全世界路过

    如何在大量数据中找出第2的数字

    如何在大量数据中找出第2的数字? 这个问题与TopN很类似,但也有不同 例如: 数组nums={42, 41, 31, 7, 17, 2, 42} 在top2时,结果是{42,42} 在当前问题中,结果是41 不同之处就在于对相同数字的判断 了解topN解决方式的一定知道这种情况二叉查找树是一个最优选择; 针对相同数字的问题,最合适的去重数据结构就Set. 最终符合这两种条件的数据结构就是TreeSet.

    1.5K10编辑于 2022-06-20
  • 来自专栏前端面试

    前端react面试题(必备)2

    参考 前端进阶面试题详细解答react-router4的核心路由变成了组件分散到各个页面,不需要配置 比如<link> <route></route>React 16中新生命周期有哪些关于 React16 getDerivedStateFromPropsshouldComponentUpdaterendergetSnapshotBeforeUpdatecomponentDidUpdate卸载过程:componentWillUnmountredux的三原则单一数据源 Context目前还处于实验阶段,可能会在后面的发行版本中有很大的变化,事实上这种情况已经发生了,所以为了避免给今后升级带来的影响和麻烦,不建议在app中使用context。 ,用于组件挂载时所需数据的默认值。 受控组件是 React 控制中的组件,并且是表单数据真实的唯一来源。非受控组件是由 DOM 处理表单数据的地方,而不是在 React 组件中。

    3.2K20编辑于 2023-01-04
  • 来自专栏计算机工具

    python 面试题--2(15题)

    2.Python中的装饰器是什么?如何使用装饰器? 答案:装饰器是一种用于修改函数或类行为的特殊函数。它们接受一个函数或类作为输入,并返回一个新的函数或类。 例如,下面的代码使用列表解析生成一个包含1到10的平方的列表: squares = [x**2 for x in range(1, 11)] print(squares) # 输出: [1, 4, 9 浅拷贝创建一个新对象,该对象与原始对象共享引用类型的数据。 深拷贝创建一个完全独立的新对象,其中包含原始对象所有的数据和引用类型的数据的副本。 进程之间不能直接共享数据,需要使用进程间通信(IPC)机制来进行数据传输。 由于进程具有独立的内存空间,因此适用于CPU密集型任务。 14.Python中的闭包是什么?给一个示例。 生成器的使用场景 生成器适合于处理大数据量和耗时操作的场景,例如遍历文件或网络数据流、CPU密集型计算、图像处理等。

    79610编辑于 2024-12-14
  • 来自专栏java学习

    关于Spring面试题讲解2

    这些beans通过容器中配置的元数据创建。比如,以XML文件中<bean/> 的形式定义。 Spring 框架定义的beans都是单件beans。 一个Spring Bean 的定义包含容器必知的所有配置元数据,包括如何创建一个bean,它的生命周期详情及它的依赖。 23. 如何给Spring 容器提供配置元数据? 这里有三种重要的方法给Spring 容器提供配置元数据。 XML配置文件。 基于注解的配置。 基于java的配置。 24. 你怎样定义类的作用域? 基本数据类型:你不能自动装配简单的属性,如基本数据类型,String字符串,和类。 模糊特性:自动装配不如显式装配精确,如果有可能,建议使用显式装配。 35. ⊙面试题68(加深你对栈的理解_让你知道什么是栈) ⊙来测试一下你对数据结构中的栈和队列的了解有多少? ⊙面试题63(链表,哈希表) ⊙ 请你对Java中树的了解有多少? ⊙ 这个培训机构怎么?

    84720发布于 2018-07-25
  • 来自专栏keyWords

    前端面试题2(CSS)

    p:nth-child(2) 选择属于其父元素的第二个子元素的每个

    元素。 :after 在元素之前添加内容,也可以用来做清除浮动。 #id1{ } /*权重为100+1=101*/ #id1 div{ } /*权重为10+1=11*/ .class1 div{ } /*权重为10+10+1=21*/ .class1 .class2 , blue); 阴影 box-shadow:3px 3px 3px rgba(0, 64, 128, 0.3); 倒影 box-reflect: below 2px CSS可以拆分成2部分:公共CSS 和 业务CSS: 网站的配色,字体,交互提取出为公共CSS。这部分CSS命名不应涉及具体的业务 对于业务CSS,需要有统一的命名,使用公用的前缀。 一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度 方案1: .sub { height: calc(100%-100px); } 方案2: .container

    3.7K11发布于 2018-09-19
  • 来自专栏灯塔大数据

    每周学点大数据 | No.2数据的特点、应用和算法

    No.2期 大数据的特点、应用和算法 一、大数据的特点和应用 Mr. 王:大数据具有较大的数据量,和一般的数据相比,其具有如下一些特点。 —在数据量上,大数据是通过各种设备产生的海量数据,其数据规模极为庞大,远大于目前互联网上的信息流量,PB 级别将是大数据的常态。 —在多样性上,大数据种类繁多,在编码方式、数据格式、应用特征等多个方面存在差异性,多信息源并发形成大量的异构数据。 —在价值上,数据持续到达,并且只有在特定时间和空间中才有意义。 Mr. 王:我们分析大数据、研究大数据,是希望能够利用它们获得我们需要的知识。 我们可以利用大数据进行: — 预测 — 推荐 — 商业情报分析 — 科学研究 等发现大数据中的价值,使用大数据、利用大数据的过程。由此可知,对大数据的研究还是非常重要而有意义的。

    1.1K40发布于 2018-04-09
领券