JavaEE-面试-redis的面试思路引导

JavaEE进阶——Redis集群搭建与缓存实现 一、Redis简介 ​ Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。 ​ Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类... 阅读详情

Redis在面试的时候,被问到的频率还是非常高的,应该是一个必备的知识点

简单介绍?

免费高性能的非关系型的内存数据库。

存储形式为key-value。

value支持4种格式,分别为String、set、list、map。其中String和map常用,其中map最常用。

作为后台开发人员理应掌握redis和MongoDB的使用。

它的出现解决什么问题?

  • 做缓存
    • 缓存提高请求响应速度、减少对数据库频繁操作。

比如,用户对应菜单、用户对应的购物车内容、用户对应的支付日志、品牌id对应的具体品牌信息、userId对应的sessionId、商品对应的广告。ps:我们课程里面涉及到了好多例子滴。

  • 应对某些高并发情况
    • 比如秒杀。

很多用户同时参加秒杀,并发很高。如果使用mysql之类的关系型数据库,可能会出现问题。这个时候,我们可以先把秒杀订单放到redis,最后在同步到mysql之类的数据库。

Redis能读的速度是110000次/s,写的速度是81000次/s

同类型技术?

MongoDB、memcached

如何把握?核心api?

分为服务端和客户端。

  • 服务端

包括Redis在Linux下的安装、Redis的集群

  • 客户端

    客户端操作可以直接用jedis

在这里插入图片描述

然后就是调用api就可以了。

在这里插入图片描述

客户端操作可以用对jedis封装的spring-data-redis

在这里插入图片描述

然后就是调用api就可以了。

在这里插入图片描述

实际项目?

我们项目中大量用到了redis,不信你看看,我给你汇总汇总。
###1. erp项目中

缓存某一个UUID,可以访问的所有MenuID:

因为我们用到了shiro,shiro分为认证和授权,每次授权的时候时候知道用户(uuid)对应的菜单(menuid)。这里我们进行缓存,减少数据库的查询。

存:

在这里插入图片描述

取:

在这里插入图片描述

###2.品优购项目(好多地方用到了,但是总结起来就缓存和应对高并发)

购物车缓存:保存购物车(未登录保存到cookie,登陆后把cookie中购物车保存到redis,删除本地cookie购物车)
支付日志缓存:保存用户的支付日志,map类型。

在这里插入图片描述

短信验证码:保存短信验证码到缓存

在这里插入图片描述

保存品牌、规格、广告信息:可以理解为数据字典,减小数据库压力。使用的是 map类型

在这里插入图片描述

秒杀:利用到了redis的高并发,Redis递减

在这里插入图片描述

###3.淘淘商城

淘淘商城是老项目,单点登录用的redis实现session共享,新项目用的cas做的单点登录,这里redis起到session的共享,或者理解为中转站。

session共享:分布式项目不同服务器上的session需要共享数据,可以通过redis,这里还用到了redis的过期时间。

登录的时候:

在这里插入图片描述

根据token,获取用户信息:

在这里插入图片描述

相关面试题汇总

序号问题描述新增日期
1你们项目哪里用到redis/Redis你们怎么用的2018-05-13
2什么场景会选用redis2018-05-13
3redis可以存储什么数据类型2018-05-13
4redis具体怎么存储2018-05-13
5redis具体是怎么实现的2018-05-13
6redis怎么更新的2018-05-13
7redis缓存怎么设置大小2018-05-13
8Redis怎么和数据库同步2018-05-13
9Redis你们怎么部署的2018-05-13
10工作中Redis的持久方案,你们是怎么做的2018-05-13
11redis怎么做集群2018-05-13
12redis问到了主从数据如何同步2018-05-13
13还有怎么知道redis是否挂了,挂了以后怎么处理2018-05-13
14redis穿透怎么解决2018-05-14
15redis服务器挂了怎么办2018-05-13
16redis哨兵模式搭建及作用2018-05-14

面试题答案 https://www.jianshu.com/p/440c002ba1f9

加粗样式

2020年JavaEE全部面试题目.docx 本文档内容包含从java基础到微服务的全部面试题及分布式环境下出现的问题解决方案。包过数据库。redis和mq等中间件。 立即下载

相关推荐

Megatron-LM深度解析:万亿参数大模型的3D并行训练之道

训练框架,采用创新的"层内模型并行"设计,通过将Transformer层的计算拆分到多个GPU上并行执行,显著提升训练效率。该系统支持3D并行策略(数据并行、张量并行、流水线并行)和序列并行等新技术,成功应用于训练5300亿参数的MT-NLG模型。相比DeepSpeed、TPU GSPMD等框架,Megatron-LM在NVIDIA GPU上展现出卓越性能,并与TensorRT等工具深度集成,形成从训练到部署的完整解决方案。该项目持续演进,已成为大模型训练的重要基准。

数据与算法架构提升之路专栏 2096

JavaEE资源分享:Redisd总结

我有一个很好的Java学习交流群,里面有很多技术大牛,如果你感兴趣的话可以加群(471948038)一起交流学习。 Redisd的应用场景 1、会话缓存(Session Cache) 最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis 缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化。当维护

Wz1135640的博客 438

Tiny windows 11 安装与部署

需要注意,安装完后键入 windows 键,输入 update 先更新系统。点击开始,等待完成即可,用户可自定义。

m0_73351035的博客 9049

面试题汇总

序号问题描述新增日期1你们项目哪里用到redis/Redis你们怎么用的2018-05-132什么场景会选用redis2018-05-133redis可以存储什么数据类型2018-05-134redis具体怎么存储2018-05-135redis具体是怎么实现的2018-05-136redis怎么更新的2018-05-137redis缓存怎么设置大小2018-05-138Redis怎么和数据库同步...

qq_39827935的博客 328

双参数威布尔分布(Weibull分布)参数计算(根据故障数据,求双参数威布尔分布的参数详细步骤)

根据故障数据求威布尔分布参数步骤 根据众多文献研究,设备故障数据大多服从指数分布、威布尔分布或对数正态分布。其中威布尔分布较为常用,本文主要介绍威布尔分布的简单应用,并根据某设备故障数据为例简单介绍威布尔分布参数的计算方法。 参考文献11参考文献22 1.双参数威布尔分布的概率密度函数、概率分布函数、可靠度函数: 2.预处理故障数据 将故障数据按时间排序,假设设备分别在以下时间点失效:11.1 、23.5、58.4……则将此时间从小到大排序。并计算中位秩。中位秩的计算公式如下: 其中i表示第几个数据,n

biaochengxiaobai的博客 4万+

Agentic RAG:RAG从静态到具有理解、推理、决策的Agentic RAG

RAG技术演进:从静态检索到智能代理 RAG(检索增强生成)技术经历了五个关键发展阶段:基础RAG(关键词检索)、高级RAG(语义理解)、模块化RAG(灵活架构)、图RAG(知识图谱)和最新的Agentic RAG(智能代理)。Agentic RAG通过引入自主AI代理,具备反思、规划、工具使用和多代理协作能力,实现了动态决策和自适应工作流。相比传统RAG的静态检索流程,Agentic RAG能处理复杂多步推理任务,通过自我改进机制提高输出质量,并支持多专业代理协作,显著提升了RAG系统在复杂场景下的表现。

2545

JavaEE-面试-redis常见问题-1

面试题汇总 序号 问题描述 新增日期 1 你们项目哪里用到redis/Redis你们怎么用的 2018-05-13 2 什么场景会选用redis 2018-05-13 3 redis可以存储什么数据类型 2018-05-13 4 redis具体怎么存储 2018-05-13 5 redis具体是怎么实现的 2018-05-13 6 redis怎么更新的 2018...

billycoder的专栏 317

微型纵向加密在新能源场站中的实战部署与运维避坑指南

本文详细解析了微型纵向加密在新能源场站中的实战部署与运维技巧。通过国密算法SM4实现数据加密,确保新能源场站通信安全,同时提供非侵入式部署方案和运维避坑指南,帮助提升网络稳定性和运维效率。

weixin_30505225的博客 600

北塔软件武汉研发中心面试总结

近期因为公司变动,打算换一份工作。在网上更新了简历之后,收到了北塔软件的面试邀请,因为疫情等原因,一面采用视频面试的方式。 以下记录面试相关问题及进行一些总结与反思,好久没面试了,这次也比较突然吧,可能有一些问题答的不是很好。 初试总结 问:简单介绍一下自己? 答:从姓名、年龄、毕业院校、专业、工作经历、项目经历、期望岗位、跳槽原因等方面简单介绍了一下。 反思:介绍的时候,吐字要清晰,要有条不紊...

hoho_12 89

手把手教你构建轻量级CLIP模型:从理论到实践

本文手把手教你从零构建一个轻量级CLIP模型,深入解析其核心原理——对比学习,并提供完整的代码实践。通过精简的模型架构、数据准备和训练循环实现,帮助读者彻底理解多模态模型如何让图像与文本在共享空间中对齐,为学习更复杂的AI模型打下坚实基础。

weixin_29100927的博客 326

【图像超分】论文精读:RepSR: Training Efficient VGG-style Super-Resolution Networks with Structural Re-Paramete

摘要: 本文提出RepSR,一种基于结构重新参数化和批量归一化(BN)的高效VGG式超分辨率网络。针对SR任务中BN易引发伪影的问题,作者通过分析发现训练-测试阶段的不一致性是主因,并提出先使用小批量统计训练、后期切换为总体统计的优化策略。RepSR块设计包含干净的残差路径和带改进BN的扩展-压缩卷积路径,有效平衡了训练非线性与推理效率。实验表明,RepSR在不同模型规模下优于现有重参数化方法,且实际推理速度更快。该工作为SR提供了性能与效率兼优的解决方案,相关代码未开源。 关键词: 超分辨率、结构重参数化

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 306

牛皮!GitHub上,仅上线48分钟就标星18K的Spring Boot笔记,简直不要太香了!

2021年的金三银四一眨眼就到了,对于很多人来说是跳槽的好机会,大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。BAT面试经验实战系列:Spring全家桶+Redis等其他相关的电子书:源码+调优面试真题:《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》

2401_83916435的博客 635

史上最全工商银行核心系统建设历程:从“数据集中”到“ECOS”2.0,见证银行业信息科技跨时代发展征程

ECOS工程的直接成果是建成了工商银行第五代信息系统,即从单一核心银行系统到去核心化开放生态系统,率先开启了以智能化、开放化为特征,数据驱动引领经营模式变革,创新提出了一整套国际领先的分布式开放生态银行系统建设方案,在大型银行全分布式系统架构、主机下移、银行系统生态化转型、大规模交易型分布式数据库等多个领域再次实现“0到1”的突破,建成了具备国际领先水平的全分布式开放生态银行系统,继续勇立数字化转型潮头,推动高质量发展再上新台阶。工商银行的业务连续性管理水平实现了跨越式发展,有力地保障了业务发展。

银行信息系统应用架构详解 830

从代码到产品:开发者如何通过开源项目构建技术影响力

在软件开发领域,开源项目不仅是技术实现的载体,更是知识共享与协作创新的核心机制。其原理在于通过版本控制系统(如Git)和社区平台(如GitHub),将个人代码转化为可公开访问、协作改进的公共产品。这一过程的技术价值在于,它打破了信息孤岛,促进了技术迭代与最佳实践的传播,是驱动行业进步的重要引擎。从应用场景来看,无论是个人工具库、框架组件还是完整应用,开源模式都能帮助开发者获得真实反馈、建立技术声誉并连接全球同行。本文聚焦于如何将私有代码库转化为高质量的开源作品,涵盖项目标准化、文档撰写、社区发布及持续运营等

weixin_33695082的博客 453

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

CnOpenData 线上招聘网站信息数据

CnOpenData线上招聘网站信息数据库是一个覆盖中国主流招聘平台、时间跨度长、更新频率高的劳动力市场需求侧大数据集合。本数据库汇集了,为学术界和业界提供了一扇实时观察中国劳动力市场动态的窗口。

CnOpenData_wj的博客 2660

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

CnOpenData A股上市公司招聘数据

就业是经济的“晴雨表”,更是社会的“稳定器”。稳定和扩大就业一直是国家宏观调控的重要目标,2021年中央经济工作会议八次提到“就业”这一关键词。在新冠肺炎疫情蔓延、世界经济下行及人口老龄化加快等多重因素的叠加之下,稳就业保民生成为我国当前及今后一段时间内的工作重点。招聘最直接的目的就是弥补企业人力资源的不足,这是招聘工作的前提。

CnOpenData_wj的博客 371

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

JavaEE-面试-POI面试回答思路

是什么? Apache POI是Apache开源的,可以通过Java读写word和excel。 ## 难不难? 不难 它的出现解决什么问题? 导出word或者excel(报表),方便数据查看。 导入word或者excel,方便数据录入。 提供了编程方式控制office文档,而不仅仅是人为操作。 同类型技术? Aspose,需要资料的同学单独联系我。 简单介绍? 1. 基本使用 新建工作簿...

billycoder的专栏 4669

面试-技术面试-问题模板(超实用)

任何技术关键字,面试官可能从下面10个问题抽问。 任何技术关键字,面试者可以从下面10个问题准备。 技术十问 []是什么? []出现为了解决什么问题?没有出现之前使用什么技术? []同类型的技术有哪些?对比同类型技术的优缺点是什么? []使用步骤怎样? []在我们项目中哪些地方用到了? []一些【核心类】或者【核心方法】或者【核心配置】或者【核心注解】是什么? []使用过程中有没有遇到什...

billycoder的专栏 2248

面试-JavaEE-简单介绍公司项目开发流程

简单介绍公司项目开发流程 一个产品大概开发流程是怎样的呢?下图有代表性 那到了程序员【代码编写】阶段我们又会考虑些什么呢? 这里假设1个人去开发整个管理系统 1. 需求分析 分析需求,了解项目,需要知道产品是干啥的?项目大概有哪些难点?项目大概需要多久可以完成?有的公司这个时候,需要程序员写【评估报告.doc】。 2. 技术选型 用easyUI还是bootstrap需...

billycoder的专栏 1618

JavaEE-面试-跨域问题

跨域问题 1,跨域是前端工程师必备的技能点,后端开发人员也需要知道。 2,本篇博客提供基本的思路,面试的时候可以参考的一个思路。 什么是跨域 协议、域名、端口任意不同,就是不同域。 什么是跨域问题 浏览器为了安全,对js进行跨域访问资源的时候做了一些限定。 js可以通过跨域请求返回一个js。 js不能跨域请求json数据,但是这个在分布式系统是非常常见的需求。 怎么解决 解决方案好...

billycoder的专栏 1072

JavaEE-面试-Solr面试回答思路

梳理下Solr面试回答思路。任何知识点的回答、梳理都是类似的。 1. 是什么? 化繁为简的介绍一下这个技术是干嘛的 solr是基于Lucene的,主要用作全文检索。 2. 同类型技术 ElasticSearch,这个时候很自然的需要去了解两种技术的简单区别。 ElasticSearchvs Solr多维度分析对比 3. 大概介绍介绍? 最好加入自己的一些心得...

billycoder的专栏 891

大数据-面试问题大全-持续更新

结合课程内容、学习情况、学生面试情况。想了一些大数据相关的问题。供参考。 2018年11月27日08:28:40 更新 #zookeeper&hadoop 公司部署了几台zookeeper 公司部署了几台hadoop? 怎么确定需要几台hadoop? 写过shell脚本没有?什么场景写了shell? 公司什么项目用到大数据,为什么要用大数据? 你们公司数据库量多大? nameNo...

billycoder的专栏 760

javaEE面试-心得-怎么去介绍一个技术点

怎么去介绍一个知识点? 介绍知识的时候,有清晰的思路,能够很好地展示自己。 我们以“你给我介绍一下solr” 主要还是自己需要进行一些简单的总结 1. 干什么的? 化繁为简的介绍一下这个技术是干嘛的 solr是基于Lucene的,主要用作全文检索。 2. 同类型技术 ElasticSearch,这个时候很自然的需要去了解两种技术的简单区别。 ElasticSearchv...

billycoder的专栏 644

JavaEE-模拟面试题目

写了一份模拟面试题目,后期模拟面试,主要从如下问题里面选取,希望同学们做好准备。 java基础 抽问5个左右,可能临场添加其他问题。 1、 List、Set、Map三个接口的区别以及常见子类。 2、 集合排序。 3、 往一个集合里面添加一个集合用什么方法。 4、 字符串如何格式化为日期格式。 5、 String、StringBuffer、StringBuilder区别。 6、 ==和equ...

billycoder的专栏 591

JavaEE-面试-说说设计模式

设计模式 1,设计模式,在面试的时候可能被问到,一般出现在面试的前几个问题,同学们还是能够回答,但是想要回答的更好,这篇文章给你一些参考。 2,很多设计模式我们没有实际的编写经验,但是哪些设计模式在哪些类中哪些框架中被用到,能说出来给人感觉很好。 3,具体设计模式的代码,我这里就没有去贴出来了。 设计模式常见问题 1、 说说你所知道的设计模式。 2、 说说常见的设计模式。 3、 写一个单例。 ...

billycoder的专栏 405
上一篇: JavaEE-面试-redis常见问题-1
下一篇: JavaEE-面试-Solr面试回答思路
billycoder
博客等级 码龄17年 171粉丝 188原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值