如题, 你知道字典KEY对应的Value什么时候被覆盖了吗?今天我们聊这个刚性需求. 前文提要: 数据获取组件维护了业务方所有(在用)的连接对象,DBA能在后台无侵入的切换备份库. 上文中:DBA在为某个配置字符串切换新的连接信息时,SDK利用ClearPool(DBConnection conn)清空与这个连接相关的连接池. 清空的时机: 维护在用连接的字典键值发生变更. 今天本文就来实现一个带值变更通知能力的字典. 编程实践 关键字: 变更 通知 字典 using System; using…
如果面试官问你:你了解 Java 内存模型吗? 你就可以使用这张图,按照这张图中的顺序和面试官开聊,正常情况下,聊一个小时是差不多的,这个时候,对你的处境是非常有益的,因为面试官的时间不多了.…
  曾经有这么一道面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么? 相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式.什么顺序.建立了多少连接.使用什么协议被下载下来的呢?   要搞懂这个问题,我们需要先解决下面五个问题: 现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开? 一个 TCP 连接可以对应几个 HTTP 请求? 一个 TCP 连接中 HTTP 请求…
在 Sass 的混合宏中,还可以给混合宏的参数传一个默认值,例如: @mixin border-radius($radius: 3px) { -webkit-border-radius: $radius; border-radius: $radius; } 在混合宏“border-radius”传了一个参数“$radius”,而且给这个参数赋予了一个默认值“3px”. 在调用类似这样的混合宏时,会多有一个机会,假设你的页面中的圆角很多地方都是“3px”的圆角,那么这个时候只需要调用默认的混合宏“…
作者:松若章 https://zhuanlan.zhihu.com/p/61423830 一道经典的面试题是从 URL 在浏览器被被输入到页面展现的过程中发生了什么,大多数回答都是说请求响应之后 DOM 怎么被构建,被绘制出来. 但是你有没有想过,收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式.什么顺序.建立了多少连接.使用什么协议被下载下来的呢? 要搞懂这个问题,我们需要先解决下面五个问题: 现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?…
曾经有这么一道面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么? 相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式.什么顺序.建立了多少连接.使用什么协议被下载下来的呢? 要搞懂这个问题,我们需要先解决下面五个问题: 现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开? 一个 TCP 连接可以对应几个 HTTP 请求? 一个 TCP 连接中 HTTP 请求发送可以…
Java技术栈 ,一般把连接数设置得大一些). 并发量:同一时刻数据库服务器处理的请求数量 3.超高的 CPU使用率:CPU资源耗尽出现宕机. 4.磁盘 IO:磁盘 IO性能突然下降.大量消耗磁盘性能的计划任务.解决:更快磁盘设备.调整计划任务.做好磁盘维护. 1.3 网卡流量:如何避免无法连接数据库的情况 1.减少从服务器的数量(从服务器会从主服务器复制日志) 2.进行分级缓存(避免前端大量缓存失效) 3.避免使用 select 进行查询 4.分离业务网络和服务器网络 1.4 大表带来的问题(…
[z]https://juejin.im/post/5c0e47ebf265da614e2be9a7 一.写在前面 最近收到不少读者反馈,说自己在应聘一些中大型互联网公司的Java工程师岗位时遇到了不少困惑. 这些同学说自己其实也做了精心准备,网上搜集了不少Java面试题,然而实际去互联网公司面试才发现,人家问的,和你准备的东西,对不上号,这就很尴尬了... 因此,从这篇文章开始,笔者准备写一个长期连载的系列:<Java进阶面试系列>.主要跟大家聊聊中大型互联网公司Java面试中的一些热门.高…
原文地址:http://rainykane.cn/2019/09/29/与K_K君一起攻略前端面试官(一):JS的数据类型和内存机制浅析/ 背就完事了 介绍:一些知识点相关的面试题和答案 使用姿势:看答案前先尝试回答,看完后把答案收起来检验成果~ 问:JS有哪些数据类型 答:JS有七种数据类型,分别是Number.String.Boolean.Null.Undefined.Symbol.Object.其中Object是引用数据类型,其他都是值类型(基本数据类型).引用数据类型又细分为Functi…
写在前面 最近,一位读者出去面试前准备了很久,信心满满的去面试.没想到面试官的一个问题把他难住了.面试官的问题是这样的:如何使用Spring将Service注入到Servlet中呢?这位读者平时也是很努力的,看什么源码啊.多线程啊.高并发啊.设计模式啊等等.没想到却在一个很简单的问题上栽了跟头,这就说明学习知识要系统化,要有条理,切忌东学一点,西记一点,否则,到头来,啥也学不到. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-an…
关于“ACM” fender0107401 :面试了一个在ACM拿过奖的人 我问了他几个问题: 读取数组中的一个元素,计算复杂度是多少,回答不清楚. 往链表里面存一个数,不排序的情况下,计算复杂度是多少,回答不清楚. vector和array有什么区别,回答不清楚. hash table是什么,回答不清楚. 后来这货有点慌了,开始跟我扯ACM主要是搞什么动态规划,优化程序的复杂度的. 我心想,搞个毛啊,就这几个基础中的基础都不知道,还扯什么啊. 上次还面试过一个名校的软件工程专业的高材生.我问他…
前言: 知己知彼.百战不殆,面试也是如此. 只有充分了解面试官的思路,才能更好地在面试中充分展现自己. 今天,阿里高级技术专家将分享自己作为面试官的心得与体会.如果你是面试者,可以借此为镜,对照发现自己的长处与不足,有针对性学习成长:如果你是面试官,相信也能通过他的讲述,有所启发. 招聘是团队管理者工作中的重要一环.本文会结合自己亲身经历以及接受的招聘培训,综合分析怎么找到我们要的人,也希望可以通过招聘这面镜子照亮自己,怎样成为一个更好的工程师. 招聘的目的 当今社会,技术已经成为影响商业成功的…
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源,有面试点思维导图,欢迎[Star]和[完善] 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难. 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚(请允许我使用一下夸张的修辞手法). 于是在一个寂寞难耐的夜晚,我痛定思痛,决定开始写<吊打面试官>系列,希望能帮助各位读…
目录 1. LRU 缓存介绍 2. ConcurrentLinkedQueue简单介绍 3. ReadWriteLock简单介绍 4.ScheduledExecutorService 简单介绍 5. 徒手撸一个线程安全的 LRU 缓存 5.1. 实现方法 5.2. 原理 5.3. put方法具体流程分析 5.4. 源码 6. 实现一个线程安全并且带有过期时间的 LRU 缓存 最近被读者问到"不用LinkedHashMap的话,如何实现一个线程安全的 LRU 缓存?网上的代码太杂太乱,Guide哥…
一个HashMap能跟面试官扯上半个小时 <安琪拉与面试官二三事>系列文章 一个HashMap能跟面试官扯上半个小时 一个synchronized跟面试官扯了半个小时 一个volatile跟面试官扯了半个小时 <安琪拉教鲁班学算法>系列文章 安琪拉教鲁班放技能之动态规划 前言 HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础. 开场 面试官: 你先自我介绍一下吧! 安琪拉: 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)…
背景 首先介绍一下自己的情况.目前所在的是一家小的创业公司,待了5年多,薪资一般吧.由于这几年公司也在转型.工作经历大概可以分为 3 个阶段. 第一阶段是从进公司开始做 android app 开发,无论是外包或者公司的主力产品都做过. 第二阶段是做 ROM 开发,由于公司规模不大,除了硬件和底层的东西外,基本上是一个人负责了整个 ROM 的修改,编译,发布(基于 MTK 的某一个 rom,然后做一些 android framework 层面上"奇奇怪怪"的定制). 第三阶段,也就是当…
大家好,我是程序员啊粥. 今天给大家分享一个我遇到过的比较少见的面试题,那就是 MySQL 中如何计算一个索引的长度. 说实话,我第一次遇到这个问题的时候想当然的以为索引长度就是我们建表时定义的字段长度,如果是联合索引,那就是多个字段长度相加. 事实证明,在我说出上述回答之后,面试官就让我带着简历跑路了. 于是乎,我仔细查阅了相关资料,发现索引长度这个计算方式还是有点意思的,索性给大家分享一下. 首先,我们要知道 MySQL Innodb 引擎对于索引的长度是有限制的,最大为 767 字节. 你…
摘自:https://www.cnblogs.com/qiaogeli/p/12004962.html 程序员乔戈里 腾讯面试官问我Java中boolean类型占用多少个字节?我说一个,面试官让我回家等通知 本文首发于微信公众号:程序员乔戈里 什么是boolean类型,根据官方文档的描述: boolean: The boolean data type has only two possible values: true and false. Use this data type for simp…
本文首发于微信公众号:程序员乔戈里 public class testT { public static void main(String [] args){ String A = "hi你是乔戈里"; System.out.println(A.length()); } } 以上结果输出为7. 小萌边说边在IDEA中的win环境下选中String.length()函数,使用ctrl+B快捷键进入到String.length()的定义. /** * Returns the length…
二哥,好久没更新面试官系列的文章了啊,真的是把我等着急了,所以特意过来催催.我最近一段时间在找工作,能从二哥的文章中学到一点就多一点信心啊! 说句实在话,离读者 trust you 发给我这段信息已经过去 1 周时间了.不是我怠慢,确实是可更新的内容实在是太多了.这不,又有两个读者不约而同地要求我更新一下 Java 到底是值传递还是引用传递方面的文章--其实这个问题我之前是写过的,但现在看起来答案似乎不够尽善尽美,所以打算以面试的角度重写一篇. 七年前,我从温和湿润的苏州回到古色古香的洛阳,抱着…
点赞再看,养成习惯,微信搜索[三太子敖丙]关注这个互联网苟且偷生的工具人. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. Volatile可能是面试里面必问的一个话题吧,对他的认知很多朋友也仅限于会用阶段,今天我们换个角度去看看. 先来跟着丙丙来看一段demo的代码 你会发现,永远都不会输出有点东西这一段代码,按道理线程改了flag变量,主线程也能访问到的呀? 为会出现这个情况呢?那我们就需要聊一下另外一个…
程序员面试时都考些什么? 一个面试官得意洋洋地说自己面了一个百度T7,出了一道coding题,结果对方连最长上升子序列都写不出来.   楼主本想嘲弄一下百度T7的代码水平低,没想到网友们炸开了锅,纷纷diss他出的这道题毫无意义,这样面试只能招到应付考试的人,错过合适的人选.一句话,面试官水平太低!                 还有人挖苦楼主,难道你工作中会天天用到这些东西?     楼主很不服气,回怼:T7连这个都不会,和应届生有什么区别?   一个百度员工说,就算考robin二分查找,他…
导读 作为一个后端程序员,数据库这个东西是绕不开的,特别是写sql的能力,如果您参加过多次面试,那么一定会从面试复盘中发现面试官总是会考察到sql优化这个东西. 我在之前的多次面试中最常遇到的一个问题的sql优化,不论是大厂还是小厂.但我之前没有详细去了解过这些东西啊,我就瞎鸡儿吹了,毕竟我也干过两三年的crud,sql还是写过不少的,也遇到过一些特别长的sql,执行时间特别长的sql,所以以前经常牺牲午睡时间给客户出报表还是有点效果的,mmp的. 我是这样说的:Sql优化,首先就是看sql的执…
文章首发于公众号:BiggerBoy 有读者说面试被问到怎么用SQL模拟数据库死锁? 这位读者表示对Java中的死锁还是略知一二的,但是突然用SQL写死锁的案例之前还真没遇到过,这个问题没答上来.所以今天就带大家一起来看下怎么用SQL让数据库中产生死锁. 什么是死锁 说到死锁,还是先来复习下什么是死锁吧. 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进…
一个程序中,变量分为变量名和变量内容,变量内容的存储一般会被分配到堆和栈上.而在 Go 语言中有两种传递变量的方式值传递和引用传递.其中值传递会直接将变量内容附在变量名上传递,而引用传递会将变量内容的地址附在变量名上传递. Golang 中是如何做到 如果在面试时有面试官提问你:"Go 的参数是如何传递的?"你会怎么回答呢? 这个问题其实只有一个答案.因为在 Golang 中所有的类型传递都是通过值传递实现的,而不是引用传递,即使是指针的传递也是通过 copy 指针的方式进行.另外对于…
在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过.先表达一下我自己对面试的观点: 1.笔试.面试去评价一个人肯定是不够准确的,了解一个人最准确的方式就是“路遥知马力,日久见人心”.通过一.二个小时内的做题.交流,只是没有其他办法下进行的无奈之举,所以通过了面试不代表有多成功,没通过也不代表有多失败.2.好的面试官本身交谈的时候就不应当把自己一个居高临下的角色上,应当把自己和应聘者当做两个做技术的人平等的交流,把自己当作权威往往就会受到观点的角度.语言表达.工作领域的惯性的制约.3.…
如果你去参考面试,做足了准备,面对面试官员从容不迫,吐沫横飞的大谈自己的工作经历.突然,面试官横插一句:说一个你在工作非常有价值的bug.顿时,整个空气都仿佛都凝固了!“What?”... 我想没几个人可以张口就来吧!? 这其实是前两天测试论坛上一个同学的问题,也是我以前面试时被问到一个问题,看到这个问题后,我的大脑开始搜索过去遇到的印象深刻或有价值的bug. 第一个冒出来的居然是一个段子: 用JS调微信的接口获取用户名,用同事老张的微信号做测试,结果一直获取的是null,怎么调都没发现错误,冥…
本文为死磕Synchronized底层实现第三篇文章,内容为重量级锁实现. 本系列文章将对HotSpot的synchronized锁实现进行全面分析,内容包括偏向锁.轻量级锁.重量级锁的加锁.解锁.锁升级流程的原理及源码分析,希望给在研究synchronized路上的同学一些帮助. 重量级的膨胀和加锁流程 当出现多个线程同时竞争锁时,会进入到synchronizer.cpp#slow_enter方法 void ObjectSynchronizer::slow_enter(Handle obj,…
Sass 的混合宏有一个强大的功能,可以传参,那么在 Sass 中传参主要有以下几种情形: A) 传一个不带值的参数 在混合宏中,可以传一个不带任何值的参数,比如: @mixin border-radius($radius) { -webkit-border-radius: $radius; border-radius: $radius; } 在混合宏"border-radius"中定义了一个不带任何值的参数"$radius". 在调用的时候可以给这个混合宏传一个参…
一:背景 1. 讲故事 最近也是奇怪,在社区里看到好几篇文章聊static 的玩法以及怎么拿这个和面试官扯半个小时,有点意思,点进去看都是java版的,这就没意思了,怎么也得有一篇和面试官扯C# 中的 static用法撒,既然没有人开这个头,那我就献丑了...,下面以QA的方式记述,大家可以代入一下能回答几个问题. 二:QA环节 面试官: 请问您都是在什么场景下用static的? 解析: 可能面试官潜意识的想问问你会不会使用本地缓存. 码农: 先不说我的场景,纵观C#的底层FCL源码,你会发现很…