面试

面试被问分布式ID怎么办? 滴滴(Tinyid)甩给他

筅森魡賤 提交于 2020-11-13 09:55:46
引言 接着 《一口气说出 9种 分布式ID生成方式,面试官有点懵了》 来继续详细的介绍分布式ID生成器,大家比较感兴趣的 美团(Leaf) 、 滴滴(Tinyid) 、 百度(uid-generator) 三个开源项目,美团(Leaf)已经讲完,详见 《9种分布式ID生成之美团(Leaf)实战》 ,今天结合实战搞一下滴滴开源的( Tinyid )。 Tinyid介绍 Tinyid 是滴滴开发的一款分布式ID系统, Tinyid 是在 美团(Leaf) 的 leaf-segment 算法基础上升级而来,不仅支持了数据库多主节点模式,还提供了 tinyid-client 客户端的接入方式,使用起来更加方便。但和美团(Leaf)不同的是,Tinyid只支持号段一种模式不支持雪花模式。 Tinyid的特性 全局唯一的long型ID 趋势递增的id 提供 http 和 java-client 方式接入 支持批量获取ID 支持生成1,3,5,7,9…序列的ID 支持多个db的配置 适用场景 :只关心ID是数字,趋势递增的系统,可以容忍ID不连续,可以容忍ID的浪费 不适用场景 :像类似于订单ID的业务,因生成的ID大部分是连续的,容易被扫库、或者推算出订单量等信息 Tinyid原理 Tinyid 是基于号段模式实现,再简单啰嗦一下号段模式的原理:就是从数据库批量的获取自增ID

品Spring:对@Autowired和@Value注解的处理方法

安稳与你 提交于 2020-11-13 07:40:02
在Spring中能够完成依赖注入的注解有JavaSE提供的 @Resource 注解,就是上一篇文章介绍的。 还有JavaEE提供的 @javax.inject.Inject 注解,这个用的很少,因为一般都不会去引用JavaEE的jar包。 编程新说注 : JavaEE早已经被Oracle抛弃了。 JavaEE这个名字已经成为历史。 还有两个就是 @Value 和@ Autowired 注解,这可是Spring自己的亲孩子。 所以这两个使用的最多。 虽然注解不一样,但是目的一样,都是用来进行依赖注入,而且Spring处理依赖注入都是用的一个套路。 在上一篇文章中已经说的很详细了,这里再说一遍,就当 巩固 了。 从最 通俗 的角度来说,依赖注入就是这样的: 首先 ,要知道谁需要被注入。 用A表示。 其次 ,要知道把谁注入。 用B表示。 再者 ,从容器中找到它。 用find(B)表示。 最后 ,完成注入动作。 用<-表示。 因此,整个过程可以用一个 式子 表示: A <- find(B) Spring采用的统一方案如下: 1) 找出一个类中需要被注入的元素,其实就是字段和方法,然后使用InjectedElement和InjectionMetadata来表示。 2) 找出需要注入什么类型的对象,其实就是字段类型和方法参数类型,然后使用DependencyDescriptor来表示。 3)

大专生自学iOS到找到工作的前前后后

北慕城南 提交于 2020-11-13 04:36:57
先做个自我介绍,我13年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。13年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。 退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。 一次偶然的机会,我才听到ios这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习ios,然后给我介绍了一下ios现在的火热情况,告诉我学ios多么的有前景,给我了一份传单,ios培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。 回家后,我就上网查了下ios,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学ios了。于是我去找ios培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。 后来,我在百度知道看到一篇让我很鼓舞的文章是一个ios高手介绍没有基础的朋友怎么自学入门学ios,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的

拜登当选,Python之父大喊Yes!吴恩达:让我松了口气!

时间秒杀一切 提交于 2020-11-13 02:35:00
点击上方 蓝字 关注我们 点击上方“ 印象python ”,选择“ 星标 ”公众号 重磅干货,第一时间送达! 金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 今天铺天盖地的一条消息: 多家美国媒体报道: 拜登赢了! 据央视新闻,美联社报道,美国民主党总统候选人 拜登 ,已获得超过270张选举人票。 根据美国大选的选举规则,如果最终结果确认有效,率先获得270张选举人票的总统候选人获胜。 美国有线电视新闻网(CNN)、美国全国广播公司(NBC)和英国广播公司(BBC)等多家外媒也跟上步伐,先后发布了预测,表示拜登当选,当成为美国第46任总统。 除了全球主流媒体对此「迫击炮」式密集报道外,在AI界,亦是如此。 AI大佬们纷纷在社交平台发布消息,表达了自己的看法和态度。 手舞足蹈、欢呼雀跃 Python之父「 龟叔 」 (Guido van Rossum)发表的内容言简意赅,只有一个「Yes」。 但后面的感叹号数量,着实有点多了,仿佛隔着屏幕就能感受到那种咆哮般的力量。 但毕竟是Python之父,网友们的留言成了一道亮丽的风景线。 Import biden as president pip uninstall trump; pip install biden $ sudo reboot whitehouse 这真的很Python了。 深度学习三巨头之一的 LeCun

快码住!128道Python精选面试题(附高清PDF文档)

若如初见. 提交于 2020-11-13 01:22:52
Github上面有很多很多经典的项目,最近看到了一个关于面试题的项目, 作者 kenwoodjw 准备了 200+ 道Python面试题 ,以问答形式展开,大部分问题都 包含了对应解决方案与代码。我个人对里面一些问题进行了增删改,最后留下了128道精选试题,主要为Python基础、高级语句、数据结构等方面的重要知识点,并整理成了PDF便于大家查阅。 获取方式 : 扫描下方二维码并关注公众号 后台回复关键字「 128 」 奶糖猫 不论你是否正在准备面试,我认为这些题目都值得看一看,每天了解几道即可,最好自己实现一下代码,更能加固你的记忆。这些习题可以说基本覆盖了Python常见的知识点,非常适合大家巩固基础、帮助进阶。 很多问题的知识点讲述都比较细致,可以看出作者更想帮助读者深入理解每个问题,而并不是只局限于代码该怎么写。 长按下方图片,关注公众号「奶糖猫」,后台回复关键字「 128 」就可获取128道Python 精选 面试题的高清PDF文档。 奶糖猫 除此之外博主也有Python、Pandas中文文档、机器学习入门礼包等基础类资料,伙伴们如有需要可以添加下面微信。奶糖猫是一个 喜欢数据科学、算法的 大三仔,所以公众号内很多都是此类角度的文章,欢迎关注呀,要是有备考研究生想法的伙伴也可以一起学习交流,这是一个爱交朋友的靓仔。 本文分享自微信公众号 - 机器学习炼丹术

面试管:用了HTTPS就安全了吗?HTTPS 会被抓包吗?

时光毁灭记忆、已成空白 提交于 2020-11-12 14:48:05
来源:http://suo.im/61KOg3 随着 HTTPS 建站的成本下降,现在大部分的网站都已经开始用上 HTTPS 协议。大家都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议相关的概念有 SSL 、非对称加密、 CA证书等,但对于以下灵魂三拷问可能就答不上了: 为什么用了 HTTPS 就是安全的? HTTPS 的底层原理如何实现? 用了 HTTPS 就一定安全吗? 本文将层层深入,从原理上把 HTTPS 的安全性讲透。 HTTPS 的实现原理 大家可能都听说过 HTTPS 协议之所以是安全的是因为 HTTPS 协议会对传输的数据进行加密,而加密过程是使用了非对称加密实现。但其实,HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。 HTTPS的整体过程分为证书验证和数据传输阶段,具体的交互过程如下: ① 证书验证阶段 浏览器发起 HTTPS 请求 服务端返回 HTTPS 证书 客户端验证证书是否合法,如果不合法则提示告警 ② 数据传输阶段 当证书验证合法后,在本地生成随机数 通过公钥加密随机数,并把加密后的随机数传输到服务端 服务端通过私钥对随机数进行解密 服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输 为什么数据传输是用对称加密? 首先,非对称加密的加解密效率是非常低的,而 http

我在MySQL的那些年(一)

生来就可爱ヽ(ⅴ<●) 提交于 2020-11-12 14:45:24
作者 赖铮(Allen Lai) 前MySQL官方团队成员,专注数据库内核开发近二十年,先后就职于达梦,Teradata,北大方正以及MySQL InnoDB存储引擎团队,是达梦数据库内核,方正XML数据库,以及MySQL InnoDB的GIS支持,透明加密功能的主要开发者。现任腾讯TEG云架构平台部数据库团队专家工程师,负责腾讯云MySQL数据库内核的研发。 Part1 相遇 2012年的春天,我正在张江的一栋橙黄色的大楼里,窗外的阳光很好,我跟我的小伙伴们正在一起奋力地敲打着键盘,随着一阵轻柔的电话铃响起,手机屏幕上显示出一个陌生的号码,“是不是又是骚扰电话?”没管他,我接着做自己的事情。但是手机一直在震动着,好像催促着我,我拿起电话接通,那头传来一个非常轻柔而且职业化的女声,“您好,我是Oracle的招聘顾问Amy,请问您现在方便吗…”。 我的职业生涯从此与MySQL发生了交集。 Amy告诉我MySQL InnoDB团队有意在中国招聘合适的数据库内核工程师,问我有没有兴趣加入。MySQL是什么,the world’s most popular open source database,邀请我加入?我想都没想就回答她:“当然有,而且兴趣很大!” Amy是个非常专业的HR,非常有效率的安排了我后面的面试事宜,怀着一丝忐忑和兴奋,我开始了进入MySQL团队的面试。 面试第一轮

面试官问:数据量很大,分页查询很慢,有什么优化方案?

坚强是说给别人听的谎言 提交于 2020-11-12 14:00:39
点击上方蓝色字关注我们~ 来源:cnblogs.com/youyoui/p/7851007.html 准备工作 一般分页查询 使用子查询优化 使用 id 限定优化 使用临时表优化 关于数据表的id说明 当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。 准备工作 为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。 表名:order_history 描述:某个业务的订单历史表 主要字段:unsigned int id,tinyint(4) int type 字段情况:该表一共37个字段,不包含text等大型数据,最大为varchar(500),id字段为索引,且为递增。 数据量:5709294 MySQL版本:5.7.16 线下找一张百万级的测试表可不容易,如果需要自己测试的话,可以写shell脚本什么的插入数据进行测试。以下的 sql 所有语句执行的环境没有发生改变,下面是基本测试结果: select count (*) from orders_history; 返回结果:5709294 三次查询时间分别为: 8903 ms 8323 ms 8401 ms 一般分页查询 一般的分页查询使用简单的 limit

人才测评在人力资源招聘中的应用

只谈情不闲聊 提交于 2020-11-12 13:57:49
人才测评现在是个被广泛接受的用于人力资源招聘中的方式,可以说它给传统意义上的招聘提供了一些科学的参考。 测评的思想可以追溯到古代。被奉为五经之首的儒家典籍《周易》,就提到了多种预测人生命运的方法,如:面相术、骨相术、占星术、八字占卜法等。而早在2000多年前的古希腊,希波克拉底就提出过有名的气质体液说理论:每个人身上都有血液、粘液、黄胆汁和黑胆汁四种体液。后来罗马医生盖伦将希波克拉底的体液说与人的心理特性联系起来,组成13种气质类型。之后简化为现在广为熟知的4种气质类型:即多血质、胆汁质、粘液质和抑郁质。而自1879年德国心理学家冯特设立了世界上第一个心理实验室,开始了对个体行为差异的研究,测评技术真正开始形成和发展,到1950年美国电话电报公司评价中心的建立,人才测评日趋科学和现代化。 现代的人才测评已经突破古人仅限于人才智力方面的选拔,在员工的晋升、招聘、绩效考核、培训和人才规划方面都发挥了重要作用。 人员的招聘孕育着风险,尤其是新的劳动法出来以后,招到合适企业需求和发展的人才是个越来越慎重的问题。吸纳有用的人能给组织带来效益,吸纳平庸的人给组织带来浪费,而吸纳害群之马则会给组织带来损失,英国老牌巴林银行的倒闭就是一个招聘失败的典型案例。人力资源是企业的第一资源,如何从成百上千的候选者找出有用的人才,找出企业的第一资源,有效的人才测评毫无疑问能够为企业带来成倍的效益。

微软最新面经11-11

∥☆過路亽.° 提交于 2020-11-12 13:55:33
今天面完了最后一面,写个 面经 增加人品~ 一面 10.21 自我介绍后面试官给了一题,在本地ide写的 这题别人的 面经 里出现过,大概是中文数字转阿拉伯数字,例如一千一百万零一百 -> 11000100 只写了一题,然后面试官问了不了解进程线程 (不太了解,只知道基本概念 二面 10.21 二面上来就写题,在面试官给的链接里写的,不能断点调试,只能print出来看看 1. 字符串加法,两个字符形式的数字相加,先写了个整数版本的,然后写了个小数版本的 2. 生成一个元素被螺旋形填充的矩阵,e.g. [[1,2,3], [ 8, 9, 4], [7, 6, 5]]. 然后面试官问能不能给定一个坐标i,j,返回矩阵里相应坐标的元素,我想了下只会按照生成方式推算,面试官说有个公式可以做到,把矩阵分成四部分什么什么的,这个问题没让写代码只是问了一下 三面11.3 本来约了10.29,但是时间是我这里的凌晨三点,于是让hr换了个时间 先介绍了 项目 ,然后写了个树的遍历,我问前序中序后序,递归还是迭代,面试官说都行 随后让实现了个字典,磕磕绊绊用列表和 链表 写了个hashmap.... 四面11.10 本来以为还会写题,结果纯聊天,聊了20-30分钟 项目 ,然后问优点缺点,小组里怎么合作啊,偏向工程还是 算法 啊等等 面试官都特别友好,全程没有用英语(可能看我是留学生觉得不用问?)