说来惭愧,不怕大家笑话。做开发5年多,到目前还是一名不折不扣的扫地僧。年前的辞职后便一直在家静养中。其实也没什么,就是想趁着这段时间闲赋在家认真的总结一下自己这些年来在外工作与面试等,做一个简单的总结与反思。年龄越来越大了,做一下自己后面一个人生规划。
不过在家每天也是在撸码,还有就是复习与学习现在的架构知识点,学习使人进步嘛!不是么?毕竟技术还是不能落下。

前些天在我群里认识了以为挺有意思的老兄,他工作8年多(技术和面试都不差),最近也是在找工作,是从京城来上海的,也和他聊了不少。听他说是面试了很多厂,但还是找不到合适的,毕竟像这个工龄段的找工作,去小厂的话,“自己”也看不上,到看上了的薪资又不是很满意。这也是非常尴尬的一点。所以当时我也是给了他一个建议。要不,去面试大厂试试吧,虽然说年龄不小了,但就当是进去镀层金吧。

目前那老哥已经在准备面试了,投了上海的阿里蚂蚁金服等大厂,在这里也希望他能顺利通过!

在接下来的金九银十跳槽面试中,相信大家肯定也是遇到了很多很多面试官的各种刁难等难题。可能也会有部分小伙伴们找不到心仪的公司,或是选择将就在一个自己不喜欢的互联网公司。
这篇文章,我希望你们看了后,对往后的面试,你是有信心、有把握拿下offer的。今天,我会在文中写有最近几月的各大厂的面试题,和自己个人的心得总结等,相信可以帮到大家。

面试

alibaba中间件团队

一面:
自我介绍
擅长哪方面的技术?
Java有哪些锁种类?(乐观锁&悲观锁、可重入锁&Synchronize等)?
比较重要的数据结构,如链表,队列,栈的基本理解及大致实现?
J.U.C下的常见类的使用。ThreadPool的深入考察;BlockingQueue的使用?
Java内存分代模型,GC算法,JVM常见的启动参数;CMS算法的过程。?
volatile关键字有什么用(包括底层原理)?
线程池的调优策略?
spring cloud的服务注册与发现是怎么设计的?
分布式系统的全局id如何实现?
分布式锁的方案,redis和zookeeper哪个个好,如果是集群部署,高并发情况下哪个性能更好。

二面:
参与的项目,选一个,技术难度在哪里?
Collections.sort底层排序方式?
负载均衡的原理?
设计模式与重构,谈谈你对重构的理解?
谈谈Redis相关的集群有哪些成熟方案?
再谈谈一致hash算法(redis)?
数据库索引,B+树的特性和建树过程。
mysql相关的行锁,表锁;乐观锁,悲观锁?
谈谈多线程和并发工具的使用?
讲讲Redis的架构和组件?
Redis的数据一致性问题(分布式多节点环境 & 单机环境)?
docker容器?

三面
高并发情况下,系统是如何支撑大量的请求的?
接着上面的问题,延伸到了中间件,kafka、redis、rocketmq、mycat等?
设计思路和适用场景等?
最近上过上哪些技术站点;最近在看哪些书。
工作和生活中遇见最大的挑战,怎么去克服?
未来有怎样的打算?
HashMap和Hashtable的区别?
实现一个保证迭代顺序的HashMap?
说一说排序算法,稳定性,复杂度?
说一说GC?
JVM如何加载一个类的过程,双亲委派模型中有哪些方法?
TCP如何保证可靠传输?三次握手过程?

四面:(HR)

主要交流为什么选择来阿里,未来的打算等,交流挺愉快。

蚂蚁金服

一面
分布式架构 50分钟
个人介绍加项目介绍20分钟
微服务架构是什么,它的优缺点?
ACID CAP BASE理论
分布式一致性协议,二段、三段、TCC,优缺点
RPC过程
服务注册中心宕机了怎么办?
微服务还有其他什么组件
分布式架构与微服务的关系
你有什么问题要问我的。

二面:1个小时
各种排序算法、未排序常规数据查找第K大的数,时间复杂度。
二叉树的深度
虚拟内存分页了解不?
进程和线程区别?
第一二三范式是什么?
一个表一千个列值为true和false,写sql 查询 有300个列值为true的行。
脏读和幻读是什么?
什么对象会从新生代晋升到老年代
一个任务分成十个任务,最后汇总计算,不能用fork/join
开源框架源码了解不?
数据建模两道、个人题开放性题
对安全方面了解多少?
安全协议有哪些 、https是啥?
介绍你做的项目和其中的难点。

三面
这部分比较注重技术深度
从ConcurrentHashMap一路问到锁&锁优化->LongAdder->伪共享->缓存行填充->cas等诸多技术细节;
从hystrix一路问到原理->自己如何实现->如何优化->响应流编程(reactive streams);
从简单的生产者消费者模式设计到如何高效健壮实现等等。

四面
如何倒序输出单向链表?
个人直接想法是用栈先进后出的特点,把链表数据读到栈里然后输出。
有更好的实现方式吗?
主要问项目情况,然后根据一个项目,问如果量级扩大1000倍,你会怎么做?有哪些优化措施?高性能&高可用措施?
五面:HR面
HR的问题都是基于公司最基本的利益出发的,所以会给大家抛出几大深坑问题:
个人的职业规划是什么
你遇到的最大问题或者是困难是什么
你如何看待阿里
你能为阿里带来什么
你的优缺点是什么

百度

百度高级java一面

自我介绍
对象相等的判断,equals方法实现。Hashcode的作用,与 equal 有什么区别?
Java中CAS算法?
G1回收器讲一下?
HashMap,ConcurrentHashMap与LinkedHashMap的区别
如何在多线程环境下使用Map,ConcurrentHashMap原理,ConcurrentHashMap如何加锁。
多线程并发的同步实现,有两个方法,每个方法里有a部分代码和b部分代码,我要让两个线程分别执行两个方法,并且让他们运行完a部分代码再一起向下执行,如何实现。
TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl。
aio,nio,bio的了解
ReetrantLock和synchronized的区别。
Java有哪些悲观锁的实现?
Java有哪些类实现了乐观锁?

二面
Spring两大特性?AOP和IOC
Spring的初始化过程?Spring bean的生命周期?
多个RPC请求进来,服务器怎么处理并发呢?
MySQL的索引实现原理?聚合索引和非聚合索引的区别?
MySQL有哪几种join方式,底层原理是什么?
MySQL的引擎讲一下,有什么区别,使用场景呢?
数据库的事务,四个性质说一下,分别有什么用?
常见的分布式事务解决方案有哪些?

三面
介绍项目,以及画相关的分布式架构图
数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决?
Netty的实现原理?
分布式下Redis如何保证线程安全
Redis怎么做持久化?两种持久化的区别?
MongoDB、Hbase、Memcached、Redis各自的应用场景和区别
Docker平时怎么使用的?
并发mysql的场景,查询优化怎么做?
设计一个高并发高可用的架构方案,关键核心设计?

京东

一面(基础面:约1个小时)

自我介绍,主要讲讲做了什么和擅长什么
springmvc和spring-boot区别
@Autowired的实现原理
Bean的默认作用范围是什么?其他的作用范围?
索引是什么概念有什么作用?MySQL里主要有哪些索引结构?哈希索引和B+树索引比较?
Java线程池的原理?线程池有哪些?线程池工厂有哪些线程池类型,及其线程池参数是什么?
hashmap原理,处理哈希冲突用的哪种方法?
还知道什么处理哈希冲突的方法?
Java GC机制?GC Roots有哪些?
Java怎么进行垃圾回收的?什么对象会进老年代?垃圾回收算法有哪些?为什么新生代使用复制算法?
HashMap的时间复杂度?HashMap中Hash冲突是怎么解决的?链表的上一级结构是什么?Java8中的HashMap有什么变化?红黑树需要比较大小才能进行插入,是依据什么进行比较的?其他Hash冲突解决方式?
hash和B+树的区别?分别应用于什么场景?哪个比较好?
项目里有个数据安全的,aes和md5的区别?详细点

二面(问数据库较多:约五1个小时)
自我介绍
为什么MyISAM查询性能好?
事务特性(acid)
隔离级别
SQL慢查询的常见优化步骤?
说下乐观锁,悲观锁(select for update),并写出sql实现
TCP协议的三次握手和四次挥手过程?
用到过哪些rpc框架
数据库连接池怎么实现
Java web过滤器的生命周期

三面(综合面,约五十分钟)
自我介绍。
ConcurrentHashMap 在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用HashMap,什么情况用ConcurrentHashMap?
加锁有什么机制?
ThreadLocal?应用场景?
数据库水平切分,垂直切分的设计思路和切分顺序
Redis如何解决key冲突
soa和微服务的区别?
单机系统演变为分布式系统,会涉及到哪些技术的调整?请从前面负载到后端详细描述。
设计一个秒杀系统?
四面:(HR面)
你自己最大优势和劣势是什么
平时遇见过什么样的挑战,怎么去克服的
工作中遇见了技术解决不了的问题,你的应对思路?
你的兴趣爱好?
未来的职业规划是什么?

美团

一面

线程池用过哪些,线程池有哪些参数,然后问我几个常用线程池的用法和实际场景问题。
集合框架的知识,hashmap,ArrayList,LinkedList源码相关知识,基本整个介绍了一遍,与hastable,concurrenthashmap相互的关联和区别
说几个垃圾回收器,cms回收器有哪几个过程,停顿几次,会不会产生内存碎片。老年代产生内存碎片会有什么问题。
讲讲快速排序,分析一下时间复杂度?
双亲委派模型介绍一下
java中同步、volatile关键字
jvm内存分区,为什么要有新生代和老年代
有做个JVM内存优化吗?
数据库索引 主键和唯一索引有什么区别
聚集索引和非聚集索引的区别?
MySQL存储引擎innoDB和MyISAM的区别?
innoDB的B+树索引叶子节点的Data域存储的是什么?MyISAM的B+树索引叶子节点的Data域存储的是主键还是物理地址?

二面

MySQL innodb的b+树索引,主键索引,聚簇索引有什么区别。
数据库四大特性
事务的四大隔离级别
jvm场景问题, 标记清除多次后老年代产生内存碎片,引起full gc,接下来可能发生什么问题。
MySQL里有哪些锁,行锁表锁,乐观锁呢
MySQL的死锁怎么产生的,举了两个例子。
dubbo里的zookeeper是做什么的
aio,nio,bio的了解,NIO的核心概念有哪些?
常用的NIO框架有哪些?优劣势

三面(总监面)
分布式下redis如何保证线程安全
redis持久化的方式以及区别
zookeeper如何实现分布式锁、其他分布式锁怎么实现
kafka的架构,如何用kafka保证消息的有序性
数据库的优化包含哪些?MySQL的优化,谈两个你优化的例子。
最有技术难度的项目,介绍下相关核心设计流程。
工作中,遇见了技术瓶颈无法解决,你的解决思路?
未来你的职业规划是怎么样?.

怎么做自己的职业规划

应届毕业生和工作3-5年阶段技术人员,优先推荐期间进入BAT较好。BAT里大家的共识是分为三类:技术优先进百度,运营进阿里,产品进腾讯,这个共识对很多人其实是没有意义的,因为你甚至一家都进不了,何谈选择。

下面我谈下个人经验,也许能给你带来点思路。我是在工作第三年加入阿里淘宝,截止到现在,淘宝这个阶段我还是认为这个阶段为自己打下了坚实的基础和视野,成长最快的还是在这个阶段,这是我个人的一个体会。

在早期阶段,你需要为自己打下坚实的基础,这个基础包含:技能、态度、沟通,还有一点至关重要,那就是“视野”,这一点的重要度,很多时候被职场的名利所忽视。视野听起来很宽泛,但如果你仔细辨认,其实一目了然,当你身边都是一流的人才的时候,你自然会学到很多,这其中的某些学到的品质,会影响你很久。

简要概括几点重点:

  1. 有机会快速认识很多牛人。
  2. 视野开阔很多,不仅仅在技术。
  3. 每次项目,你会接触潜在很多关于产品、运营、设计的知识,类似这些知识算是长期积累的过程,是经得起验证的知识体系。
  4. 早期进入,你的压力一定会很大,但成长也会很快,在里面锻炼几年你会比外面工作十年的厉害很多。
  5. 不管你是继续在BAT还是你准备以后离开,都是一个很好的信用背书,前提是你在里面做的还不错。
  6. 任何职场都有潜规则,但这个阶段你需要做到专注,专注提升自己的实力,潜规则放在一边,这个阶段需要专注提升。
  7. 如果你实在受不了太多的限制于约束,或者你完全可以独挡一片,当然你可以不进BAT,我只是告知你发展阶段的一种途径而已。

如何提高面试成功率

很多人说到面试,头一下就大了,各种不自信,是实力不够还是信心不够?面试除了需要你平时不断积累实力,另一方面也需要讲究面试方法和技巧。我特别喜欢一句话:不打没有准备的战。

第一步:快速聚焦岗位职责
1.至少职责先匹配上吧
重点关注面试职位的岗位职责,结合该岗位需要的知识体系,开始准备,这样聚焦。知识体系的匹配。很简单,自己上网搜,各种题库、各种解药。

2.凡事都要有针对性
尽量多了解相关公司所属行业地位和实际情况。根据成熟型公司或者创业型公司,进行适当调配重点。

第二步:准备你的亮点
岗位能匹配了,至少证明你能干活了,关键的来了。
你需要准备你的成功案例
不管你是做技术的、产品、运营,你有一件是你自己特别自豪,特别牛的案例?拿出来,给我们分享下。关于亮点,很多人不以为然,讲故事是一种很强的本事。如果你能很有逻辑的把一件事在10分钟内说得很清楚,这难道不是一种很强的沟通能力?
讲述你的案例
关于亮点的讲述,方法很简答,反复复盘。最好的方法就是不断练习,练习从头到尾的逻辑性,以及记录下你讲述的案例重点。再次练习。

第三步:展示你强大的自信
很多我面试过的人,有部分能力差一点的,最后让他们通过。很重要的一项:你的自信心。
从自我介绍开始,全程保持微笑
微笑的力量非常巨大,谁能拒绝一个爱笑的人呢?微笑,它可以快速缩短你与面试官之间的心理距离,为后续深入沟通,创造了一个和谐的氛围。
眼神不要飘忽,讲述平缓一点
还是聚焦,先聚焦面试官的眼睛珠(敢于正视一切眼神、体现自信与强大内心),这是一种最基本的尊重,也是展示你自信的一种方式。

最后,记得与面试官互动
如果你到了这里,请记得为面试官点个赞。如果他认可了你,一定会给你分享他的故事。 总之,想提高面试成功率,需要硬实力和软实力的同时提高。

怎样跳槽最有利于自身的发展?


跳槽不只是纯粹的“跳”,跳前的思考,跳前的准备,跳前的判断从何而来。
主动求发展
我把这一类放在第一项,主动出击求发展,这类属于已经有很明确的职业发展目标。
清楚得失,知道自己应该去哪,可以暂时忍受薪资降低。
补充一个例子,我认识一个朋友在深圳,为了叙事方便,暂时称为A先生。A先生是一个家创业公司的技术经理月薪在3万左右,之前做了一个决定,离开技术这个行业,加入一家创业的金融公司做销售。从技术直接转岗到另一个行业的销售,这个跨度很大。据后面A先生描述,前3个月一个单子都没有出,薪资只有底薪,从每月3万到每月1000元,甚至这1000元都快没了。A先生早期面临了很大的压力,为了活下来,A先生给自己定了一个小目标,再干3个月,为自己的最后的自损线,再不行就回去。据A先生描述,刚好他的第4个月出业绩了,后来信心来了,不断改进,越做越好,第5个月做到了他们公司第一。
最近听他分享了部分心得:很满意这次转型,从眼见到成熟度,再到个人性格塑造,再到薪资,都有了很大的进展。
当然,不是每一个人都能有这么好的结局,但是,如果你能承受这件事坏的方面,这样的尝试何乐而不为呢。毕竟,为你人生开启了一扇窗,一条更精彩的路。
发展遇到瓶颈
技术岗位的发展瓶颈比较多,如果你遇见了瓶颈,请认真思考诸如此类问题,跳槽后能否解决。

准备转管理,思维没跟上。
之前纯做技术岗位,如今准备往管理发展。从最早做好自己,到现在需要帮助别人成就自己,这是第一次思维方式的大转变。
沟通能力比较差,经常被同事嘲笑情商低。
任何人经常与机器打交道,疏于人打交道,交流沟通肯定会弱化,这个是不争的事实。接受现状,偶尔自嘲自己,然后再改进,是最好的办法。
技术在公司没有得到尊重,毫无话语权。
每周例会,技术部经常被同级部门挤兑,自己毫无办法,甚至老板也这样觉得。其实并不是你不行,而是你让他们觉得你不行。学会发声,你真做好了,谁敢挤兑你,很多技术人觉得发声很难,还是老话,多练习。
安于现状,一件事情能重复做5年
一个业务模块做了5年,你说还有个哪个产品经理比你更懂。稍微有点产品意识的,早转产品了,那你还抱怨说你没机会。

遇见不靠谱老板

  1. 承若的事情,不兑现
  2. 拒绝承担责任
  3. 过河拆桥
  4. 吝啬
  5. 喜欢权术
  6. 任人唯亲
  7. 自私

你只有吃透你的跳槽诉求,再排除部分不靠谱的干扰,我想一定会比上次选择的更好。

最后

以上内容大部分都是帮助进入BAT等一线互联网公司的方法。成长还有很多别的方法和渠道。在创业公司你一样可以锻炼的很出色。但是按照几率来讲,早期进入一线互联网企业,更有利于未来的发展,特别是做技术开始的。

最后,除了以上部分,谈谈我个人的建议
任何是事情要学会先思而行,不仅仅适用于工作选择,更适用于发展。没想好,没想透不要紧,但一定要有这样的思维方式。

闲赋在家的猿们、接下来怎么走?相关推荐

  1. “38岁,闲赋在家,失业两年”:比不努力更可怕的,是没有方向

    有网友问:38岁失业两年了,期间也试过自己做点生意都失败了!坐标武汉,这个尴尬的年纪该怎么办? 38岁的年纪,确实有些尴尬,很多人在这个年纪已经非常有成就,做到一个公司的中层甚至高管. 所以,你提到自 ...

  2. 爬虫(七):虎牙直播爬虫

    由于一直闲赋在家,很烦躁.人生路差点走歪,所幸还是回来了. 一.环境 平台:windows10 解释器:vscode 二.网页分析 这里主要有三个地方: (1)周榜是json动态生成的 "h ...

  3. 适合大部分人做的线上兼职,在家也能有个两三千的收入

    想要赚钱,兼职,副业成为了现代人的首要追求.人们繁忙的工作中往往会感到空虚和无趣,但现在有一个好消息:可以在家中轻松地做一份适合大部分人的线上兼职,轻松赚取两三千的收入! 现代人的兴趣和需求非常多样化 ...

  4. 我是如何用微信抢红包一年抢了一千万的

     以前工作养成的习惯.每到这个时候都该写年终总结了.2015年给我最震撼的依旧是互联网,我从里面学到了很多,也得到了很多.本着互联网开源分享的精神,我说说我这一年都干了什么,如何从一个屌丝赚到第一 ...

  5. 【正一专栏】如果世界杯上没有了意大利

    如果世界杯上没有了意大利 原创 2017-11-13 九天 九天时空 2018年俄罗斯世界杯预选赛已经进入到最后的时刻,随着克罗地亚和瑞士的顺利出线,欧洲区附加赛也将在明天凌晨落下帷幕,诞生最后两支进 ...

  6. 360 php offer,审批终于通过了,从面试到拿到奇虎360的offer已经失…

    审批终于通过了,从面试到拿到奇虎360的offer已经失业两周了( •͈ᴗ⁃͈)ᓂ- - -♡ 小运营大太阳:沾沾喜气 程序猿.南兰:沾沾喜气 360员工:欢迎来到酒仙桥第一养老院 美团点评员工:[ ...

  7. 风变编程python笔记_自学Python和风变编程

    打算看小丑,看完肯定特压抑就把定下来要写的先写了. 其实接触到Python特简单,某天看了一个公众号的推送,里面写了关于Python的文章然后推荐了一个课程就是风变编程的体验课,几块钱.现在闲赋在家觉 ...

  8. 别让你20多岁的活法,毁掉你30岁后的人生

    01 20多岁的年轻人 你知道你30岁会站在哪里么? 有一次我开车载着儿子等红绿灯, 看到一位中年男人,广告举牌员, 站在路口压低帽沿, 等红灯车子都停下时, 他就把手上的牌子举高. 这时,儿子问: ...

  9. [Android]天气App 1

    闲赋在家,无事可做就想着做点东西,于是乎把玩手机,我最常用的就是看天气,基本上我每天起来第一件事就是看天气,哈哈,用别人的这么爽,为什么不自己整一个关于天气的应用呢,墨迹天气.小米系统自带的天气.ya ...

  10. 古代银票里的加密知识

    前言 今天学点金融知识,闲赋在家看<乔家大院>的时候发现古时候银票交易,比较感兴趣,特意研究了一番,有兴趣的同学一起看看. 为什么要用银票? 一个由人创造的事物出现肯定有原因,这里先看一下 ...

最新文章

  1. .net获取ip地址
  2. 1.6 多项式回归-机器学习笔记-斯坦福吴恩达教授
  3. OpenResty介绍
  4. HttpService远程校验
  5. storm简介(大数据技术)
  6. LINUX 文件合并,去重
  7. 计算机可以配置端口号吗,如何设置打印机端口,详细教您设置电脑打印机端口...
  8. Mac 不能进入睡眠模式,如何修复?
  9. lan speed test怎么用_别浪费,你家的200M光纤真的用起来了吗?
  10. 11. 挑战500强管理职位前的苦逼生活
  11. 「好文分享」我为什么从Google 辞职开始为自己工作?
  12. Mandriva Linux 2012 Alpha 2 发布
  13. 关于vmware无法访问互联网
  14. project-attact of panda virus
  15. x86_64汇编之二:x86_64的基本架构(寄存器、寻址模式、指令集概览)
  16. 堆栈溢出:Stack overflow (参数: 0x0000000000000001, 0x0000005410A03FF8)
  17. DFS 简单的剪枝和状态压缩 海贼王之伟大航路
  18. 45-网上商城数据库-商品分类数据操作(二)
  19. 海南大学考研人,你真的马上就要上岸了
  20. 发现【Stable-Diffusion WEBUI】的插件:不健康内容过滤器

热门文章

  1. h5通过当前时间获取农历日期
  2. OLED多级菜单记录
  3. 忍者必须死3突然服务器维修,《忍者必须死3》3月12日2:00停服维护公告
  4. 2021-06-08
  5. 数据结构试卷及答案(七)
  6. gtest中死亡测试
  7. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:Mega + ESP8266 + MQ2烟雾 + MQ3酒精 + MQ7一氧化碳+ OLED + 阿里云物联网平台 + 微信小程序
  8. CODOSYS之结构化文本(ST)—— 初级篇(二)简介与基本概念
  9. 移动互联网创业者遭遇巨头模仿蚕食
  10. 使用Docker-Slim对Docker镜像进行瘦身打包