美文网首页互联网科技
金九银十已到,阿里秋招面试全解析,含内推岗十一类145题分享

金九银十已到,阿里秋招面试全解析,含内推岗十一类145题分享

作者: Java小朔哥 | 来源:发表于2019-08-20 01:04 被阅读2次

    俗话说金九银十,不过国内主流的互联网大厂早在 8 月份都开放了秋招申请,秋招有哪些需要注意事项?如何通过秋招?就是我们今天要聊的话题。

    秋招的流程如下:

    网申:筛选简历;

    笔试:可能是现场笔试或者是线上笔试;

    面试:同样可能有现场面试或者视频面试、电话面试;

    获得 Offer:一般会先给口头 Offer,录用通知书,最后给正式 Offer;

    签约:也就是签三方协议,签了三方协议你就晋级为此公司的正式员工了。

    大厂秋招申请地址:

    阿里巴巴:http://1t.click/Bru

    腾讯:https://join.qq.com/

    字节跳动:http://1t.click/Brn

    百度:http://1t.click/Brt

    华为:http://1t.click/Brv

    滴滴:http://1t.click/Br3

    美团:http://1t.click/Bry

    小米:http://1t.click/BrD

    京东:http://1t.click/BrF

    B站:http://1t.click/Brw

    搜狐:http://1t.click/Brx

    生源要求:2019年10月1日-2020年9月30日期间毕业、本科及以上全日制学历的同学。

    01

    秋招 VS 春招

    秋招一般是在毕业前一年的秋天开始的,而春招则是秋招之后的下一个春天开始的。

    秋招和春招的最大区别是:秋招招聘的人数和招聘的公司要远大于春招,春招相当于补招,就相当于之前招聘的人不够,或者有人没有达到岗位的标准,再或者是有人放弃了 Offer 等原因。

    所以,我们一定要保证在秋招时能有所收获。

    02

    秋招注意事项

    1. 避免连续投递简历

    这里以阿里巴巴为例。阿里系内部采用的是同一个应聘系统,面试官可以看到你之前的应聘记录,为了提高效率,自然会参考之前的面试评价,如果你短时间内连续投递简历被拒,会给后面的面试官留下很不好的印象。

    2. 简历一定要简明扼要,直击要点

    合格的简历除了要有一定的美观度之外(注意所谓的美观并不是花里胡哨,这样反而会起到副作用),最重要的是一定要简明扼要,直击要点,具体来说必须包含以下内容:

    基本信息要全:姓名、性别、年龄、籍贯、邮箱、手机号、微信号等;

    教育背景要全:起止时间、学校、专业/学位;

    工作经历/实习经历;

    项目/研究课题:这个是很重要的项一定要表述简洁且把问题清晰清楚;

    所获奖项/个人特长

    03

    面试通关攻略

    秋招掌握扎实的基础无疑是获得 Offer 的基础,如果能获得更高水平的技术知识和实用的企业常用技能,那离 Offer 就不远了。

    一、数据结构与算法基础

    1· 说一下几种常见的排序算法和分别的复杂度。

    2· 用Java写一个冒泡排序算法

    3· 描述一下链式存储结构。

    4· 如何遍历一棵二叉树?

    5· 倒排一个LinkedList。

    6· 用Java写一个递归遍历目录下面的所有文件。

    二、Java基础

    7· 接口与抽象类的区别?

    8· Java中的异常有哪几类?分别怎么使用?

    9· 常用的集合类有哪些?比如List如何排序?

    10· ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和优缺点?

    11· 内存溢出是怎么回事?请举一个例子?

    12· ==和equals的区别?

    13· hashCode方法的作用?

    14· NIO是什么?适用于何种场景?

    15· HashMap实现原理,如何保证HashMap的线程安全?

    16· JVM内存结构,为什么需要GC?

    17· NIO模型,select/epoll的区别,多路复用的原理

    18· Java中一个字符占多少个字节,扩展再问int, long, double占多少字节

    19· 创建一个类的实例都有哪些办法?

    20· final/finally/finalize的区别?

    21· Session/Cookie的区别?

    22· String/StringBuffer/StringBuilder的区别,扩展再问他们的实现?

    23· Servlet的生命周期?

    24· 如何用Java分配一段连续的1G的内存空间?需要注意些什么?

    25· Java有自己的内存回收机制,但为什么还存在内存泄露的问题呢?

    26· 什么是java序列化,如何实现java序列化?(写一个实例)?

    27· String s = new String("abc");创建了几个 String Object?

    三、JVM

    28· JVM堆的基本结构。

    29· JVM的垃圾算法有哪几种?CMS垃圾回收的基本流程?

    30· JVM有哪些常用启动参数可以调整,描述几个?

    31· 如何查看JVM的内存使用情况?

    32· Java程序是否会内存溢出,内存泄露情况发生?举几个例子。

    33· 你常用的JVM配置和调优参数都有哪些?分别什么作用?

    34· JVM的内存结构?

    35· 常用的GC策略,什么时候会触发YGC,什么时候触发FGC?

    四、多线程/并发

    36. 如何创建线程?如何保证线程安全?

    37· 如何实现一个线程安全的数据结构

    38· 如何避免死锁

    39· Volatile关键字的作用?

    40· HashMap在多线程环境下使用需要注意什么?为什么?

    41· Java程序中启动一个线程是用run还是start?

    42· 什么是守护线程?有什么用?

    43· 什么是死锁?如何避免

    44· 线程和进程的差别是什么?

    45· Java里面的Threadlocal是怎样实现的?

    46· ConcurrentHashMap的实现原理是?

    47· sleep和wait区别

    48· notify和notifyAll区别

    49· volatile关键字的作

    50· ThreadLocal的作用与实现

    51· 两个线程如何串行执行

    52· 上下文切换是什么含义

    53· 可以运行时kill掉一个线程吗?

    54· 什么是条件锁、读写锁、自旋锁、可重入锁?

    55· 线程池ThreadPoolExecutor的实现原理?

    五、Linux使用与问题分析排查

    56· 使用两种命令创建一个文件?

    57· 硬链接和软链接的区别?

    58· Linux常用命令有哪些?

    59· 怎么看一个Java线程的资源耗用?

    60· Load过高的可能性有哪些?

    61· /etc/hosts文件什么做用?

    62· 如何快速的将一个文本中所有“abc”替换为“xyz”?

    63· 如何在log文件中搜索找出error的日志?

    64· 发现磁盘空间不够,如何快速找出占用空间最大的文件?

    65· Java服务端问题排查(OOM,CPU高,Load高,类冲突)

    66· Java常用问题排查工具及用法(top, iostat, vmstat, sar, tcpdump, jvisualvm, jmap, jconsole)

    67· Thread dump文件如何分析(Runnable,锁,代码栈,操作系统线程ID关联)

    68· 如何查看Java应用的线程信息?

    六、框架使用

    69· 描述一下Hibernate的三个状态?

    70· Spring中Bean的生命周期。

    71· SpringMVC或Struts处理请求的流程。

    72· Spring AOP解决了什么问题?怎么实现的?

    73· Spring事务的传播属性是怎么回事?它会影响什么?

    74· Spring中BeanFactory和FactoryBean有什么区别?

    75· Spring框架中IOC的原理是什么?

    76· spring的依赖注入有哪几种方式

    77· struts工作流程

    78· 用Spring如何实现一个切面?

    79· Spring 如何实现数据库事务?

    80· Hibernate对一二级缓存的使用,Lazy-Load的理解;

    81· mybatis如何实现批量提交?

    七、数据库相关

    82· MySQL InnoDB、Mysaim的特点?

    83· 乐观锁和悲观锁的区别?

    84· 数据库隔离级别是什么?有什么作用?

    85· MySQL主备同步的基本原理。

    86· select * from table t where size > 10 group by size order by size的sql语句执行顺序?

    87· 如何优化数据库性能(索引、分库分表、批量操作、分页算法、升级硬盘SSD、业务优化、主从部署)

    88· SQL什么情况下不会使用索引(不包含,不等于,函数)

    89· 一般在什么字段上建索引(过滤数据最多的字段)

    90· 如何从一张表中查出name字段不包含“XYZ”的所有行?

    100· MySQL,B+索引实现,行锁实现,SQL优化

    101· Redis,RDB和AOF,如何做高可用、集群

    102· 如何解决高并发减库存问题

    103· mysql存储引擎中索引的实现机制;

    104· 数据库事务的几种粒度;

    105· 行锁,表锁;乐观锁,悲观锁

    八、网络协议和网络编程

    106· TCP建立连接的过程。

    107· TCP断开连接的过程。

    108· 浏览器发生302跳转背后的逻辑?

    109· HTTP协议的交互流程。HTTP和HTTPS的差异,SSL的交互流程?

    110· Rest和Http什么关系?大家都说Rest很轻量,你对Rest风格如何理解?

    111· TCP的滑动窗口协议有什么用?讲讲原理。

    112· HTTP协议都有哪些方法?

    113· 交换机和路由器的区别?

    114· Socket交互的基本流程?

    115· 协议(报文结构,断点续传,多线程下载,什么是长连接)

    116· tcp协议(建连过程,慢启动,滑动窗口,七层模型)

    117· webservice协议(wsdl/soap格式,与rest协议的区别)

    118· NIO的好处,Netty线程模型,什么是零拷贝

    九、Redis等缓存系统/中间件/NoSQL/一致性Hash等

    119· 列举一个常用的Redis客户端的并发模型。

    120· HBase如何实现模糊查询?

    121· 列举一个常用的消息中间件,如果消息要保序如何实现?

    122· 如何实现一个Hashtable?你的设计如何考虑Hash冲突?如何优化?

    123· 分布式缓存,一致性hash

    124· LRU算法,slab分配,如何减少内存碎片

    125· 如何解决缓存单机热点问题

    126· 什么是布隆过滤器,其实现原理是? False positive指的是?

    127· memcache与redis的区别

    128· zookeeper有什么功能,选举算法如何进行

    129· map/reduce过程,如何用map/reduce实现两个数据源的联合统计

    十、设计模式与重构

    130· 你能举例几个常见的设计模式

    131· 你在设计一个工厂的包的时候会遵循哪些原则?

    132· 你能列举一个使用了Visitor/Decorator模式的开源项目/库吗?

    133· 你在编码时最常用的设计模式有哪些?在什么场景下用?

    134· 如何实现一个单例?

    135· 代理模式(动态代理)

    136· 单例模式(懒汉模式,恶汉模式,并发初始化如何解决,volatile与lock的使用)

    137· JDK源码里面都有些什么让你印象深刻的设计模式使用,举例看看?

    十一:微服务

    138、什么是微服务?

    139、微服务之间是如何独立通讯的

    140、springCloud和dubbo 有哪些区别?

    141、springboot和springcloud,请你谈谈对他们的理解?

    142、什么是微服务熔断?什么是服务降级?

    143、微服务的优缺点分别是什么?说下你在项目开发中碰到的坑

    144、你所知道的微服务技术栈有哪些?请列举一二

    145、eureka和zookeeper都可以提供服务的注册和发现的功能,请说说两个的区别?

    相关文章

      网友评论

        本文标题:金九银十已到,阿里秋招面试全解析,含内推岗十一类145题分享

        本文链接:https://www.haomeiwen.com/subject/wagysctx.html