关键词:
前言
15年毕业到现在也近三年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中...
最终有幸去了网易。
但是要特别感谢点我达的领导及HR,真的非常非常好,很感谢他们一直的关照和指导。
面试整体事项
- 简历要准备好,联系方式一定要正确清晰醒目,项目经历按照时间倒序阐述,注意描述自己在项目中承担的职责,简历的模板尽量选择简洁的,毕竟程序员大部分还是喜欢简单明了的。
- 推荐boss直聘,我觉得很好用(不是广告)。
- 一般的整体面试流程都是电面->现场面->HR面->等着。
- 不要觉得HR说让你回去等消息就是GG了,他们也要跟你之前的面试官讨论,再向领导汇报,如果说不急可能还要和其他候选人比较,所以HR让你回去等消息绝对不是说明你完蛋了。
- 面试前准备好自我介绍,1分钟左右就可以,可以写在纸上,电面可以照着念,等你到了现场面了基本也都快背下来你的自我介绍了。
- 准备好扎实的基础,这是一切的根源,没实力怎么都没用的。
- 面试中你可以把你的面试官往你会的知识上引导(我遇到过你会什么他不问什么的)。
- 遇到了设计类题目不要着急,面试官不是为了让你几分钟设计一个高并发高可用设计模式完美的架构,只是想看看你的思路,看看你应变的能力,然后给你些提示看看你能否迅速的调整。
- offer都会有的,不要着急,把面试当成一个交流的过程。
需要准备的知识
以下为在近期面试中比较有印象的问题,也就不分公司了,因为没什么意义,大致分类记录一下,目前只想起这么多,不过一定要知道这些问题只是冰山一角,就算都会了也不能怎么样,最最重要的,还是坚实的基础,清醒的头脑。
Java基础
- HashMap的源码,实现原理,JDK8中对HashMap做了怎样的优化。
- HaspMap扩容是怎样扩容的,为什么都是2的N次幂的大小。
- HashMap,HashTable,ConcurrentHashMap的区别。
- 极高并发下HashTable和ConcurrentHashMap哪个性能更好,为什么,如何实现的。
- HashMap在高并发下如果没有处理线程安全会有怎样的安全隐患,具体表现是什么。
- java中四种修饰符的限制范围。
- Object类中的方法。
- 接口和抽象类的区别,注意JDK8的接口可以有实现。
- 动态代理的两种方式,以及区别。
- Java序列化的方式。
- 传值和传引用的区别,Java是怎么样的,有没有传值引用。
- 一个ArrayList在循环过程中删除,会不会出问题,为什么。
- @transactional注解在什么情况下会失效,为什么。
数据结构和算法
- B+树
- 快速排序,堆排序,插入排序(其实八大排序算法都应该了解
- 一致性Hash算法,一致性Hash算法的应用
JVM
- JVM的内存结构。
- JVM方法栈的工作过程,方法栈和本地方法栈有什么区别。
- JVM的栈中引用如何和堆中的对象产生关联。
- 可以了解一下逃逸分析技术。
- GC的常见算法,CMS以及G1的垃圾回收过程,CMS的各个阶段哪两个是Stop the world的,CMS会不会产生碎片,G1的优势。
- 标记清除和标记整理算法的理解以及优缺点。
- eden survivor区的比例,为什么是这个比例,eden survivor的工作过程。
- JVM如何判断一个对象是否该被GC,可以视为root的都有哪几种类型。
- 强软弱虚引用的区别以及GC对他们执行怎样的操作。
- Java是否可以GC直接内存。
- Java类加载的过程。
- 双亲委派模型的过程以及优势。
- 常用的JVM调优参数。
- dump文件的分析。
- Java有没有主动触发GC的方式(没有)。
多线程
- Java实现多线程有哪几种方式。
- Callable和Future的了解。
- 线程池的参数有哪些,在线程池创建一个线程的过程。
- volitile关键字的作用,原理。
- synchronized关键字的用法,优缺点。
- Lock接口有哪些实现类,使用场景是什么。
- 可重入锁的用处及实现原理,写时复制的过程,读写锁,分段锁(ConcurrentHashMap中的segment)。
- 悲观锁,乐观锁,优缺点,CAS有什么缺陷,该如何解决。
- ABC三个线程如何保证顺序执行。
- 线程的状态都有哪些。
- sleep和wait的区别。
- notify和notifyall的区别。
- ThreadLocal的了解,实现原理。
数据库相关
- 常见的数据库优化手段
- 索引的优缺点,什么字段上建立索引
- 数据库连接池。
- durid的常用配置。
计算机网络
- TCP,UDP区别。
- 三次握手,四次挥手,为什么要四次挥手。
- 长连接和短连接。
- 连接池适合长连接还是短连接。
设计模式
- 观察者模式
- 代理模式
- 单例模式,有五种写法,可以参考文章单例模式的五种实现方式
- 可以考Spring中使用了哪些设计模式
分布式相关
- 分布式事务的控制。
- 分布式锁如何设计。
- 分布式session如何设计。
- dubbo的组件有哪些,各有什么作用。
- zookeeper的负载均衡算法有哪些。
- dubbo是如何利用接口就可以通信的。
缓存相关
- redis和memcached的区别。
- redis支持哪些数据结构。
- redis是单线程的么,所有的工作都是单线程么。
- redis如何存储一个String的。
- redis的部署方式,主从,集群。
- redis的哨兵模式,一个key值如何在redis集群中找到存储在哪里。
- redis持久化策略。
框架相关
- SpringMVC的Controller是如何将参数和前端传来的数据一一对应的。
- Mybatis如何找到指定的Mapper的,如何完成查询的。
- Quartz是如何完成定时任务的。
- 自定义注解的实现。
- Spring使用了哪些设计模式。
- Spring的IOC有什么优势。
- Spring如何维护它拥有的bean。
一些较新的东西
- JDK8的新特性,流的概念及优势,为什么有这种优势。
- 区块链了解
- 如何设计双11交易总额面板,要做到高并发高可用。
一些小建议
- 可以去leetcode上刷题换换思路。
- 八大排序算法一定要手敲一遍(快排,堆排尤其重要)。
- 了解一些新兴的技术。
- 面试之后面试官都会问你有没有什么问题,千万不要没问题,也别傻乎乎的问一些敏感问题。
- 了解你要面试的公司的产品及竞争产品。
几个链接
总结
无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
如果这些文字能够帮到你,那就最好了,帮不到就当是我自己的一个记录。
最后,希望大家都能找到适合自己的公司,开开心心的撸代码~
作者:vipwhr
一样令人心情愉悦
看文章和听音乐更配哟,日常水文一篇。双休也有坏处,在家宅了一天,看了三部电影(分手大师、羞羞的铁拳和西虹市首富),最近偏爱沈腾和黄渤的喜剧电影,吃了两顿饭,点了两次外卖。晚... 查看详情
跑步和写文章一样令人心情愉悦
看文章和听音乐更配哟,日常水文一篇。双休也有坏处,在家宅了一天,看了三部电影(分手大师、羞羞的铁拳和西虹市首富),最近偏爱沈腾和黄渤的喜剧电影,吃了两顿饭,点了两次外卖。晚... 查看详情
以水平、令人愉悦的方式显示属性
】以水平、令人愉悦的方式显示属性【英文标题】:Displayingpropertiesinahorizontal,pleasantway【发布时间】:2017-06-3011:10:40【问题描述】:我有两个整数属性,想在一行中显示它们。[CustomEditor(typeof(MazeConfiguration))]publicclassMazeConfiguration... 查看详情
为了让自己心情愉悦,我用python把美妞得图片制成了gif设置桌面(代码片段)
...,每天美女必然少不了~每天看美女,只为了愉悦心情,心情好了,才长寿。于是怀揣着愉悦心情的想法,我开始制作GIF动图生成器这个小工具制作的目的是为了将多张图片组合后生成一张动态的GIF图片。设置... 查看详情
瞬间心情愉悦,头发都少掉了几根!---django+uwsgi+nginx项目部署超详细步骤(代码片段)
文章目录瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤先决条件步骤本地运行测试上传服务器环境安装准备django程序完美解决!瞬间心情愉悦,头发都少掉了几根!—Django+u... 查看详情
bzoj2157:旅游
...以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray经过这座桥会增加w的愉悦度,这或 查看详情
[bzoj2157]旅游
...以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray经过这座桥会增加w的愉悦 查看详情
如何打造一个令人愉悦的前端开发环境(代码片段)
前情提要上一篇文章介绍了目前前端比较流行的各种编辑器,以及各种流行的打包方式,最后给了一个Gulp的例子,这个例子还是14年的时候写的,还有一些可以优化的空间,就不讨论了,这篇文章主要讲目前火热的打包构建方式... 查看详情
波尔原子模型:一段令人愉悦的历史(代码片段)
波尔的原子理论 波尔的原子理论 01波尔原子模型BohrModel:ADelightfulHistory[CC]一、前言 尼尔斯·波尔在其晚年曾谈到, 直到1913年人们对于氢气燃烧的光线中的物理规律还是一无所知,尽管它的谱线满足一定的模式... 查看详情
如何打造一个令人愉悦的前端开发环境(代码片段)
文章来源最近几年,前端发展越来越迅速,各种萌新加入了前端这个大家庭,大有赶IOS、超Android的趋势呀!同时,萌新们提出了各种前端工作问题,除了最基础的html、css、js三板斧之外,最让人头疼的应该是关于环境的配置问... 查看详情
我用python做了个动图生成器,把一千个mm生成了gif设置桌面,只为每天愉悦心情(代码片段)
...,美女必然少不了,每天看美女,只为了愉悦心情,心情好了,才长寿。于是怀揣着愉悦心情的想法,我开始制作GIF动图生成器,想要用Python来做成美女壁纸,行动起来。这个小工 查看详情
bzoj2157旅行模拟
...以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray经过这座桥会增加w的愉悦度,这或许是正的也可 查看详情
p1505[国家集训队]旅游(代码片段)
...以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray经过这座桥会增加w的愉悦度,这或许是正的也可能是负的。有时,Ray看待同一座桥的心情也会发生改变。现... 查看详情
bzoj2157旅游(代码片段)
...以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray经过这座桥会增加w的愉悦度,这或许是正的也可能 查看详情
[国家集训队]旅游(代码片段)
...以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray经过这座桥会增加w的愉悦度,这或许是正的也可能是负的。 查看详情
此时此刻的心情二——2018年9月5日21:32:38
心情依旧很焦灼,不过今天接到了两个电话面试的邀请。今天下午5点参与了第一次的电话面试。可想而知,第一次面试面的不是很好。面试官提出的一些问题,之前总结过也忘了。面试官主要问了,jvm,多线程,dubb... 查看详情
2022年unity面试题五萬字二佰道unity面试题大全,面试题总结全网最全,收藏一篇足够面试(代码片段)
目录??前言??Unity面试题大全??C#基础1.重载和重写的区别2.面向对象的三大特点3.简述值类型和引用类型有什么区别4.请简述private,public,protected,internal的区别5.C#中所有引用类型的基类是什么6.请简述ArrayList和List的主... 查看详情
2022年unity面试题|五萬字二佰道|unity面试题大全,面试题总结全网最全,收藏一篇足够面试(代码片段)
目录📢前言🎬Unity面试题大全❤️C#基础1.重载和重写的区别2.面向对象的三大特点3.简述值类型和引用类型有什么区别4.请简述private,public,protected,internal的区别5.C#中所有引用类型的基类是什么6.请简述ArrayL... 查看详情