面试 - 技术教程文章

超全的iOS面试题

1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。2. #import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别?答:#import是Ob...

秒杀多线程第一篇 多线程笔试面试题汇总

原文:http://blog.csdn.net/morewindows/article/details/7392749系列前言 本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些其它IT公司如百度,阿里巴巴的笔试面试题目,因此具有很强的针对性。系列中不但会详细讲解多线程同步互斥的各种“招式”,而且会进一步的讲解多线程同步互斥的“内功心法”。有了“招式”和“内功心法”,相信你也能对多线程挥洒自如,在笔试面试中顺利的秒杀多线程试题...

小狼,你家BOSS喊你面试啦!!!(三)

1、C语言中struct和union的区别struct占用的空间大小是每个元素对齐后的所占空间总和;而union是占用字节数最大的那个元素的字节数。联合体所有成员共享一块内存;结构体成员之间所占字节需要累加的另一方面就是,成员函数赋值问题,union会用新的值覆盖以前的值2、C和C++的struct有什么区别C++中struct可以有自己的成员函数。而C的则没有。上面一条说对了,就是成员函数之间的区别还有就是:C++中struct对数据成员的访问有三种状态...

2019 浪潮java面试笔试题 (含面试题解析)

本人3年开发经验、18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴、今日头条、滴滴等公司offer,岗位是Java后端开发,最终选择去了浪潮。面试了很多家公司,感觉大部分公司考察的点都差不多,所以将自己的心得记下来,希望能给正在找或者准备找工作的朋友提供一点帮助。另外,目前在浪潮也做面试官的工作,身份从求职者变为面试官,看问题的很多角度也不一样,所以下文中既有求职者的视角,也有面试官的视角面试流程??先...

Java面试题基础知识(收集)

1.集合类:list和Set比较,各自的子类比较(Arraylist,Vector,inkedLIst,HashSet,TreeSet)List:存入元素有序,元素可以重复,允许null值得存在,主要有3个实现类  linkedLIst:底层是双向链表,每一个结点都有指向前一个和后一个结点的指针。由于这种特性,他的特点就是增加和删除快,也因为他存储的元素在内存中不是连续存储,查找效率不及ArrayList  ArrayList:底层是动态数组,所以他的查找效率更高,但是由于增加的删...

Java开发者必知必会的50个Redis知识点,面试/学习都无所畏惧【代码】【图】

推荐阅读 关于"高并发系统设计"看这篇就够了,阿里、百度、美团都在用Redis作为目前的主流NoSql数据库,不会是不可能的,在面试中也是非常高频的,一定不能在这个环节丢分,不管是学习,还是面试,以下知识点,都有必要掌握。1.Redis是什么?Redis是一个开放源代码(BSD许可)的内存中数据结构存储,可用作数据库,缓存和消息代理,是一个基于键值对的NoSQl数据库。2.Redis特性?速度快基于键值对的数据结构服务器丰富的功能、丰富的...

面试之JAVA基础【一】【代码】

---------------------------以下均是平常刷面试题后的总结-----------------------------1,abstract可以修饰什么?为什么不能修饰属性--abstract是抽象的意思,在java中,规定只能修饰类或者方法,所以不能修饰属性。 (1)abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型(见后面实例),也就是编译时类型。抽象类就相当于一类的半成品,需要子类继承并覆盖其中的抽象方法。...

梳理面试中遇到的HTTP协议相关的问题和知识

原文:http://vb2005xu.iteye.com/blog/2202988

c++面试常见300问

1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。extern "C"是连接申明(linkage declaration),被extern "C"修饰的变量和函数是按照C语言方式编译和连接的。作为一种面向对象的...

面试题精选

1、formdata对象append增加值,打印对象无效? 实际取值方式:( formData.get, getAll, keys)引用:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects 2、原文:https://www.cnblogs.com/ivan5277/p/10596782.html

【面试】C++类中的相关函数【构造,拷贝构造,析构,友元】

构造函数:值的初始化,可带参数,无返回值,可重载,可存在多个析构函数:释放对象内存空间,无参数,无返回值,不可重载,只能存在一个拷贝构造函数:拷贝对象,其形参必须是引用1.空类会默认添加哪些东西?怎么写?空类的大小是多少?为什么?1)Empty():默认构造函数2)Empty(const Empty&):拷贝构造函数3)~Empty():析构函数4)Empty& operate=(const Empty&):赋值运算符空类的大小为1,因为C++要求类的每个实例必须具有独一...

Java基础(七)面试题

面试题:Map集合和Collection的区别? Map集合:是一种键和值的映射关系(双列集合) 当作为:夫妻对Collection集合:单列集合,只能存储一种类型的元素,当作为:光棍间接关系:HashSet依赖于Map接口的子实现类HashMap的TreeSet依赖于Map接口的子实现类TreeMap的原文:http://blog.51cto.com/13670525/2114960

看完了这篇,面试的时候人人都能单手撸冒泡排序!【代码】

鸡汤给大家备好了:岁月流逝是多么残酷啊,对我们也是如此,不要把时间浪费在不重要的人和事情上!在计算机科学中,排序是一个经典的主题。学习排序算法的好处有三:1.创造性解决问题2.练习和巩固程序设计技能3.演示算法性能的极好例子冒泡排序属于比较简单的一种排序方法。但是,很多同学到现在也不能手写一个冒泡排序。甚至经过和一些刚毕业甚至工作一两年的朋友交流后,发现他们内心对算法,抱着深深的恐惧和盲目崇拜,觉得算法...

java面试考点-HashTable/HashMap/ConcurrentHashMap

HashTable内部数据结构是数组+链表,键值对不允许为null,线程安全,但是锁是整表锁,性能较差/效率低HashMap结构同HashTable,键值对允许为null,线程不安全,默认初始大小为16(固定为2的幂次方),默认扩容阀值为0.75,扩容方式为,先插入再扩容,所以会产生无效扩容,单个链表长度默认为8,当超过时链表自动转为红黑树结构,当树结构长度小于6时,重新转为链表ConcurrentHashMapjdk1.5之后对HashTable的升级版,性能效率各方面...

多线程面试题(2020)

多线程 1.并行和并发有什么区别? 并行:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑 上来看那些任务是同时执行。 并发:多个处理器或多核处理器同时处理多个任务。 如下图: 并发和并行 并发 = 两个队列和一台咖啡机。 并行 = 两个队列和两台咖啡机。 2.线程和进程的区别? 一个程序下至少有一个进程,一个进程下至少有一个线程,一个进程下也可以有 多个线程来增加程序的执行速度。3.守护线程是什么? 守...

python面试题集锦

一、python2X与python3X的区别1、python2X源码杂乱,重复率高;python3X源码优美简洁明了。2、python2X默认使用Unicode编码,仅支持英文数字特殊字符;python3X默认UTF-8编码,支持中文。 二、运算符1、判断下列逻辑语句的True,False.1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 62)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 2、求出下列逻辑语句的值。1),8 or 3 and 4 or 2 and 0 or 9 and 72),0 ...

转载 java基础题(面试必知)

1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类...

面试官们“乐此不疲”分布式系统架构是什么鬼?【代码】

目录: 一、什么是分布式系统? 二、为什么要走分布式系统架构?三、系统如何进行拆分?四、分布式之后带来的技术挑战?一、什么是分布式系统? 在谈分布式系统架构前,我们先来看看,什么是分布式系统? 假设原来我们有一个系统,代码量30多万行。现在拆分成20个小系统,每个小系统1万多行代码。原本代码之间都是直接基于Spring框架走JVM内存调用,现在拆开来,将20个小系统部署在不同的机器上,然后基于分布式服务框架(...

前端常考面试题总结

1、从浏览器地址栏输入url到显示页面的步骤??第一版:DNS解析:进行域名解析,找到对应的IP;TCP连接:进行三次握手,确保可以进行数据传输;发送HTTP请求,发送具体的请求信息服务器处理请求并返回HTTP报文。服务器返回详细的内容,具体包括:状态码、响应报文头、响应报文浏览器解析渲染页面断开连接:断开TCP连接(4次挥手)简洁来说过程如下:浏览器向DNS服务器请求解析该URL中的域名所对应的IP地址;建立TCP连接(三次握手);...

面试之spring是如何控制事务

1.spring的核心是ioc和aop,其中ioc是将控制权交由spring容器进行管理,aop是面向切面编程,内部实现使用的是动态代理,二动态代理内部实现用的是反射。spring的事务是通过aop来实现的,从cglib.jar包就可以看出,是和动态代理相关的。2.spring的事务的使用:声明式和编程式(可以介绍一下自己喜欢的使用方式)。3.再简单介绍下spring的事务隔离和传播性。(事务最重要的两个特性,是事务的传播级别和数据隔离级别。传播级别定义的是...

【搞定面试官】try中有return,finally还会执行吗?【代码】【图】

本篇文章我们主要探讨 一下如果try {}语句中有return,这种情况下finally语句还会执行吗?其实JVM规范是对这种情况有特殊规定的,那我就先上代码吧!public class FinallyTest {public int method() {int x = 1;try{++ x;return x;}catch(Exception e){}finally{++ x;}return x;}public static void main(String[] args) {FinallyTest t = new FinallyTest();int y = t.method();System.out.println(y);} }对于上述代码,我们有以下...

面试基础试题 一 http和HTTPS的区别【图】

作为老生常谈的问题,我主要给出我自己的理解和结合大牛的叙述的综合看法,来检验自己学习超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:...

2019年Java面试题基础系列228道(1)【代码】【图】

1、面向对象的特征有哪些方面?面向对象的特征主要有以下几个方面:抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可...

python-基础面试题

深拷贝 1.对象A拷贝,生成对象B,且我们修改对象B(对象A)中的数据或方法,对象A(对象B)不会受影响,这就是深拷贝2.对于可变与不可变类型对于不可变类型,深拷贝会和浅拷贝一样,拷贝的是引用,不会创建新的内存地址对于可变类型,深拷贝会拷贝每一层,新建内存地址进行储存浅拷贝1.对象A拷贝,生成对象B,且我们修改对象B(对象A)中的数据或方法,对象A(对象B)会受影响,这就是浅拷贝2.(浅拷贝是对一个对象父级(最外层)的拷...

【027期】Java设计模式面试题【代码】

开篇介绍大家好,我是Java最全面试题库的提裤姐,今天这篇是Java设计模式,主要总结了设计模式相关的问题,在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!如果我能做到百日百更,希望你也可以跟着百日百刷,一百天养成一个好习惯。设计模式有哪些?创建型工厂模式与抽象工厂模式 (Factory Pattern)(Abstract Factory Pattern)单例模式 (Singleton Pattern)建造者模式 (Builder Pattern)原型模式 (Prototype ...

java面试题

1.面向对象的特征有哪些?抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目录有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节,抽象包括两个方面,一是过程抽象,二是数据抽象。继承:对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特征,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里...

面试题——4种数组去重的方法【代码】【图】

数组去重或者其衍生作为笔试题或者机试题出现的几率也是很大的,写出的方法越多,则让面试官觉得你思维越开阔,那么成功的几率当然就大了。废话不多说,下面来说说下面我整理的4中数组去重的方法方法一: findInArr方法+select方法组合  findInArr : 查找一个数在当前数组中是否存在,存在返回true,找完所有没有找到,返回false,这个数就是我们要操作的那个数组  select :循环数组,并调用findInArr方法 查找当前arr[...

前端面试

变量的类型(8种)7种原始类型:Boolean、Undefined、Null、String、Number、Symbol(不可修改的)、BigInt(可以超过数字的安全整数限制,2^53)和Objecttypeof null === ‘object‘typeof function fn() {} === ‘function‘typeof a= [] === ‘object‘基本数据类型存储在栈里,引用类型存储在堆里 深拷贝和浅拷贝深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体,而不是引用。假设B复制了A,修改A的时候,看B是否...

js面试题【代码】

1、怎么判断是数组、对象、函数判断是数组还是对象var arr=[]; Object.prototype.toString.call(arr) ===‘[object Array]‘; console.log(Object.prototype.toString.call(arr) ===‘[object Array]‘; ) //falseObject.prototype.toString方法会取得对象的一个内部属性[[Class]],然后依据这个属性,返回一个类似于[object Array]的字符串作为结果,call用来改变toString的this指向为待检测的对象同理判断一个对象是否是...

面试经历整理【代码】

1.广州九富科技(中移动外包)面试经历:九富--->品高软件(一面)--->中移南方基地(二面),给我的感觉就像被层层转包面试内容:一面(品高--面试):请说明你对python语言的理解?请说明python与其他语言之间的差别?请说明python语言现在用的比较多的场景以及经典的框架是什么?请说明python语言在web开发中django和flask框架之间的区别?请说明python在云计算开发常用的框架以及技术栈?请说明python在运维环境比较用的框架?在...