技术文章

一份还热乎的蚂蚁面经(已拿Offer)!附答案!!

左心房为你撑大大i 提交于 2021-02-18 05:30:03
本文来自我的知识星球的球友投稿,他在最近的校招中拿到了蚂蚁金服的实习生Offer,整体思路和面试题目由作者——泽林提供,部分答案由Hollis整理自知识星球《Hollis和他的朋友们》中「直面Java」板块。 经历了漫长一个月的等待,终于在前几天通过面试官获悉已被蚂蚁金服录取,这期间的焦虑、痛苦自不必说,知道被录取的那一刻,一整年的阴霾都一扫而空了。 笔者面的是阿里的Java研发工程师岗,面试流程是3轮技术面+1轮hr面。 意外的一面 一面的时候大概是3月12号,面完等了差不多半个月才突然接到二面面试官的电话。一面可能是简历面,所以问题比较简单。 ArrayList和LinkedList区别 ArrayList 是一个可改变大小的数组.当更多的元素加入到ArrayList中时,其大小将会动态地增长.内部的元素可以直接通过get与set方法进行访问,因为ArrayList本质上就是一个数组. LinkedList 是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList. 当然,这些对比都是指数据量很大或者操作很频繁的情况下的对比,如果数据和运算量很小,那么对比将失去意义. 什么情况会造成内存泄漏 在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点: 首先,这些对象是可达的,即在有向图中,存在通路可以与其相连

救活我的Win7

荒凉一梦 提交于 2021-02-18 05:29:33
1、装了个Win7旗舰版,某天,正在升级VS2013update2的时候,同时而来的,Win7告诉我试用期只剩三天了。VS2013的“restart system”按钮,我都还没点击下去,转身就直接找来win7的cracker(/其中还回到win7的控制面板上设置“区域和语言”的格式)。破解win7的时候,蒙查查的,我都不记得我选了“安装模式”还是“卸载模式了”。结果,重启之后,黑屏,一个光标在左上角闪啊闪 2、用Win7的安装光盘,启动,repare,从不同的还原点做还原,也是不行 3、从这里 http://doshome.com/yj/a/Down/7.html 弄了个超级急救U盘,从U盘启动,有“Win7/vista/server2008“的选项,进入的就是我以为要丢失的硬盘上的Win7. 4、我总不能每次都要用这个U盘搞啊搞的啊。找到 http://www.howtogeek.com/howto/32523/how-to-manually-repair-windows-7-boot-loader-problems/ ,执行 bootrec /fixmbr & bootrec /fixboot & bootrec /rebuildbcd ,无效。然后干脆 bootsect /nt60 all,也是不行,说什么 Updated NTFS filesystem bootcode.

pkg.go.dev的2020展望

若如初见. 提交于 2021-02-18 05:28:28
在2019年,Go官方启动了名为 go.dev ( https://go.dev)的新域名,这是面向Go开发人员的新Hub。 作为该站点的一部分,还启动了 pkg.go.dev ,这是有关Go package和module的文档中心,旨在取代 godoc.org。在新的一年里,Go team将不断优化pkg.go.dev的体验,以提升开发者的开发效率。 一分钟速读 1. 将godoc.org请求重定向到pkg.go.dev ,并向社区开发者征求反馈意见 2. 回答了开发者比较关心的几个问题: 1. 在迁移过程中,如果 package没有显示在pkg.go.dev 上, 可以通过从proxy.golang.org获取对应版本的module来添加; 2. 开发者的package突然出现 不明的许可证限制 ,不要慌,后面会优化证书检测算法; 3. pkg.go.dev是否会开源?很多公司想搭建自己的代码文档中心,目前这个需求在征求意见可填官方的调查问卷: https://google.qualtrics.com/jfe/form/SV_6FHmaLveae6d8Bn 以下是正文部分 将godoc.org请求重定向到pkg.go.dev 为了减少在过渡的过程中对用户的打扰,我们计划在今年晚些时候将流量从godoc.org重定向到pkg.go.dev上。同时我们需要您的及时意见反馈

数据结构之排序算法(C语言)

早过忘川 提交于 2021-02-18 05:25:00
一.冒泡排序 冒泡排序是最简单的排序之一了,其大体思想就是通过与相邻元素的 比较 和 交换 来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。举个栗子,对5,3,8,6,4这个无序序列进行冒泡排序。首先从前向后冒泡,5和3比较,换数,序列变成3,5,8,6,4。同理5和8比较,不用交换,还是3,5,8,6,4。8和6比较,交换,变成3,5,6,8,4。8最后和4比较,交换,得到3,5,6,4,8。这样一次冒泡就完了,把最大的数8排到最后面了。对剩下的序列依次冒泡就会得到一个有序序列。冒泡排序的时间复杂度为O(n^2)。 代码实现: /* 冒泡排序 */ #include <stdio.h> void bubble_sort( int *a, int len) { int i,j,t; for (i= 0 ;i<len- 1 ;i++) // 整体比较次数 (比如两个数只需要比较一次)所以要减一 for (j= 0 ;j<len-i- 1 ;j++) // 每一次需要哪几个数来比,减掉1个(比如两个数只需要比较一次),再减掉已经排好了的数. if (a[j]>a[j+ 1 ]) { t = a[j]; a[j] = a[j+ 1 ]; a[j + 1 ] = t; } } int main() { int a[ 5 ] = { 5 , 3 , 8 , 6 , 4 };

合肥android培训靠谱吗?选择靠谱安卓培训机构具体标准是什么?

让人想犯罪 __ 提交于 2021-02-18 05:24:42
  android培训培训似乎是近年来IT宠儿们比较主流的选择,无论是一线城市还是二线城市都涌现出众多想要参加android培训的新面孔,今天笔者就帮大家深扒一下合肥android培训机构,选择合肥android培训靠谱吗?如何来选择安卓培训机构?   众多权威媒体都发过近年来高薪排行榜,IT这一块的研发人才薪资确实要比其他智能岗位高出很多,这也是为什么会有很多人会选择进入android开发行列,在合肥可以找到靠谱的android培训机构吗?   合肥android培训靠谱吗?如何来选择安卓培训机构? 这样的事情,笔者还真是不太了解,如果想要学习android开发,笔者建议广大学者最好还是选择一线城市的培训机构会比较好,毕竟一线城市的培训学校实力更强、更专业,学员就业领域比较大,发展前景也相对会更广,笔者知识这样想,但具体的选择权还在你手中。   如何来选择安卓培训机构?有哪些具体标准和讲究呢?   1.品牌背景实力,要从开办年数、教学条件,师资力量等多角度想想。当然这也是衡量android培训机构的一个整体标准,能够从多角度来评判安卓培训机构的实力水平。   2.全日制课时体系,性价比要高,看看总课时数量和教学质量。一般来讲,android培训机构的教学模式为全日制教学,时间为4—6月,这种脱产教学可以帮助学员更快入门android开发行列。   3.课程配置

solr的facet查询

…衆ロ難τιáo~ 提交于 2021-02-18 05:21:43
1、什么是facet? solr将以导航为目的的查询结果称为facet. 它并不会修改查询结果信息, 只是在查询结果上根据分类添加了count信息, 然后用户根据count信息做进一步的查询, 比如淘宝的查询列表中, 上面会表示不同的类目相关查询结果的数量. 比如搜索数码相机, 在搜索结果栏会根据厂商, 分辨率等维度列出, 这里厂商, 分辨率就是一个个facet. 然后在厂商下面会有nikon, canon, sony等品牌, 这个叫约束(constraints) 接下来是根据选择, 列出当前的导航路径, 这个叫面包屑(breadcrumb). solr常见的facet solr有几种facet: 普通facet, 比如从厂商品牌的维度建立fact 查询facet, 比如根据价格查询时, 将根据价格, 设置多个区间, 比如0-10, 10-20, 20-30等 日期facet, 也是一种特殊的范围查询, 比如按照月份进行facet. facet的主要好处就是可以任意对搜索条件进行组合, 避免无效搜索, 改善搜索体验. facet都是在查询时通过参数指定. 比如 在http api中这样写: 引用 "&facet=true&facet.field=manu" . java代码这样写: new SolrQuery("*:*").setFacet(true).addFacetField(

ssh免密码登录

拈花ヽ惹草 提交于 2021-02-18 05:21:12
1.在你的自己的机器下面使用ssh-keygen命令来实现创建公钥 使用 ssh-keygen -t rsa 来创建密钥,程序会问你存放的目录,如果不需要修改,直接回车两次即可 2.将你~/.ssh目录中的id_rsa.pub这个文件拷贝到你要登录的服务器的~/.ssh目录中,然后再运行以下命令来将公钥导入到~/.ssh/authorized_keys这个文件中 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 另外要注意请务必要将服务器上 ~/.ssh权限设置为700 ~/.ssh/authorized_keys的权限设置为600 这是linux的安全要求,如果权限不对,自动登录将不会生效 完毕之后,退出服务器的登录,再使用ssh登录,你就会发现服务器不会再向你询问密码了. 来源: oschina 链接: https://my.oschina.net/u/1018611/blog/131871

微信小游戏和白鹭引擎开发实践

你说的曾经没有我的故事 提交于 2021-02-18 05:20:50
前言 文章按照作者调研和开发顺序初步介绍和理解了微信小游戏和白鹭引擎,并产出了基于白鹭引擎的应用初始化程序 egret-wechat-start 。 以下是正文—— 微信小游戏 官方文档 如何开发和理解微信小游戏,先从官方文档和官方demo入手。 提供一个链接 https://developers.weixin.qq.com/minigame/dev/ ,可以快速浏览一下官方文档再继续看下面的内容。 这里对微信文档做个简单的理解总结,小游戏和小程序很多地方类似,都是提供了同一套微信Api,比如获取用户信息、toast等等,只是有部分提供的api不同。 小游戏对canvas做了封装,通过 wx.createCanvas() 创建画布, getContext 获取对象后,剩下的就是对原生canvas接口的操作了。 理解到这一点之后,我们就会发现小游戏仅仅是封装了下创建画布的接口,剩下的就是用户需要在画布里用原生canvas绘制了,并没有提供其他方便开发的功能。到此我们再看看微信开发者工具创建小游戏项目时,初始化的一个飞机游戏的demo。 是如上图的一个很简单的游戏,说下这个游戏的大致实现逻辑: 1. 绘制游戏区域,背景图片 2. 创建敌机对象,用户飞机对象,子弹对象 3. 控制3种对象载入画布和位置改变,控制背景图片移动,添加音效 4. 判断子弹碰撞,机身碰撞,并且生成对应结果

使用PyTorch对音频进行分类

百般思念 提交于 2021-02-18 05:18:21
作者 | Aakash 来源 | Medium 编辑 | 代码医生团队 什么是分类问题? 对对象进行分类就是将其分配给特定的类别。这本质上是一个分类问题是什么,即将输入数据从一组这样的类别,也称为类分配到预定义的类别。 机器学习中的分类问题示例包括:识别手写数字,区分垃圾邮件和非垃圾邮件或 识别核中的不同蛋白质 。 https://www.kaggle.com/c/jovian-pytorch-z2g 使用的数据集 为了演示分类问题的工作原理,将使用 UrbanSound8K数据集 。该数据集包括 10 种类别的城市声音:空调,汽车喇叭,儿童游戏,狗吠,钻探, enginge_idling , gun_shot ,手提钻,警笛和 street_music 。 https://urbansounddataset.weebly.com/urbansound8k.html 目的是将数据提供给模型(目前可以将其视为黑匣子),并确定模型预测的准确性。 数据集的结构 该数据集可以作为压缩包使用,大小约为 5.6GB 。与某些机器学习数据集不同,此特定数据集中的音频数据与元数据文件夹一起存在于 10 个不同的文件夹中,元数据文件夹包含名为“ UrbanSound8K.csv ”的文件。 D:\DL\ZEROTOGANS\06-URBAN8K-CLASSIFICATION\DATA

spring mvc统一异常处理(@ControllerAdvice + @ExceptionHandler)

两盒软妹~` 提交于 2021-02-18 05:00:50
spring mvc统一异常处理(@ControllerAdvice + @ExceptionHandler) 参考文章: (1)spring mvc统一异常处理(@ControllerAdvice + @ExceptionHandler) (2)https://www.cnblogs.com/chihirotan/p/5990742.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4437974/blog/4953499