目录 前言 ConcurrentHashMap 原理 JDK1.8 版本 ConcurrentHashMap 做了什么改进 为什么 key 和 value 不允许为 null ConcurrentHashMap 如何保证线程的安全性 如何用 CAS 保证数组初始化的安全 put 操作如何保证数组元素的可见性 精妙的计数方式 addCount 计数方法 fullAddCount 方法 初始化 CounterCell 数组 CounterCell 如何赋值 技数数组 CounterCell 也能扩容…
JVM内存结构,是很重要的知识,相信每一个静心准备过面试的程序员都可以清楚的把堆.栈.方法区等介绍的比较清楚. 上图,是一张在作者根据<Java虚拟机规范(Java SE 8)>中描述的JVM运行时内存区域结构画的. 很多人都知道Java对象是在堆内存中分配空间的(JIT优化除外),也知道内存分配过程中是线程安全的,那么虚拟机到底是如何保证线程安全的呢?本文就来简单介绍一下. 1.Java对象的内存分配 我们知道,Java是一门面向对象的语言,我们在Java中使用的对象都需要被创建出来,在Ja…
上篇文章跟大家介绍了TCP通信常见的前10个面试题,没看过的小伙伴可以点击下方链接进行查看: 上位机面试必备——TCP通信灵魂二十问[上] 今天就后面的10个面试题接着做下说明:欢迎关注[dotNet工控上位机]公众号:thinger_swj 11.四次挥手中的TIME_WAIT状态? 首先要明确一点:主动关闭连接的一方,才会有TIME_WAIT状态. 之所以需要TIME_WAIT状态,主要是两个原因: 防止相同的端口重新连接时,服务器收到的是停留在网络间的数据包 保证被动关闭连接的一方能被正确…
show me the code and take to me,做的出来更要说的明白 GitHub项目JavaHouse同步收录 喜欢就点个赞呗! 你的支持是我分享的动力! 引入 我们经常听到工厂模式,比如说 Spring 用了工厂模式啦,面试也会被问到工厂模式等等,这见工厂模式是日常开发中比较重要的一种设计模式.其实工厂模式也是比较简单的一种设计模式,这年头似乎不了解工厂模式,你都不好意思说你学过 编程一样(手动狗头).那么,允许我灵魂拷问一下,你真的了解工厂模式吗. UML类图 不急,我们先…
前言 大部分情况下,面试结束后,面试官都会跟你说:我们会在1-2个工作日内通知你面试结果. 许多人认为:所谓「等通知」其实是面试官委婉地给你「发拒信」.但是,这不是「等通知」的全部真相. 这篇文章,我就给大家分享一下,为什么HR会说「等通知」和「等通知」时我们可以做些什么. 一. 为什么会有「等通知」这一件事情? 首先,的确存在有的HR不好意思当面拒绝,所以用「等通知」来搪塞求职者.但是,在真实的招聘中,「等通知」其实是一个客观的需求. 为什么呢?原因主要有几个: 1.大部分的面试,HR是不能直…
面试结束时面试官问"你有什么问题需要问我呢",该如何回答?…
一般来说,一线成熟企业技术岗位的典型招聘流程分为以下几个步骤: 初筛:一般由直接领导的技术经理或HR进行,重点考察教育和工作经历 一面:一般由可能直接与之共事的工程师进行,重点考察基础和工作能力 二面:一般由直接领导的技术经理进行,重点考察技术深度.广度和发展潜力 HR面:由人力资源部门进行,重点考察入职时间.职业规划.薪资要求等 当然,各个公司情况是不同的,有的公司可能会在面试前设置笔试或电话面试,有的公司会有两轮以上的技术面,有的公司会有由兄弟部门再把关的交叉面,有的创业公司甚至可能只有CE…
在逛 programcreek 的时候,发现了一些精妙绝伦的主题.比如说:为什么 Java 字符串是不可变的?像这类灵魂拷问的主题,非常值得深思. 对于绝大多数的初级程序员来说,往往停留在"知其然不知其所以然"的层面上--会用,但要说底层的原理,可就只能挠挠头双手一摊一张问号脸了. 很长一段时间内,我也一直处于这种层面上.导致的局面就是,我在挖一些高深点的技术方案时,往往束手无策:在读一些高深点的技术文章时,往往理解不了作者在说什么. 借此机会,我就和大家一起,对"为什么 J…
在逛 programcreek 的时候,我发现了一些小而精悍的主题.比如说:Java 的 substring() 方法是如何工作的?像这类灵魂拷问的主题,非常值得深入地研究一下. 另外,我想要告诉大家的是,研究的过程非常的有趣,就好像在迷宫里探宝一样,起初有些不知所措,但经过一番用心的摸索后,不但会找到宝藏,还会有一种茅塞顿开的感觉,非常棒. 对于绝大多数的初级程序员或者说不重视"内功"的老鸟来说,往往停留在"知其然不知其所以然"的层面上--会用,但要说底层的原理,…
在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题.比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研究一下. 另外,我想要告诉大家的是,作为程序员,我们千万不要轻视这些基础的知识点.因为基础的知识点是各种上层技术共同的基础,只有彻底地掌握了这些基础知识点,才能更好地理解程序的运行原理,做出更优化的产品. 我曾在某个技术论坛上分享过一篇非常基础的文章,结果遭到了无数的嘲讽:"这么水的文章不值得分享."我点开他的头像进入他的主…
在逛 programcreek 的时候,我发现了一些小而精悍的主题.比如说:创建 Java 字符串,用 "" 还是构造函数?像这类灵魂拷问的主题,非常值得深入地研究一下. 01."" 来看这样一串代码: String a = "沉默王二"; String b = "沉默王二"; System.out.println(a == b); // true System.out.println(a.equals(b)); // tru…
[灵魂拷问]你为什么要来学习Node.js呢? 学习node.js适合的人群: 需要必备一些HTML,CSS,JavaScript及编程有一定程度了解的读者阅读,一些简单的命令行操作,具备服务端开发经验更好. Node.js到底是什么?为什么要学习它呢?它由能为我们做写什么? Node是一种新技术,诞生于2009年,经过几年的变化,Node.js生态圈以及逐渐走向了稳定,不少开发者入门时,总是要经历一种思维的转变,但是学会Node.js可以进行Web后端的开发,同时掌握事件驱动的异步式编程风格.…
                                                                                  java面试官如何面试别人(一) java面试官的“面试心得” 在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过.先表达一下我自己对面试的观点: 1.笔试.面试去评价一个人肯定是不够准确的,了解一个人最准确的方式就是“路遥知马力,日久见人心”.通过一.二个小时内的做题.交流,只是没有其他办法下进行的无奈之举,所以通过了面…
面试是一对一 或者多对一的沟通,是和候选人 互相交换信息.平等的. 面试的目标是选择和雇佣最适合的人选.是为了完成组织目标.协助人力判断候选人是否合适空缺职位. 面试类型: (1)预判面试(查看简历后的电话面试) (2)结构化面试(所有人问同样的问题) (3)行为面试(简历有某年-某年  在xx就职...则针对提问) (4)情景化面试 (带到场景里提问) (5)发散性提问 (5)压力面试 面试步骤: (1)根据简历准备提问 (2)面试开始提问面试无关问题,减轻候选人紧张度 (3)看下简历和时间的…
原创/朱季谦 灵魂拷问,这位独秀同学,你会这道题吗?  请说说,"System.out.println()"原理...... 这应该是刚开始学习Java时用到最多一段代码,迄今为止,与它算是老朋友了.既然是老朋友,就应该多去深入了解下其"内心"深处的"真正想法". 在深入了解之前,先给自己提几个问题: System是什么?out是什么?println又是什么?三个代码组成为何能实现打印信息的功能? 接下来,我们就带着问题,去熟悉我们这位相处已久的…
作者:呼延十 juejin.im/post/5d351303f265da1bd30596f9 前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水. 前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面试文章,发现其中的一些问题自己也回答不好,虽然知识点大部分都知道,但是无法将知识串联起来. 因此决定搞一个MySQL灵魂100问,试着用回答问题的方式,让自己对知识点的理解更加深入一点. 此文不会事无巨细的…
写在前面 最近跳槽找工作的朋友确实不少,遇到的面试题也是千奇百怪,这不,一名读者朋友面试时,被面试官问到了一个直击灵魂的问题:if 语句执行完else语句真的不会再执行吗?这个奇葩的问题把这名读者问倒了! 问题分析 最近一名读者留言说,自己出去面试被面试官的一道奇葩问题问倒了,这个问题就是:if语句执行完else语句真的不会再执行吗?这名读者确实不知道该如何回答这个问题.回去后,自己查阅了很多资料也没弄明白这个问题! 想必很多读者朋友遇到这种奇葩面试题时,多多少少都会觉得闹心吧!不过,闹心归闹心…
大家好,我是大彬~ 今天给大家分享MySQL常考的面试题,看看你们能答对多少. 本期MySQL面试题的目录如下: 事务的四大特性? 事务隔离级别有哪些? 索引 什么是索引? 索引的优缺点? 索引的作用? 什么情况下需要建索引? 什么情况下不建索引? 索引的数据结构 Hash索引和B+树索引的区别? 为什么B+树比B树更适合实现数据库索引? 索引有什么分类? 什么是最左匹配原则? 什么是聚集索引? 什么是覆盖索引? 索引的设计原则? 索引什么时候会失效? 什么是前缀索引? 常见的存储引擎有哪些?…
关注公众号获取更多干货 TCP通信协议应该是上位机开发中应用最广泛的协议,无论是西门子S7协议.三菱MC协议或者是欧姆龙的Fins-TCP协议等,都是TCP通信协议的典型应用.很多人在上位机面试时,都会被问到关于TCP通信的一些问题,比如三次握手和四次挥手.TCP与Socket之间的联系等,为了便于大家更好地理解TCP通信,我整理了一套关于TCP通信的20个常见的面试题: 01.OSI参考模型与TCP/IP参考模型 如上图所示,OSI参考模型为7层模型,依次为应用层.表示层.会话层.传输层.网络…
原文链接:https://www.cnblogs.com/hexinwei1/p/10000779.html 小总结 HashMap.Hashtable.ConcurrentHashMap HashMap:线程不安全 Hashtable:线程安全,每个方法都加了synchronized修饰.类似Collections.synchronizedMap(hashMap) 对读写加锁,独占式,一个线程在读的时候其他线程必须等待,吞吐量较低,性能较为底下 ConcurrentHashMap:利用CAS+…
Java面试流程及核心面试题 面试整体流程 1.1 简单的自我介绍      我是xxxx,工作xxx年.我先后在xxxx公司.yyyy公司工作.先后做个xxxx项目.yyyy项目. 1.2 你简单介绍一下xxxx项目    为了解决xxxx问题,开发了一套xxxx系统,该系统主要有那些部分组成.简单介绍项目的整体架构.参与某个模块的开发.就要求你说一下这个模块的业务及设计. 1.3 会问一下JAVA的专业技能     后面详细讲解 1.4你还有什么需要询问我的吗     公司要做的项目?项目中…
关于 Java String,这是面试的基础,但是还有很多童鞋不能说清楚,所以本文将简单而又透彻的说明一下那个让你迷惑的 String 在 Java 中,我们有两种方式创建一个字符串 String x = "abc"; String y = new String("abc"); 你常见也常写第一种,很少见第二种,但面试还总问这类问题,双引号和构造器两种形式创建字符串到底有什么差别呢? 先来看例子 例子 1 String a = "abcd"; S…
前几天接到IBM的电话面试了,虽然被PASS了,还是发个博记录一下吧.这大概是我第一次比较正式的面试了,虽然只是通过电话,但是还是暴露出了自己的很多问题,总结下,前事不忘,后事之师嘛.:) 一号上午接到IBM的电面预约,当时还有点小惊讶(说实话看到010打头的电话我还以为是推销呢),网申的时候也只是碰碰运气的心态,资料都没怎么好好填.电话妹子说我申请的CDL职位满了,问我GDC可以不,我说可以,然后就约在三号下午面试. 上网搜了一下IBM的面试流程,一面是HR,貌似只是聊一下基本情况,技术问题不…
在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过.先表达一下我自己对面试的观点: 1.笔试.面试去评价一个人肯定是不够准确的,了解一个人最准确的方式就是“路遥知马力,日久见人心”.通过一.二个小时内的做题.交流,只是没有其他办法下进行的无奈之举,所以通过了面试不代表有多成功,没通过也不代表有多失败.2.好的面试官本身交谈的时候就不应当把自己一个居高临下的角色上,应当把自己和应聘者当做两个做技术的人平等的交流,把自己当作权威往往就会受到观点的角度.语言表达.工作领域的惯性的制约.3.…
应聘相关 声明: 1,程序员相关的哈 2,万事无定论,比如说,就算你小学毕业,但是java基础却扎实到变态,我相信open的公司还是会给你机会的. 3,心态很重要,虽然日常的心态不容易控制,面试那俩小时的心态,只要你想,就能控制. 1,先来一份前辈的劝戒 1,坚持三年 ,不管在哪干,有一个好的平台,坚持三年以上才能出效果. 2,如果跳的话,新公司需要稳定,最少过了B轮融资,,五万比一是创业型公司的失败率 3,不要着急,不要比较为了5000块的工资差价跳,不值得跳,从一万到三万,并且有一个好的平台…
我最近看到一本比较好的讲java web方面面试的书,java web轻量级开发面试教程. 其中不仅用案例和视频讲述了Spring MVC,Hibernate, ORM等方面的技巧,而且还实际讲到了面试技巧. 如下部分是对数据库面试方面的总结. 如果在面试或与资深人事交流的过程中,你能有效合理地展示出本章所给出的一些知识点,那么对你的评价就会是"对数据库有深入了解",甚至能加上"有设计数据表的经验",即便你说有过3年商业项目数据库操作的经验,那么别人也能相信. 相反…
内容较多,可先收藏,目录如下: 一.什么是主从复制 二.主从复制的作用(重点) 三.主从复制的原理(重中之重) 四.三步轻松构建主从 五.必问面试题干货分析(最最重要的点) 一.什么是主从复制(技术文): 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库:主数据库一般是准实时的业务数据库. 二.主从复制的作用(好处,或者说为什么要做主从)重点!: 1.做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失. 2.架构的扩展.业务量越来越大,…
Java培训结束,面临的就是毕业找工作.在找工作时,就要针对性地做充分的面试准备.准备不充分的面试,完全是浪费时间,更是对自己的不负责. 上海尚学堂Java培训整理出Java面试大纲,其中大部分都是面试过程中的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式. 一.Java项目介绍 大部分情况,这是一场面试的开门题,面试官问这个问题,主要是考察你的概述能力和全局视野.有的人经常抱怨自己每天在堆业务,但没有成长.事实上,很多情况下确实在堆业务,但并不是没有成长的.并非做中间件或…
本来想写一个系列的,一半是抨击现在面试之水,要人之奸,用大哥的话说,要走新手是做螺丝钉和抹布用的.另一半是对出出学校的或者是自废武功转3d的朋友们提供一个比较有价值的参考.不过我时间实在仓促.没有保证,写一点算一点吧.先识别一下,你到了公司会让你干什么:1.UI(面试题会偏向NGUI等ui操作,会考到一些简单的排序算法,数据结构,问题处理思路等)2.数据逻辑层(会考到数据结构的搭配,配置表的构造等)3.游戏控制流程(会考到状态机的设计,与服务器协议的设计,以及少量lua或python脚本编写内容…
点击上方"前端自习课"关注,学习起来~ 引言 Javascript是前端面试的重点,本文重点梳理下 Javascript 中的常考基础知识点,然后就一些容易出现的题目进行解析.限于文章的篇幅,无法将知识点讲解的面面俱到,本文只罗列了一些重难点,如果想要了解更多内容欢迎点击https://github.com/ljianshu/Blog. 一.变量类型 1.JS 的数据类型分类 根据 JavaScript 中的变量类型传递方式,分为基本数据类型和引用数据类型.其中基本数据类型包括Unde…