面经—(涂鸦智能)

1.java

1.1 hash算法

1.1.1 除余法

除余法就是用关键码x除以M(往往取散列表长度),并取余数作为散列地址。

1.1.2 乘余取整法

先让关键码key乘上一个常数A(O<A<1),提取乘积的小数部分。然后,再用整数n乘以这个值,对结果向下取整,把它做为散列的地址。

1.1.3 平方取中法

由于整数相除的运行速度通常比相乘要慢,所以有意识地避免使用除余法运算可以提高散列算法的运行时间。平方取中法的具体实现是:先通过求关键码的平方值,从而扩大相近数的差别,然后根据表长度取中间的几位数(往往取二进制的比特位)作为散列函数值。因为一个乘积的中间几位数与乘数的每一数位都相关,所以由此产生的散列地址较为均匀。

1.2冲突解决办法

1.2.1 链表法

1.2.2 开放地址法

  • 线性探测法将散列表看成是一个环形表,若在基地址d(即h(K)=d)发生冲突,则依次探查下述地址单元:d+1,d+2,M-1,0,1,d-1直到找到一个空闲地址或查找到关键码为key的结点为止。

  • 二次探查法
    生成的后继散列地址不是连续的,而是跳跃式的,以便为后续数据元素留下空间从而减少聚集。二次探查法的探查序列依次为:12,-12,22,-22,等,也就是说,发生冲突时,将同义词来回散列在第一个地址的两端。

  • 随机探查法

  • 双散列法
    https://wwwjianshu.com/p/f9239c9377c5

1.3 如何让线程在5秒钟内获取到锁

  • ·对程序进行限流,降级
  • ·对线程根据等待时间做优先级升级,优先级越高,越先获取锁
  • ·对业务代码做优化

2.Spring

2.1 spring的注解原理

AnnotationInvocationHandler它继承自InvocationHandler,会使用jdk的动态代理生成数据。
判断注解是否存在

  • 注解通过反射获取,通过 Class对象的 isAnnotationPresent()方法判断它是否应用了某个注解
  • 通过 getAnnotation()方法来获取 Annotation 对象实例
@TestAnnotation("defaultValue")
public class Test{
public static void main(String[] args){
// 注解通过反射获取,通过Class 对象的isAnnotationPresent()方法判断
它是否应用了某个注解
boolean hasAnnotation=Test.class.isAnnotationPresent(TestAnnotation.class);if(hasAnnotation){//通过getAnnotation()方法来获取 Annotation 对象实例Tes tAnnotation testAnnotation=Test.Class.getAnnotation(TestAnnotation.class);System.out.println("id:"+ testAnnotation.id());System.out.println("msg:" + testAnnotation.msg());}}
}

2.2 spring的设计模式

https://blog.csdn.net/chao821/article/details/92400186
https://blog.csdn.net/w05980598/article/details/79363046

3.dubbo

3.1 dubbo的调用链路

如何从consumer调用到provider,provider又是如何处理信息的

3.2 dubbo和http的区别

dubbo是一个分布式的服务请求框架,改用provider和consumer模式进行服务。consumer端无需关注provider端如何实现,只需在注册中心订阅即可到相应服务器请求服务,这样就实现了高性能和透明化。

  • 协议层区别
    1 HTTP,HTTPS 使用的是应用层协议 应用层协议:定义了用于在网络中进行通信和传输数据的接口

    2 DUBBO接口使用的是TCP/IP是传输层协议 传输层协议:管理着网络中的端到端的数据传输;因此要比 HTTP协议快

  • socket层的区别
    1 dubbo默认使用socket长连接,即首次访问建立连接以后,后续网络请求使用相同的网络通道

    2 http1.1协议默认使用短连接,每次请求均需要进行三次握手,而http2.0协议开始将默认socket连接改为了长连接

3.3dubbo请求体是啥?

1.消息头

在这里插入图片描述
magic:类似java字节码文件里的魔数,用来判断是不是dubbo协议的数据包。魔数是常量
0xdabb
flag:标志位,一共8个地址位。低四位用来表示消息体数据用的序列化工具的类型(默认
hessian),高四位中,第一位为1表示是request请求,第二位为1表示双向传输(即有返回
response),第三位为1表示是心跳ping事件。
status:状态位,设置请求响应状态,dubbo定义了一些响应的类型。具体类型见
com.alibaba.dubbo.remoting exchange.Response
invoke id:消息id, long类型。每一个请求的唯一识别d(由于采用异步通讯的方式,用来把请
求request和返回的response对应上)
body length:消息体 body长度,int类型,即记录Body Content有多少个字节。

2.消息体

实现源码在DubboCodec.encodeRequestData(Channel channel,ObjectOutput out,Object
data):
1、dubbo版本号
2、invoke的路径
3、invoke的provider端暴露的服务的版本号
4、调用的方法名称
5、参数类型描述符
6、遍历请求参数值并编码
7、dubbo请求的attachments

4.kafka

4.1简单介绍下kafka
4.2分区及分区副本,如何保证一致性的
4.3 kafka如何提高吞吐量的?和其他MO对比

5.线上遇到的问题

5.1CPU占用较高
5.2内存占用最高

===========================

1 .redis和zookeeper分布式锁应用场景的区别
2 .线程池的种类
3 .几个线程同时去做某种事情(强调同时)
4 .二进制为什么高
5 .IO流类别 ,以及随机读的方式
6 .dubbo的熔断

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27574.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

涂鸦智能模块二次开发--基础

本次主要以CBU模块为例&#xff0c;使用例程完成手机端–云端–终端的连接&#xff0c; 涂鸦 SDK 开发最基础指导&#xff0c;包含了开发环境、以及手机端 -云端-终端的配置工作&#xff0c;可以让开发者最快时间完成 demo 的测试工 作&#xff0c;demo 例程共有 template、elp…

【IoT智能单品设计】一款基于涂鸦智能IoT云平台的新型智能蓝牙水杯

文章目录 1 前言2 产品构思2.1 产品名称2.2 产品主要解决的问题2.3 产品的创新功能点 3 产品原型3.1 云平台选型3.2 智能单品的创建 4 产品开发4.1 硬件设计4.2 软件设计4.3 功能调试 5 产品功能展示6 产品功能拓展7 结束语 1 前言 近些年来&#xff0c;随着科技的更新迭代&am…

智能家居竞品分析:米家/HomeKit/美居/涂鸦智能的体验与思考

竞品选择 本次竞品&#xff08;体验&#xff09;分析目的在于了解目前主流智能家居产品的现状及使用情况&#xff0c;通过不同使用环境下体验设备连接、场景搭建以及日常操作&#xff0c;了解竞品全链路使用流程。主要从五个层次深入分析竞品&#xff0c;为本产品改版做基础准…

涂鸦智能SoC零代码开发接入

零代码开发 何为零代码开发&#xff0c;顾名思义是指无需编写代码、就能实现一款产品的搭建。举个很形象的例子&#xff0c;大家都玩过乐高积木&#xff0c;零代码开发就像搭建乐高积木一样开发出满足需求的产品。零代码和乐高这种产品有差不多的共性&#xff0c;就是能给开发…

Android的涂鸦智能设备几种入网方式

最近在接触涂鸦智能设备&#xff0c;利用App与设备进行连接进行远程的控制设备&#xff0c;同时对室内的温湿度&#xff0c;烟雾等参数进行监听&#xff0c;实时观察室内的危险参数&#xff0c;然后首先在这里&#xff0c;我们先可以了解一下设备几种入网的方式。 快连入网&am…

透过涂鸦智能Q3财报,看全球IoT市场的动荡与发展

IoT智能设备已经逐渐在日常生活中普及&#xff0c;但它们背后的应用平台往往被人忽视。 作为唯一一家赴美上市的IoT平台企业&#xff0c;涂鸦智能区别于小米、海尔、华为等厂商的中立性&#xff0c;让它有了一些独特的行业参考价值。 近期&#xff0c;涂鸦智能发布了截至2021…

Pulsar 在涂鸦智能的实践

????️ 阅读本文需 7 分钟 作者&#xff1a;张永红&#xff0c;开放平台组研发工程师&#xff08;涂鸦智能&#xff09; >>> 关于涂鸦 涂鸦智能是一个全球化智能平台和“AIIoT”开发者平台&#xff0c;也是世界排名前列的语音 AI 交互平台。连接消费者、制作品牌、…

使用涂鸦智能平台快速开发项目

使用三明治开发套件 涂鸦三明治开发套件符合 Arduino 开发规范&#xff0c;开发者可选择任意 Arduino 接口开发板&#xff0c;通过 Arduino IDE 简单快速搭建新的智能设备。 通过涂鸦三明治开发套件&#xff0c;非常方便地以类似“三明治”层层叠加的方式组合成一个完整的 Io…

智能家居1 涂鸦开关接入homeassistant

一、获取涂鸦开关的localkey 参考原文&#xff1a;https://bbs.hassbian.com/forum.php?modviewthread&tid12168&highlight%E6%B6%82%E9%B8%A6 Linux(如树莓派)需要安装运行tuyapi/cli 这个软件&#xff0c;示例&#xff1a;npm i tuyapi/cli -g。 如果出现权限错误&…

【吴恩达】prompt engineering(原则 迭代 文本概括 推断、订餐机器人)

简介 Introduction 基础的LLM训练的模型&#xff0c;问法国的首都什么&#xff0c;可能会将答案预测为“法国最大的城市是什么&#xff0c;法国的人口是多少”许多 LLMs 的研究和实践的动力正在指令调整的 LLMs 上。指令调整的 LLMs 已经被训练来遵循指令。因此&#xff0c;如…

【NLP】如何使用Hugging-Face-Pipelines?

一、说明 随着最近开发的库&#xff0c;执行深度学习分析变得更加容易。其中一个库是拥抱脸。Hugging Face 是一个平台&#xff0c;可为 NLP 任务&#xff08;如文本分类、情感分析等&#xff09;提供预先训练的语言模型。 本博客将引导您了解如何使用拥抱面部管道执行 NLP 任务…

Midjourney V5横空出世:画出完美中国情侣 逼真得令人毛骨悚然

雷递网 雷建平 3月20日 2023年&#xff0c;AI技术正在加速对人类世界的改变。 在ChatGPT的升级版GPT-4横空出世&#xff0c;能玩梗图还能做网页之际&#xff0c;Midjourney V5已正式发布&#xff0c;该服务可以生成逼真的图像&#xff0c;其质量水平被一些AI艺术爱好者称为令人…

软件测试职场焦虑之我对35岁危机的看法

目录 前言 如何理解35岁失业&#xff1f; 本质的原因是什么&#xff1f; 应对35岁失业的策略 总结 前言 这几年关于“35岁失业”的讨论甚嚣尘上&#xff0c;特别是进入疫情时代&#xff0c;身边也越来越多的人开始讨论这个话题。 一方面是疫情带来的巨大变革&#xff0c;…

ChatLaw:中文法律大模型

论文题目&#xff1a;ChatLaw: Open-Source Legal Large Language Model with Integrated External Knowledge Bases   论文日期&#xff1a;2023/06/28   官网地址&#xff1a;https://www.chatlaw.cloud   论文地址&#xff1a;https://arxiv.org/abs/2306.16092   G…

31岁音乐家零经验转行「软件开发者」,薪资翻4倍!

整理 | 朱珂欣 出品 | CSDN程序人生&#xff08;ID&#xff1a;coder_life&#xff09; 改岗转行&#xff0c;绝非易事。 31 岁前&#xff0c;Charlotte Kies 一直将成为单簧管演奏家和音乐教育家&#xff0c;视为职业人生的终极目标。 如今 33 岁的她&#xff0c;却已实现了…

微软欲模仿“微信”,打造一款超级 App?

整理 | 苏宓 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 「Write Once&#xff0c;Run Anywhere」是很多开发者的梦想&#xff0c;而对于不少开发商而言&#xff0c;他们更希望能够打造一套系统或服务走天下。 近日&#xff0c;据外媒 The Information 报道&a…

7位顶级AI学者,齐聚一堂!对ChatGPT进行“华山”论道!

来源&#xff1a;机器之心 ChatGPT 的走红再次掀起人们对人工智能的关注&#xff0c;那么在 ChatGPT 之后&#xff0c;人工智能将会如何发展&#xff1f;业内及 ChatGPT 的母公司 OpenAI 都认为 AGI 将是未来人工智能的发展方向。 AGI 理论研究和应用实践将可以从哪些方面出发&…

如何解决在线医疗语音问诊的技术难题 | 以眩晕问诊为例

1. 需求分析与业务理解 1.1 临床诊断流程 根据临床经验&#xff0c;眩晕的临床诊断是有固定流程的&#xff0c;如下图所示&#xff1a; 参考来源&#xff1a;吉林大学中日联谊医院耳鼻咽喉头颈外科 郑军 眩晕概述 1.2 临床痛点 根据临床经验&#xff0c;对于眩晕的诊断和问诊…

在线问诊、找科室、找医生、查疾病、图文问诊、电话急诊、健康咨询、问诊平台、咨询平台、问诊服务、语音问诊、开药问诊、看病平台、在线医疗、健康平台、登录注册、信息架构图、全局说明、组件规范、需求清单、

在线问诊、找科室、找医生、查疾病、图文问诊、电话急诊、健康咨询、问诊平台、咨询平台、问诊服务、语音问诊、开药问诊、看病平台、在线医疗、健康平台、登录注册、信息架构图、全局说明、组件规范、需求清单、Axure原型 Axure原型演示及下载地址&#xff1a;https://www.pm…

chatgpt赋能python:Python如何在图像上标注

Python如何在图像上标注 对于图像标注&#xff0c;Python提供了许多工具和库&#xff0c;其中最常用的是OpenCV和Pillow。这篇文章将介绍如何使用Pillow在图像上进行标注。 安装Pillow库 在使用Pillow库之前&#xff0c;需要先安装它。在命令行中输入以下命令&#xff1a; …