在本文章中,作者通过自身经历,力求客观的谈谈个人选择学习Python的动机,以及独角兽公司对Python工程师的要求及薪资. 从目前各种迹象(企业招聘,语言排名等)看来Python相对Java应该是暂时领先,这得力于Python的厚积薄发. 01选择Python不只是选择一门语言 你能收获并不仅仅只是技术 选Python就是选择趋势 语言本身不具备生命力,其生命力来自企业应用(正如软件开发是一种寄生产业一样,没有产业就没有信息化:产业是朝阳产业,软件开发就欣欣向上:所以软件开发除了选技术,还要在…
想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里? 1. 能说下myisam 和 innodb的区别吗? myisam引擎是5.1版本之前的默认引擎,支持全文检索.压缩.空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支持外键,并且索引和数据是分开存储的. innodb是基于聚簇索引建立的,和myisam相反它支持事务.外键,并且通过MVCC来支持高并发,索引和数据存储在一起. 2. 说下mysql的索引有哪些吧,…
其实吧,面试官面试的时候主要就看三个方面:现在能力如何,未来潜力如何,人品如何. 第一个因素是最重要的,因为后面两个因素有太多的人为判断因素,无法量化.所谓的面试准备,"现在能力如何"很难有大的改变,后面两个因素是可以短时间做一些准备的. 例子:之前有一个很典型的case,有个小伙子能力很强,笔试和初试评价都很高,最后终试的时候,评价特别低,就是因为其被判断为潜力不够.没有钻研精神,对新技术不感兴趣,不愿意深入思考,不主动学习-- 下面:我们就了解一下面试前,我们需要做什么? 第一点:…
1.说说Spring 里用到了哪些设计模式? 单例模式:Spring 中的 Bean 默认情况下都是单例的.无需多说. 工厂模式:工厂模式主要是通过 BeanFactory 和 ApplicationContext 来生产 Bean 对象. 代理模式:最常见的 AOP 的实现方式就是通过代理来实现,Spring主要是使用 JDK 动态代理和 CGLIB 代理. 模板方法模式:主要是一些对数据库操作的类用到,比如 JdbcTemplate.JpaTemplate,因为查询数据库的建立连接.执行查询…
这是面试题系列第三篇--redis专题. 说说Redis基本数据类型有哪些吧 字符串:redis没有直接使用C语言传统的字符串表示,而是自己实现的叫做简单动态字符串SDS的抽象类型.C语言的字符串不记录自身的长度信息,而SDS则保存了长度信息,这样将获取字符串长度的时间由O(N)降低到了O(1),同时可以避免缓冲区溢出和减少修改字符串长度时所需的内存重分配次数. 链表linkedlist:redis链表是一个双向无环链表结构,很多发布订阅.慢查询.监视器功能都是使用到了链表来实现,每个链表的节点…
这是面试专题系列第五篇JVM篇. 说说JVM的内存布局? Java虚拟机主要包含几个区域: 堆:堆Java虚拟机中最大的一块内存,是线程共享的内存区域,基本上所有的对象实例数组都是在堆上分配空间.堆区细分为Yound区年轻代和Old区老年代,其中年轻代又分为Eden.S0.S1 3个部分,他们默认的比例是8:1:1的大小. 栈:栈是线程私有的内存区域,每个方法执行的时候都会在栈创建一个栈帧,方法的调用过程就对应着栈的入栈和出栈的过程.每个栈帧的结构又包含局部变量表.操作数栈.动态连接.方法返回地…
说好了面试系列已经完结了,结果发现还是真香,嗯,以为我发现我的Java基础都没写,所以这个就算作续集了,续集第一篇请各位收好. 说说进程和线程的区别? 进程是程序的一次执行,是系统进行资源分配和调度的独立单位,他的作用是是程序能够并发执行提高资源利用率和吞吐率. 由于进程是资源分配和调度的基本单位,因为进程的创建.销毁.切换产生大量的时间和空间的开销,进程的数量不能太多,而线程是比进程更小的能独立运行的基本单位,他是进程的一个实体,可以减少程序并发执行时的时间和空间开销,使得操作系统具有更好的并…
继之前的mysql夺命连环之后,我发现我这个标题被好多套用的,什么夺命zookeeper,夺命多线程一大堆,这一次,开始面试题系列MQ专题,消息队列作为日常常见的使用中间件,面试也是必问的点之一,一起来看看MQ的面试题. 你们为什么使用mq?具体的使用场景是什么? mq的作用很简单,削峰填谷.以电商交易下单的场景来说,正向交易的过程可能涉及到创建订单.扣减库存.扣减活动预算.扣减积分等等.每个接口的耗时如果是100ms,那么理论上整个下单的链路就需要耗费400ms,这个时间显然是太长了. 如果这…
这是面试专题系列第四篇,Dubbo系列.Dubbo本身并不复杂,而且官方文档写的非常清楚详细,面试中dubbo的问题一般不会很多,从分层到工作原理.负载均衡策略.容错机制.SPI机制基本就差不多了,最大的一道大题一般就是怎么设计一个RPC框架了,但是如果你工作原理分层都搞明白了这个问题其实也就相当于回答了不是吗. 说说Dubbo的分层? 从大的范围来说,dubbo分为三层,business业务逻辑层由我们自己来提供接口和实现还有一些配置信息,RPC层就是真正的RPC调用的核心层,封装整个RPC的…
谈谈你对Zookeeper的理解? Zookeeper是一个开源的分布式协调服务,由雅虎公司创建,由于最初雅虎公司的内部研究小组的项目大多以动物的名字命名,所以后来就以Zookeeper(动物管理员)来命名了,而就是由Zookeeper来负责这些分布式组件环境的协调工作. 他的目标是可以提供高性能.高可用和顺序访问控制的能力,同时也是为了解决分布式环境下数据一致性的问题. 集群 首先,Zookeeper集群中有几个关键的概念,Leader.Follower和Observer,Zookeeper中…