面试

linux面试必问

时光怂恿深爱的人放手 提交于 2021-01-07 18:43:47
一linux7种文件类型 - 普通文件 d 目录文件 l 链接文件 b 块设备 c 字符设备 p 管道文件 s 套接字文件scoket 来源: oschina 链接: https://my.oschina.net/u/4367530/blog/4883529

面试之加分项java类与实例

最后都变了- 提交于 2021-01-07 18:41:58
最近在看设计模式,感觉自己对java的三大特性的理解不够清晰,搞不清楚抽象类、接口、泛型的用处和优缺点。设计模式学了一半,想着还是停下来脑补一下java的基础,就从java对象开始吧。 一、java对象 记得刚开始学java对象的时候,老师给我们解释说“一切事物皆为对象”,即所有东西都是对象,对象就是可以看得到、感觉到、听到、触摸到、尝到、或者闻到的东西。准确地说,对象是一个自包含的实体,用一组可识别的特性和行为来标识。 二、java类 要解释java的类,我们先从一个小例子开始,生活中天气预报是我们经常关注的,把天气预报抽象成一个对象,它可能会有温度、湿度等信息,代码如下: //温度 private int temperature; //湿度 private int humidity; public int getTemperature() { return temperature; } public void setTemperature(int temperature) { this.temperature = temperature; }//加入Java开发交流君样:756584822一起吹水聊天 public int getHumidity() { return humidity; } public void setHumidity(int humidity) {

知乎热搜!如何看待年仅 28 岁的郭宇宣布从字节跳动退休?

余生长醉 提交于 2021-01-07 11:14:05
点击蓝色“ 程序员书单 ”关注我哟 加个“ 星标 ”, 每天带你 看好文,读好书! 新智元报道 来源:知乎 编辑:梦佳、永上 【新智元导读】 最近28岁程序员郭宇宣布退休上了知乎热搜。郭宇是谁?高考后自学编程,非计算机专业出身,曾入职支付宝,2014年加入字节跳动,28岁实现财富自由提前退休,旅居日本经营温泉酒店。彪悍的人生不需要解释。 你的28岁在干嘛?硕士毕业?苦苦等待一份大厂的offer? 而有的人,28岁,已经光荣退休了。 「如何看待年仅28岁的郭宇宣布从字节跳动退休?」又挂上了知乎热榜。 这位大神是谁,于是和每一个羡慕嫉妒恨的围观群众一样,小编查了他微博。 他在2月份的置顶微博里写道,「 我选择在 28 岁的末尾退休,拥抱山间清泉与峡谷的风,去感受春秋冬夏。有缘人自会再相逢,朋友,愿我们在更广阔的世界再会! 」 90后的他对日本有特殊的情结,据说退休前就去了100多次。字节跳动实行双周末制,他上班之余每个双周末会飞去日本,在那里旅游、投资房产、经营旅行社。 据传他现在在日本各地有多处房产,国内开保时捷718上下班,去日本后开的宾利欧陆。 然而,在「退休」后的微博里,他却鲜少炫富,分享的大多是东京美景和人生感悟。 他的微博简介里写着,株式会社山月夜 代表取缔役社长/住过150+个日本温泉乡/100万公里飞行进度86.5%/程序员/原字节跳动资深技术专家。 郭宇的代步工具

同城异地灾备

老子叫甜甜 提交于 2021-01-07 10:35:59
序言 同城异地灾备,主要是用来进行备份容灾的,从而当一个数据中心挂了,另外一个数据中心经过切换之后,能让服务迅速的恢复。 同城双活,则是基于多机房的情况下,流量经过双机房,一个机房挂掉,完全不影响业务。 微风浮起,吹动星空一缕轻云 很正经的吹牛逼 从网络的层面来说,单个机房的存在是一个单点故障,因为一个机房宕机,那么业务立刻中断,从而无法进行升级。 云服务,最重要的就是可扩展性,而什么版本支持扩展。。。从集群的角度来进行扩展。。。 从最开始,业务不断的发展,各种流量拥上来,导致业务的吞吐量的剧增,从而促使底层的技术要不断的进行扩展,从而云平台的版本是否支持,必须要进行升级。。。 随着业务的进一步发展,需要提供高可用水平,从而需要从单机房扩展为多机房,从而也就有了同城容灾。。。 对于运维来说,多一次升级,多一次变更,就会多一个故障,多一个锅。。。大家排排坐,每个人分一点。。。热升级了解一下,不可预知的中断了解一下 同城异地最关键的点在于存储,存储如何跨机房使用,从而分为几个方面进行探讨: 1、 DNS解析 在业务大量使用DNS解耦的时候,而且使用双机房的时候,那么就必然需要DNS具有一定的智能化,从而就有anycast类型的DNS,所谓的anycast类型的DNS,也就是能返回客户端最短路径的IP地址,从而让用户使用更少的时间得到需要访问的IP地址。 换一种解释的方法就是

MySQL单列索引和组合索引(联合索引)的区别详解

百般思念 提交于 2021-01-07 10:35:40
发现index merge局限性,优化器会自动判断是否使用 index merge 优化技术,查询还是需要组合索引 【推荐阅读: 对mysql使用索引的误解 】 MySQL单列索引和组合索引(联合索引)的区别详解 初始我写这篇文章的原因在于面试到一家大的游戏公司的时候,一个面试题 大致的内容是怎么加速这个where a=’1′ 和 where a=’1′ and b=’2′,当时我答题的时候回答的是a加索引,a和b加联合索引。 面试官跟我聊题目的时候说 where a=’1′ and b=’2′ 在加一个b的索引就好了,因为之前加过a的单列索引了,他很确定的告诉我,因为我没有测试过,所以没有反驳。在回去的路上我一直想不通,多个单列的索引和联合索引都一样的速度,联合索引还有什么用? 今天有空来做个试验,当然之前我已经查过资料了,为了确定一下 创建一个users表 CREATE TABLE `users` ( `userID` int ( 11 ) NOT NULL AUTO_INCREMENT , `userName` varchar ( 20 ) NOT NULL , `password` varchar ( 20 ) NOT NULL , PRIMARY KEY ( `userID` ) ) 创建一个genUsers存储过程,用来模拟数据 delimiter $ create

SpringBoot 精髓之 SpringBoot-starter

僤鯓⒐⒋嵵緔 提交于 2021-01-07 09:02:13
背景 在互联网发达的今天,容器化和微服务化是一种潮流,已经不是趋势了,而是潮流。不管是出去面试还是自己日常项目开发,容器化可能还没普及,但是微服务化是不能缺少的。在微服务如此盛行的天下,Spring Clound 已经很流行了,作为 SpringCloud 的基石 SpringBoot 自然也是不容忽视。关于 SpringBoot 我们 Java 极客技术团队专门为知识星球的用户制作了一套视频教程,视频已经发布了几章了,还在持续更新中,欢迎大家到知识星球中学习,进入知识星球后请记得发帖要机器码哦。这篇文章我们先了解一下SpringBoot Starter,SpringBoot 的 Starter 我们可以说是天天都在用,但是到底什么是 Starter,如何自己编写一个 Starter 呢?这篇文章我们来一探究竟。 SpringBoot-Starter 什么是 Starter 我们先看下官方是咱们定义 Starter 的,如下 Starters are a set of convenient dependency descriptors that you can include in your application. 意思是说 Starters 是一组可以让你很方便在应用增加的依赖关系描述符的集合。或者可以这样理解,平时我们开发的时候很多情况下都会有一个模块依赖另一个模块

拿到这份“小抄”,字节面试妥了

早过忘川 提交于 2021-01-07 08:43:31
说来刺激,KK靠“作弊”拿到了字节offer。 这源于他在 《九章算法班》 拿到的一份 算法小抄 ,里面有各种 算法解题模板 。 刷题3遍,不如九章算法“模板”过一遍 在字节面试中,KK遇到了一道他在 《九章算法班 2020版》 看到过的 原题 。 主讲老师令狐冲说,这题近半年在字节跳动算法面试环节 出现频率高达10次以上 。 当时还不相信,没想到真的有狗屎运。立马套用了令狐冲老师的“万金油” 解题模板 秒掉了 。 扫二维码, 免费报名, 获取 更多模板 👇 用九章算法模板写的Code BATJ算法【小抄】免费领取 BATJ一线大厂算法小抄,拉到文末免费领取: 算法和数据结构的使用条件、复杂度、万用模板 BATJ等互联网大厂适用,上岸快人一步 算法面试“作弊”解法 切勿盲目刷题,这些题不考 算法≠算法面试 ,内容那么多,常考的却不多,很多同学明明刷了500+的题,但面试中依然跪,主要就是没刷到重点。 为了让大家更有针对性、更高效的去刷题,《九章算法班》的令狐冲老师已经划分好了大厂面试中 最常考的算法和数据结构 , 颜色越红考的越多,灰色的不考或者出现的概率低于千分之一。 以上仅为部分算法和数据结构 押高频题,刷这100道就够了! 国内大厂无一不以算法为最主要的面试考核点。五轮面试,至少有四轮在考算法。 如果你想在短期内突击算法面试,一定得看看令狐老师总结的 《算法面试精选100题

面试官:谈一下你对DDD的理解?我:马什么梅?

China☆狼群 提交于 2021-01-07 08:19:39
领域模型(domain model)是对领域内的概念类或现实世界中对象的可视化表示。领域模型也称为概念模型、领域对象模型和分析对象模型。 ——《UML和模式应用》 我们在日常开发中,经常针对一些功能点争论“这个功能不应该我改,应该是你那边改”,最终被妥协改了之后都改不明白为什么这个功能要在自己这边改。区别于传统的架构设计,领域驱动设计(DDD)也许在这个时候能帮助你做到清晰的划分。 什么是DDD 领域驱动设计最初由Eric Evans提出,但是多年以来一直停留在理念阶段,真正能实现并且落地的项目和公司少之又少,而进来阿里内部其实在大力推行DDD的理念,它主要可以帮助我们解决传统单体式集中架构难以快速响应业务需求落地的问题,并且针对中台和微服务盛行的场景做出指导。 DDD为我们提供的是架构设计的方法论,既面向技术也面向业务,从业务的角度来把握设计方案。 DDD的作用 统一思想 :统一项目各方业务、产品、开发对问题的认知,而不是开发和产品统一,业务又和产品统一从而产生分歧。 明确分工 :域模型需要明确定义来解决方方面面的问题,而针对这些问题则形成了团队分钟的理解。 反映变化 :需求是不断变化的,因此我们的模型也是在不断的变化的。领域模型则可以真实的反映这些变化。 边界分离 :领域模型与数据模型分离,用领域模型来界定哪些需求在什么地方实现,保持结构清晰。 DDD的概念 实体

java字符串操作扩充-灵活截取字符串

故事扮演 提交于 2021-01-07 07:50:46
public class StringUtil { static int varlen1; static int varlen2; static String varstr1; static String varstr2; static String varstr3; public static String indexOf(String sourceStr,String indexStr,int indexNum){ /** * 原始字符串:sourceStr * 索引字符串:indexStr * 固定字符串截取后索引次数的indexNum * * indexOf("ws++rq++sl++dl","++",4) * 结果:dl */ varlen1 = sourceStr.length(); varlen2 = indexStr.length(); int i=0;//字符串下标 int n=0;//某字符串在指定字符串中的个数 int m=0; int x=0; while (i< varlen1){ varstr1 = sourceStr.substring(i, i);//substr(sourceStr,i,1); varstr2 = indexStr.substring(1,1);//获取指定用于截串的字符串的第一个字符 if(varstr1.equals

GET和POST的区别

核能气质少年 提交于 2021-01-07 05:54:49
对比GET与POST。 1. 前言 最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的区别。 2. 标准答案 在开撸之前吗,让我们先看一下标准答案长什么样子 w3school: GET 对比 POST 。标准答案很美好,但是在面试的时候把下面的表格甩面试官一脸,估计会装逼不成反被*。 分类 GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。 书签 可收藏为书签 不可收藏为书签 缓存 能被缓存 不能缓存 编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。 历史 参数保留在浏览器历史中。 参数不会保存在浏览器历史中。 对数据长度的限制 是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 无限制。 对数据类型的限制 只允许 ASCII 字符。 没有限制。也允许二进制数据。 安全性 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分