本人是做java开发的,这是我参加58,搜狐,搜狗,新浪微博,百度,腾讯文学,网易以及其他一些小的创业型公司的面试常被问的问题,当然有重复,弄清楚这些,相信面试会轻松许多. 1. junit用法,before,beforeClass,after, afterClass的执行顺序2. 分布式锁3. nginx的请求转发算法,如何配置根据权重转发4. 用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap)5. 线程的状态5. 线程的阻塞的方式6. sleep…
线程与进程 进程是可并发运行的程序在某个数据集合上的一次计算活动.也是操作系统进行资源分配和调度的基本单位. 线程是操作系统进程中能够并发运行的实体,是处理器调度和分派的基本单位. 每一个进程内可包括多个可并发运行的线程. 线程自己基本不拥有系统资源.仅仅拥有少量不可缺少的资源:程序计数器.一组寄存器.栈. 同属一个进程的线程共享进程所拥有的主存空间和资源. 在传统OS中,拥有资源.独立调度和分派的基本单位都是进程,在引入线程的系统中,线程是调度和分派的基本单位.而进程是拥有资源的基本单位. 在…
有很多文章说面试相关的问题,有国内也有国外的,但是我相信不少人,特   别是新人看完后还是觉得比较虚比较泛,似乎好像懂了,但是一遇到面试还   是有些手无足措或者重复犯一些错误.本篇文章正是结合实际经验,为广大   程序员同志们写下满满的干货,让大家把握面试的关键点,找到面试的窍门   ,顺顺利利找到心仪的公司. 我认为面试是很奇妙的一件事情,在短短的一 段时间内,要让一个完全陌生的人认可你的专业能力,认可你的人品,认可   你的职业习惯等等.而同样,被面试者需要判断这是否是一家靠谱的公司,  …
前言 dubbo是一款微服务开发框架,它提供了 RPC通信 与 微服务治理 两大关键能力.作为spring cloud alibaba体系中重要的一部分,随着spring cloud alibaba在国内活跃起来,dubbo也越来越深受各大公司的青睐.本文就来对dubbo的spi机制源码进行剖析,看一看dubbo的spi到底有哪些特性和功能. 一.什么是spi机制? SPI (Service Provider Interface),主要用于扩展的作用.举个例子来说,假如有一个框架有一个接口,他有…
冒泡,快排,二分查找,都是面试常问的几个算法题目,虽然简单,但是一段时间不用的话就很容易忘记,这里我用PHP实现了一下,温故而知新. 排序 冒泡排序 每一次冒出一个最大的值 function bubbleSort($arr) { $count = count($arr); if ($count == 0) return false; for ($i = 0; $i < $count - 1; $i++) { for ($k = 0; $k < $count - 1 - $i; $k++) {…
目录 python相对其他语言有什么特点? python内存管理机制,gc机制的了解,gc回收三种算法. lambda函数 高级函数 map.reduce.filter.sorted等. 简述六种基本数据类型(number.string.list.tuple.dict.set). python中深拷贝与浅拷贝. python中is和==的区别. python中if __ name ==' main __'有什么含义? python命令和python -m命令在执行脚本时的区别? python中多…
Java开发面试总结.. ----------------------- java 基础知识点这一块: 1.面向对象的三大特征.(继承,封装,多态) 1.1 在什么样的场合下面会使用到继承 1.2 什么使用多态 1.3 封装是什么?在什么场合下面使用封装?封装有什么好处? 2.什么是抽象类,什么是抽象方法? 3.什么是接口?接口和抽象类有什么样子的区别? 4.常见的访问修饰符,以及访问修饰符的使用范围? 5.java中常见的关键字,public,static final ,extends imp…
2019最新最全Java开发面试常见问题答案总结 马上准备9月份出去面试Java开发,自己学习丢西瓜捡芝麻,学了的都忘了,所以有机会自己做个学习笔记,摘录自各个博文以及总结. 1.JAVA面向对象的特征? 封装.继承.多态.抽象 封装:通过类来体现,将实体封装成类,其中包含属性和方法 继承:类与类之间可以继承特点,使得代码重用 多态:通过传递给父类对象引用不同的子类从而表现出不同的行为 抽象: 将一类实体的共同特性抽象出来,封装在一个抽象类中. 2.String.StringBuilder.St…
并发.JVM.分布式.TCP/IP协议 1)Java的数据结构相关的类实现原理,比如LinkedList,ArrayList,HashMap,TreeMap这一类的.以下简单模拟一个数据结构的连环炮. 比如,面试官先问你HashMap是不是有序的? 你肯定回答说,不是有序的.那面试官就会继续问你,有没有有顺序的Map实现类? 你如果这个时候说不知道的话,那这个问题就到此结束了.如果你说有TreeMap和LinkedHashMap. 那么面试官接下来就可能会问你,TreeMap和LinkedHas…
一.虚拟机 同样的java代码在不同平台生成的机器码肯定是不一样的,因为不同的操作系统底层的硬件指令集是不同的. 同一个java代码在windows上生成的机器码可能是0101.......,在linux上生成的可能是1100......,那么这是怎么实现的呢? 不知道同学们还记不记得,在下载jdk的时候,我们在oracle官网,基于不同的操作系统或者位数版本要下载不同的jdk版本,也就是说针对不同的操作系统,jdk虚拟机有不同的实现. 那么虚拟机又是什么东西呢,如图是从软件层面屏蔽不同操作系统…
时间,就是这么很悄悄的溜走了将近两个年华,不知不觉的,研二了,作为一个一般学校的研究生,不知道该说自己是不学无术,还是说有过努力,反正,这两年里,有过坚持,有过堕落,这不,突然间,有种开窍的急迫感,寻思着找些实习,充实下生活,也是为了将来而备战,目标定位在杭州,然而,杭州的Java实习并不多,大大小小投了十来个企业单位,面来面去,回答的基本上也算差强人意,今日得一闲暇,就最近被问到的一些问题一一罗列,继续努力吧!: 1.说出Object类的常用方法? 答:这个问题,对于Java开发有经验的人来说…
原文:http://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/ 译文:cnblogs.com/chenpi/p/5508949.html 阅读目录 Array转ArrayList 判断一个数组是否包含某个值 在循环内部删除List中的一个元素 HashTable与HashMap 使用集合原始类型(raw type) 访问级别 ArrayList和LinkedList 可变与不可变 父类和子类的构造方法 "&…
广义的 IOC IoC(Inversion of Control) 控制反转,即“不用打电话过来,我们会打给你”. 两种实现: 依赖查找(DL)和依赖注入(DI). IOC 和 DI .DL 的关系(这个 DL,Avalon 和 EJB 就是使用的这种方式实现的 IoC): DL 已经被抛弃,因为他需要用户自己去是使用 API 进行查找资源和组装对象.即有侵入性. DI 是 Spring 使用的方式,容器负责组件的装配. 注意:Java 使用 DI 方式实现 IoC 的不止 Spring,包括…
题目源自Java团长公众号,内容个人整理,来源于各大博客,未经允许,不准摘抄,仅供分享,不做商业使用. 本分享多数为浅层知识体系,更为底层的还请自行多写写代码,若有不对之处,望广大的人才指点,不喜勿喷,文明交流. 一.hashcode相等两个类一定相等吗?equals呢?相反呢?不一定相等(不一定相当).因为在散列表中存在不相等的对象的键值对的hash值相同.equals() 的作用是用来判断两个对象是否相等. equals()定义在JDK的Object.java中.通过判断两个对象的地址是否相…
作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器上都是Linux系统.所以,要和服务器机器交互,就要通过shell命令. 本文并不会对所有命令进行详细讲解,只给出常见用法和解释.具体用法可以使用--help查看帮助或者直接通过google搜索学习. 1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find .…
​一.Java基础 1. String类为什么是final的. 2. HashMap的源码,实现原理,底层结构. 3. 说说你知道的几个Java集合类:list.set.queue.map实现类咯... 4. 描述一下ArrayList和LinkedList各自实现和区别 5. Java中的队列都有哪些,有什么区别. 6. 反射中,Class.forName和classloader的区别 7. Java7.Java8的新特性(baidu问的,好BT) 8. Java数组和链表两种结构的操作效率,…
以下为大家整理了今年一线大厂面试被问频率较高的多线程面试题,由于本人的见识局限性,所以可能不是很全面,也欢迎大家在后面留言补充,谢谢. 1.什么是线程? 2.什么是线程安全和线程不安全? 3.什么是自旋锁? 4.什么是Java内存模型? 5.什么是CAS? 6.什么是乐观锁和悲观锁? 7.什么是AQS? 8.什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)? 9.什么是Executors框架? 10.什么是阻塞队列?如何使用阻塞队列来实现生…
一:java基础1.简述string对象,StringBuffer.StringBuilder区分string是final的,内部用一个final类型的char数组存储数据,它的拼接效率比较低,实际上是通过建立一个StringBuffer,让后台调用append(),最后再将StringBuffer toSting(),每次操作Sting 都会重新建立新的对象来保存新的值.这样原来的对象就没用了,就要被垃圾回收.这也是要影响性能的.StringBuffer也是final,线程安全的,中采用一个c…
写在前面 本文描述的有关于 JVM 的运行时数据区是基于 HotSpot 虚拟机. 概述 JVM 在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机的进程启动而存在,有的区域则依赖于用户线程的启动和结束而建立和销毁. HotSpot 运行时数据区 运行时数据区在 HotSpot 1.8 之前的版本和 1.8 版本有所不同,主要是 方法区移到元空间 了. 图 1-1:JDK1.8 之前 JVM 运行时数据区…
关键字: final finalize finally throws和throw static关键字的作用 abstract 和 interface super 和 this synchronize 和 volatile 1. final finalize finally对比 (1)性质不同 final为关键字: finalize()为方法: finally为为区块标志,用于try语句中: (2)作用不同 final:用于标识常量的关键字,final标识的关键字存储在常量池中(在这里final常…
文章出处http://www.cnblogs.com/IUbanana/p/7116520.html 关键字: final finalize finally throws和throw static关键字的作用 abstract 和 interface super 和 this synchronize 和 volatile 1. final finalize finally对比 (1)性质不同 final为关键字: finalize()为方法: finally为为区块标志,用于try语句中: (2…
前言 谈到java的线程池最熟悉的莫过于ExecutorService接口了,jdk1.5新增的java.util.concurrent包下的这个api,大大的简化了多线程代码的开发.而不论你用FixedThreadPool还是CachedThreadPool其背后实现都是ThreadPoolExecutor. ThreadPoolExecutor是一个典型的缓存池化设计的产物,因为池子有大小,当池子体积不够承载时,就涉及到拒绝策略.JDK中已经预设了4种线程池拒绝策略,下面结合场景详细聊聊这些…
冒泡排序就是对一个数组进行排序. 用双层for循环就可以解决. 第一层,决定排序的次数. n个数,进行n-1次排序就行了. 第二层,把相邻的两个数比较,谁小,放到后面和下一个数字比较,谁小谁放到后面,这样,一轮循环下来,最小的一个就到最后了. 然后,第二次循环把第二小的数放到了倒数第二个. n-1次循环下来,就排好序了. package paixu; public class maopao { public static void main(String[] args) { int shuzu[…
Java面试题:java的垮平台原理 为什么要跨平台使用????? 其实说白了就是个操作系统支持的指令集是不一样的.我们的程序需要再不同的操作系统上运行这些代码. 但是不要说jvm是跨平台的,而真正跨平台的是 Java 程序,而不是 JVM.JVM 是用 C/C++ 开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的 JVM 答: 我们编写的 Java 源码,编译后会生成一种 .class 文件,称为字节码文件.Java 虚拟机(JVM)就是负责将字节码文件翻译成特定平台下的机器…
目录 一轮 电话面试 二轮 代码笔试 三轮 技术面试 总结 附:电话面试问题点解惑 补充:面试未通过 一轮 电话面试 2019.04.28 16:21 [w]:面试官,[m]:我,下面的内容来自电话录音. [m]:喂,喂 [w]:喂你好,请问是xxx同学吗? [m]:对,是的: [w]:你好,我这边是上海爱奇艺,之前和你约好下午有电话面试,你现在那边OK吗? [m]:可以啊 [w]:你那边信号好吗?听我说话听的清楚吗? [m]:听得清楚呀,你那边听得清楚我说的吗? [w]:嗯,我这边听得清楚 […
面试时技术经理会问你一些工作中遇到的Android方面的问题.谈谈你所做的项目,和在项目中所扮演的角色. 很多其它内容请參考我的博客:点击打开链接 1.怎样优化ListView? ①Item布局,层级越少越好,使用hierarchyview工具查看优化. ②复用convertView点击打开链接 ③使用ViewHolder ④item中有图片时.异步载入 ⑤高速滑动时,不载入图片 ⑥item中有图片时.应对图片进行适当压缩 ⑦实现数据的分页载入 2.对于Android 的安全问题? ①错误导出组…
开放封闭原则(OCP原则The Open-Closed Principle)是面向对象的核心设计所在.它是说,软件开发实体(类.模块.函数等)应该可以扩展,但是不能修改. 这个原则有两个特征,一个是说“对于扩展是开放的”,另一个是说“对于更改是封闭的”. 我们在编写任何app时,不要寄希望于需求是固定的.不变化的,这是不现实也是不科学的想法,既然需求一定会有变化,那么如何应对这种变化?也就是说.我们所设计的代码可以相对容易的修改,不至于新的需求一来,就将整个程序推倒重写?怎么样的设计才能面对需求…
第四家Kmerit,苏州园区,出门晚了差点迟到,一点五十五到达,先花了一小时笔试,后来两个人技术面试,四点二十出了大楼. 一.笔试 1.单选,知识点很散,涉及数据结构链表,数组,树,堆,数据库,网络,Java基础..... 2.多选,事务,spring,抽象类,接口..... 3.编程题,对一给定的无序数组,建立升序链表,并正序输出,逆序输出. 4.算法题,A取一个0~99的数字,B如何在最短的时间内猜出,实质就是二分查找吧. 5.算法分析题,n个硬币,有一个硬币质量偏大,最少需要多少次找出来,…
概述 Python是个非常受欢迎的编程语言,随着近些年机器学习.云计算等技术的发展,Python的职位需求越来越高.下面我收集了10个Python面试官经常问的问题,供大家参考学习. 类继承 有如下的一段代码: class A(object): def show(self): print 'base show' class B(A): def show(self): print 'derived show' obj = B() obj.show() 如何调用类A的show方法了. 方法如下: o…
背景 今天在查看Sonar的时候发现小伙伴在某些场景下如下使用 很明显sonar已经报错了,但是线上应用目前是正常的 问题 事实上经常会有面试的小伙伴或者笔试的小伙伴问这个问题 Integer的一些小知识 Integer i2 = Integer.valueOf(1); Integer i3 = Integer.valueOf(1); Assert.assertTrue(i2 == i3); 按照大家的理解 valueOf会返回一个Integer 当用Integer和Integer进行比较 这是…