首页 文章 精选 留言 我的

精选列表

搜索[快速开发平台],共10000篇文章
优秀的个人博客,低调大师

3年Java开发10面阿里、京东、拼多多

拼多多 地点:2号线娄山关路地铁站(金虹桥国际中心)环境:新的写字楼,环境很好,有种高大上的感觉。大厅进入后需要登记,然后进闸机。电梯是需要刷卡才能使用的。会议室都是用城市名称命名,例如杭州、香港等,每个会议室都配了很多纯净水等,感觉不差钱。约的是晚上面试,所以正好碰到员工吃饭时间,感觉就像赶集一样,人特别多,11 11 6的作息时间你懂得。面试流程:前台登记,填写个人信息表,然后等面试官,面试流程是2轮技术面试+HR面试,其中两轮技术面试分业务面试+技术问题面试。业务面试问的问题基本是围绕当前做过的项目为例,一些实际问题的处理方式,例如分布式事务如何保证。技术面试基本是围绕java技术和中间件的原理实现。另外可能会有算法题。整体评价:拼多多的氛围感觉像打了鸡血一样,很有激情的一个公司。唯一在公司门口有保安的。难度级别:四星 京东到家 地点:4号线杨树浦路地铁站(东方渔人码头国际中心),下地铁后需要步行20-30分钟,骑单车要5分钟左右。说实话有点不方便。环境:东方渔人码头国际中心写字楼,公司装修比较新,环境是互联网公司的简约风格。投递方式:猎头推荐面试流程:前台登记,填写个人信息,等面试官。面试分二轮技术面试+HR面试。两轮技术面试应该是部门交叉面试,基本都是分两部分,第一部分是当前做过的项目的技术架构,详细介绍同时一些问题的处理方式。第二部分是围绕当前主流的一些中间件的实现原理,例如zookeeper实现原理、redis集群等。问题难度一般,最后可能会写一个基本算法,例如arrayList的实现。HR面试是聊个人职业规划,谈薪等。整体评价:公司感觉比较新,应该是刚搬过去不久,公司氛围也是偏互联网化,加班情况属于一般。业务发展目前看应该属于一个上升期吧。没有亮点,也没有缺点。难度级别:四星 欢迎关注我的公中浩【程序员追风】,文章都会在里面更新,整理的资料也都会放在里面。 蚂蚁金服 地点:电话面试环境:无面试流程:蚂蚁的整个面试流程,基本是分四轮,其中三轮技术面试+HR面试。前两轮基本是电话面试,第三轮有可能是电话,也可能去现场面试,看情况。基本第一、二轮面试会针对技术、业务全面展开,技术问题会比较深入,技术的实现原理,一些使用场景等。业务方面会针对一个你当前做过的项目举例,然后围绕这个项目的一些问题点,逐个追问,遇到的问题,使用的解决方案,有没有更好的优化方案等。基本是由浅入深、环环相扣。整体评价:蚂蚁面试是这几家公司面试中,问题算比较难的一个,而且深度会比较深一些。难度级别:五星 最后欢迎大家一起交流,喜欢文章记得点个赞哟,感谢支持!

优秀的个人博客,低调大师

七牛云存储开发图片上传功能

1、注册登录七牛云,并实名认证,对象存储控制台,新增bucket存储空间 2、nodejs服务器安装npm install qiniu --save const common = require('../../lib/common.js') const qiniu = require('qiniu') let niu = {} niu.errorHandler = common.errorHandler niu.createToken = function(req, res, next) { let result = req.body.result var accessKey = common.config.qiniuAccessKey var secretKey = common.config.qiniuSecretKey var mac = new qiniu.auth.digest.Mac(accessKey, secretKey) var options = { scope: 'images', // 创建好的bucket expires: 3600 // 过期时间 单位s } var putPolicy = new qiniu.rs.PutPolicy(options) var uploadToken=putPolicy.uploadToken(mac) result.qiniu = uploadToken return common.send(req, res, {status: 0, msg: '登录成功!', data: result}) } module.exports = niu 通过以上方法生产客户端上传图片需要用的token 3、客户端安装npm install qiniu-js --save confirm() { let formData = new FormData(this.$refs.form.$el) let file = formData.get('file') let key = file.name let putExtra = { mimeType: ['image/png', 'image/jpeg'] || null // 前端校验图片格式 } console.log(file) var observable = qiniu.upload(file, key, this.token, putExtra) var observer = { next(res) { console.log(res) }, error(err) { console.log(err) }, complete(res) { console.log(res) } } var subscription = observable.subscribe(observer) // 上传开始 console.log(subscription) // // or // var subscription = observable.subscribe(next, error, complete) // 这样传参形式也可以 // subscription.unsubscribe() // 上传取消 } observer的参数注释 next: 接收上传进度信息,res 参数是一个带有 total 字段的 object,包含loaded、total、percent三个属性,提供上传进度信息。 total.loaded: number,已上传大小,单位为字节。 total.total: number,本次上传的总量控制信息,单位为字节,注意这里的 total 跟文件大小并不一致。 total.percent: number,当前上传进度,范围:0~100。 error: 上传错误后触发,当不是 xhr 请求错误时,会把当前错误产生原因直接抛出,诸如 JSON 解析异常等;当产生 xhr 请求错误时,参数 err 为一个包含 code、message、isRequestError 三个属性的 object: err.isRequestError: 用于区分是否 xhr 请求错误;当 xhr 请求出现错误并且后端通过 HTTP 状态码返回了错误信息时,该参数为 true;否则为 undefined 。 err.reqId: string,xhr请求错误的 X-Reqid。 err.code: number,请求错误状态码,只有在 err.isRequestError 为 true 的时候才有效,可查阅码值对应说明。 err.message: string,错误信息,包含错误码,当后端返回提示信息时也会有相应的错误信息。 complete: 接收上传完成后的后端返回信息,res 参数为一个 object, 为上传成功后后端返回的信息,具体返回结构取决于后端sdk的配置,

优秀的个人博客,低调大师

C#开发中使用委托的作用和好处

先看概念,什么是委托? 从程序的角度来讲:你就可以把委托看成是用来执行方法(函数)的一个“指针” 通俗的说就是:通过委托,我们可以把方法当成参数传递。 这里我举个例子:“设想,如果我们写了一个厨师做菜的方法,里面有拿菜、切菜、配菜、炒菜四个步骤,但编写此方法代码的人想让配菜这个环节让调用方法的人来实现,换句话说,就是想把方法作为参数来传递,那么怎么来实现呢? 方法1:使用接口,这里不是我们讨论的。 方法2:使用委托、微软为我们提供了一个叫做委托的类型,委托允许我们把一个方法当成参数传递。委托的定义 就上面的例子,拿菜、切菜、配菜、炒菜我们定义4个方法,抽象成一个做菜类(ZuoCai.cs)。 public class ZuoCai { //定义一个做菜的委托 public delegate void ZuoCaiDelegate(); /// 拿菜方法 public void NaCai() { Console.WriteLine("A负责拿菜!"); } /// 切菜方法 public void QieCai() { Console.WriteLine("B负责切菜!"); } /// 配菜方法 public void PeiCai() { Console.WriteLine("C负责配菜!"); } /// 炒菜方法 public void ChaoCai() { Console.WriteLine($"D负责炒菜!"); } /// 开始做菜的方法 /// <param name="zuoCaiDelegate">委托作为参数传递</param> public void StartZuoCai(ZuoCaiDelegate zuoCaiDelegate) { zuoCaiDelegate(); } } 委托通过关键词delegate来定义,如下: //定义一个做菜的委托 public delegate void ZuoCaiDelegate(int number); 当然在c#4.0后,微软为我们简化了委托的定义,帮我们定义了Action和Func两种委托类型,但是原理都是通过delegate来实现,这里不跑题,有兴趣的关注我的其他章节。 定义了委托后,如何使用委托呢,委托要使用,必须实例化,如下: //实例化一个做菜类 ZuoCai zuoCai = new ZuoCai(); //实例化一个做菜的委托 ZuoCaiDelegate zuoCaiDelegate = new ZuoCaiDelegate(zuoCai.NaCai); //把多个方法绑定到委托上。 zuoCaiDelegate += zuoCai.QieCai; zuoCaiDelegate += zuoCai.PeiCai; zuoCaiDelegate += zuoCai.ChaoCai; 委托可以绑定多个方法,支持+=(添加方法)和-=(取消方法),上面的定义就是将做菜的4个方法按顺序绑定在委托上,执行时候也是按顺序执行。委托的使用 今天开店后,接了一个客户,然后店长安排做菜,如下。 public void Main() { //实例化一个做菜类 ZuoCai zuoCai = new ZuoCai(); //实例化一个做菜的委托 ZuoCaiDelegate zuoCaiDelegate = new ZuoCaiDelegate(zuoCai.NaCai); zuoCaiDelegate += zuoCai.QieCai; zuoCaiDelegate += zuoCai.PeiCai; zuoCaiDelegate += zuoCai.ChaoCai; //开始做菜 zuoCai.StartZuoCai(zuoCaiDelegate); } 运行后结果如下: 忽然来了一个湖南的湘妹子客户,要求配菜时候多放点辣椒,怎么办呢? 方法1:店长要求改写ZuoCai类中的PeiCai方法。 如果又来了一个广东的客户,要求放点糖,难道又要改方法吗?如果很多各种各样需求的用户,都要靠改动原有的方法来实现,这个显然不合理的,违法了设计模式中的开闭原则。 方法2:店长要求在调用地方重新添加一个配菜方法(对扩展开放),这个是合理的建议,如下: /// 配菜方法,加辣 void PeiCaiJiaLa() { Console.WriteLine("C负责配菜,要求多方点辣椒!"); } 只需要把调用方的 zuoCaiDelegate += zuoCai.PeiCai; 改为 zuoCaiDelegate += PeiCaiJiaLa; 完整代码如下: //实例化一个做菜类 ZuoCai zuoCai = new ZuoCai(); //实例化一个做菜的委托 ZuoCaiDelegate zuoCaiDelegate = new ZuoCaiDelegate(zuoCai.NaCai); zuoCaiDelegate += zuoCai.QieCai; zuoCaiDelegate += PeiCaiJiaLa; //改为新定义的方法 zuoCaiDelegate += zuoCai.ChaoCai; //开始做菜 zuoCai.StartZuoCai(zuoCaiDelegate); 运行结果如下: 上面的例子很清晰的演示了方法如何作为参数传递给另外一个方法,希望对大家有帮助。 欢迎大家转发,如需要了解更多前端和后端的编程技巧,可以关注我后续的文章

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册