阿里校招准备-总纲

第一阶段 6.7.8月

一些底层的原理和项目中出现问题后的解决方案。

点子: 大数据与算法结合的博客??? 是否可以写起来

技术岗的笔试一般会考察基础知识(客观题)+编程实操(在线oj)

java等其他基础先放下.  进入下一队列

 三个月时间,有效学习时间大约60天,每天分为上午下午晚上,有一个时间段固定来做科研,一个时间段补基础,另一个时间段竞赛刷题等苦力活

对于基础:60个学天,大约6个主题,每个主题10天,大约20个学时; 

第一遍下来主要是基础知识的积累;因为技能树太繁杂与时间原因,可能第一遍下来,只能停留在书本知识点层次,在准备期间,考思考接下来如何如何能提高下!

三门课:数据结构算法与编程语言 ,机器学习数据挖掘与大数据 , cs基础操作系统,数据库,网络

------------------------

通俗说只有40天的时间,1/3的时间都被我浪费了,然而进度依然是零; 这才是真实的自己吗???

这40天,究竟要做什么那? 大数据? 算法?  基础知识? 刷笔试题? 懒是一部分,但是策略失败肯定也是一大部分;

这第一阶段剩下的时间,究竟做什么?  

0.刷题,算法题,每天有时间就要两道题,然后注意总结!!! 早上来到,晚上晚自习开始的时候

1.跟着师兄师姐体验bat等今年秋招;

2.大数据工具一定熟悉起来,一定一定,因为这个是第一顺位的岗位了! 下午时间

3.竞赛,这个一定要开始关注了,已经没有时间了!!!以后所有的晚上时间都来做竞赛,除了意外! 所有

4.算法知识的补充,趁着现在,再结合大数据和算法搞一下, 记住要结合大数据工具!!! 复习一遍,看看各个地方能不能有新的突破, 在大数据工具学习之余学习算法,每天一点点吧,作为大数据工具的补充

5.科研与实验室工作,异常事件检测的小论文问题,无人机快递的比赛问题; 这些都放在上午去做; 异常事件检测这几个月最好能鼓捣出小论文的模样, 包括试验和论文

 

不做什么,贪多嚼不烂,以我的性格,连吃可能都不去吃了

1.其他基础知识的补充学习,

调整职业规划与重复完善知识体系!

笔试刷题是王道,面试套路得人心!

总纲 2018.6.1

今天是2018年6月1日,从今天起,准备校招,拿出准备考研初试的态度来,准备明年春季的阿里3月份春招!

总共6,7,8,9,10,11,12,1,2总计9个月的时间;按照之前的经验分为三个阶段。

6,7,8为第一个阶段,基础阶段:主要是弄清楚主要的准备思路各部分都要很熟悉,达到能够工作的水平,,这个阶段点要广,能力达到及格水平,可以熟练的面对笔试面试题目。

9,10,11,12为第二个阶段是提高阶段:把之前三个月积累的各个点再往下深挖,巩固知识点。

1,2月份是最终的两个月时间,需要把前面所有的东西都理清楚,模拟面试等

方向

算法工程师(偏算法研究方面):通常负责数据清洗和过滤、特征工程、算法效果提升,以及算法的调研、实现,并将其应用于业务,注意,算法工程师通常不局限于机器学习算法,这种对知识背景要求也比较高一些。

数据挖掘工程师(偏业务部门):,主要是应用机器学习和数据挖掘算法,进行用户行为分析和用户属性挖掘,为算法和业务场景提供支持,Java、Python、Scala 、R,会一门就差不多了,当然这是大数据时代,熟悉 Hadoop/Spark 更好

数据研发工程师:ELT,hadoop,spark,hbase,一般就是负责数据仓库创建或者数据分析平台的开发、设计、运,要对 Hadoop、Hive、Spark、Storm 等框架原理比较熟悉

基础知识课程(需要在接下来一段时间,搞清楚需要的技术栈,专项学习)

编程语言java:

1. 把我之后的面经过一遍,Java感觉覆盖的就差不多了,不过下面还是分个类。

2. Java基础(面向对象、四个特性、重载重写、static和final等等很多东西)

3. 集合(HashMap、ConcurrentHashMap、各种List,最好结合源码看)

4. 并发和多线程(线程池、SYNC和Lock锁机制、线程通信、volatile、ThreadLocal、CyclicBarrier、Atom包、CountDownLatch、AQS、CAS原理等等)

5. JVM(内存模型、GC垃圾回收,包括分代,GC算法,收集器、类加载和双亲委派、JVM调优,内存泄漏和内存溢出)

6. IO/NIO相关

7. 反射和代理、异常、Java8相关、序列化

8. 设计模式(常用的,jdk中有的)

9. Web相关(servlet、cookie/session、Spring<AOP、IOC、MVC、事务、动态代理>、Mybatis、Tomcat、Hibernate等)

10. 看jdk源码

编程语言python:

----

操作系统与分布式: linux,shell

核心问题:linux内存分配,CPU调度,

1. 进程通信IPC(几种方式),与线程区别

2. OS的几种策略(页面置换,进程调度等,每个里面有几种算法)

3. 互斥与死锁相关的

4. linux常用命令(问的时候都会给具体某一个场景)

5. Linux内核相关(select、poll、epoll)

计算机网络:http,tcp/ip 实现 udp; 负载均衡

总之,网络通信问题能搞的多清楚就可以搞的多清楚,最起码把tcp应用层的各种socket API的用法细节搞清楚。

1. OSI7层模型(TCP4层)

§ 每层的协议

§ url到页面的过程

2. HTTP

§ http/https 1.0、1.1、2.0

§ get/post 以及幂等性

§ http 协议头相关

§ 网络攻击(CSRF、XSS)

3. TCP/IP

§ 三次握手、四次挥手 细节

§ 拥塞控制(过程、阈值)流量拥塞和控制机制、腾讯问过tcp和ip包头常见有哪些字段),阻塞和非阻塞socket在send、recv函数上的行为表现,异步connect函数的写法,select函数的用法,epoll与select的区别,

§ 流量控制与滑动窗口

§ TCP与UDP比较

§ 子网划分(一般只有笔试有)

§ DDos攻击

4. (B)IO/NIO/AIO

§ 三者原理,各个语言是怎么实现的

§ Netty

§ Linux内核select poll epoll

传统数据库与nosql; mysql redis memcache:

1. 索引(包括分类及优化方式,失效条件,底层结构)

2. sql语法(join,union,子查询,having,group by)

3. 引擎对比(InnoDB,MyISAM)

4. 数据库的锁(行锁,表锁,页级锁,意向锁,读锁,写锁,悲观锁,乐观锁,以及加锁的select sql方式)

5. 隔离级别,依次解决的问题(脏读、不可重复读、幻读)

6. 事务的ACID

7. B树、B+树

8. 优化(explain,慢查询,show profile)

9. 数据库的范式。

10. 分库分表,主从复制,读写分离。

11. Nosql相关(redis和memcached区别之类的,如果你熟悉redis,redis还有一堆要问的)

数据结构与算法: LeetCode medium难度

1. 数组、链表、二叉树、队列、栈的各种操作(性能,场景)

2. 二分查找和各种变种的二分查找

3. 各类排序算法以及复杂度分析(快排、归并、堆)

4. 各类算法题(手写)

5. 理解并可以分析时间和空间复杂度。

6. 动态规划(笔试回回有。。)、贪心。

7. 红黑树、AVL树、Hash树、Tire树、B树、B+树。

8. 图算法(比较少,也就两个最短路径算法理解吧)

机器学习算法,深度学习相关算法:

-----

数据挖掘

-----

大数据工具

 hadoop,spark,等工具的原理和基本使用

 

其他的点:

 分布式架构:(了解原理就行,如果真的有实践经验更好)

§ CAP原理和BASE理论。

§ Nosql与KV存储(redis,hbase,mongodb,memcached等)

§ 服务化理论(包括服务发现、治理等,zookeeper、etcd、springcloud微服务、)

§ 负载均衡(原理、cdn、一致性hash)

§ RPC框架(包括整体的一些框架理论,通信的netty,序列化协议thrift,protobuff等)

§ 消息队列(原理、kafka,activeMQ,rocketMQ)

§ 分布式存储系统(GFS、HDFS、fastDFS)、存储模型(skipList、LSM等)

§ 分布式事务、分布式锁等

上面五个专题,每周两个,交叉着来,第一周的计划是每个都要开始学了,制定单独的计划!

专业技术

竞赛和项目:天池大数据竞赛,明天晚上选题大会,

开源和源码能力: 放在jdk源码,hadoop与spark源码上开始! 从原理上来学习!

科研方面的工作和进展:

 

时间规划

六月阶段时间规划试行:

每天时间规划:11:40准备关手机,12:00准时眼罩睡觉,早上7:20闹钟,起床; 中午在宿舍呆一个小时(从进宿舍开始算);这样算,上午实验室三个小时时间,下午三个半小时时间,晚上三个半小时;

上午,晚上做自己找工作的事情;下午做学业,实验室工作等;

每天计划安排:每天2,3,4个任务点; 每周一总结,都是周天晚上开始总结和计划

互联网公司总结

阿里

网易

百度

腾讯

今日头条

京东

滴滴

小米

华为

海康威视

大华

携程

搜狐

深信服

蘑菇街

唯品会

 

 作者:Jellybean3
链接:https://www.nowcoder.com/discuss/56158?type=2&order=0&pos=19&page=3
来源:牛客网

    • Java
      • JVM内存分配机制、内存模型
      • GC(minor GC、major GC、触发条件、GC算法等)
      • 类加载机制(类隔离和类共享)
      • Java集合(List、set、HashMap、HashTable、ConcurrentHashMap等)
      • interface和abstract class
      • socket编程及NIO
      • synchronize、final、static理解
      • 异常(检测异常和未检测异常、继承关系等)
      • 反射、动态代理
      • Spring的IOC、AOP
    • 数据库
      • 第一、第二、第三范式之间的理解和比较
      • 数据库的事务、ACID及隔离级别
      • 索引优化(组合索引、最左匹配原则)、优缺点
      • 手动写创建索引的语句
      • 并发访问场景和所有可能出现的结果、锁作用和实现
      • 主主复制、主从复制
      • B-tree的应用
      • int和varchar
      • io优化
      • 分表分库设计
    • 操作系统/Linux/集群
      • shell脚本、查找文件命令
      • top命令、netstat命令、ifconfig和ipconfig
      • 乐观锁和悲观锁
      • session集群共享
      • Hadoop集群扩容问题
      • 集群负载均衡
      • 虚拟路由
      • Hadoop集群单点故障
    • 计算机网络
      • 传输层协议TCP和UDP
      • http和https(对称加密、非对称加密)
      • ftp和sftp
      • 从访问一个网址到页面出现,描述中间发生的所有事情。
    • 数据结构&算法&设计模式
      • Hash及冲突解决
      • 二叉搜索树
      • 手写快速排序算法、单链表反转、字符串部分逆序(如moc.anis.www转为www.sina.com)
      • 手写二叉树层序遍历、二分查找、递归算法实现
      • 超大文件寻找top K算法设计(单机1M内存、Hadoop集群、外部排序+uniq命令)
      • 算法设计:给定函数a可以等概率产生1-5这5个数,仅调用a实现等概率产生1-7这7个数
      • 用栈实现队列
      • 订单超大并发访问-队列批量处理
      • 观察者模式、工厂模式、适配器模式
    • 智力题
      • 估算武汉市需要多少个消防站。
      • 有两根粗细不均匀的香(烧香拜佛的香),每一根烧完都花一个小时,怎么样能够得到15min?
      • 下一场雨,估算武汉市总降雨量吨数。
      • 盒子里放水果,猜哪个盒子放什么水果。
    • 项目
      • 每个项目从整体架构设计、扩展性、后续优化到任何实现细节都有可能会问。对做过的事情需要多总结和优化思考。项目这块是需要花大量心思准备的。

作者:linkinparkzlz
链接:https://www.nowcoder.com/discuss/84588?type=2&order=0&pos=11&page=4
来源:牛客网

面试题基础最多,操作系统 数据库 数据结构等,都很重要。
操作系统: 线程进程区别;进程通信方式;死锁(代码实现);常用linux命令;作业调度方式等等。
数据库:sql优化;索引原理;事务等等。可以看《Mysql技术内幕:Innodb存储引擎》
数据结构:链表;二叉树;红黑树;堆等;还有几大排序,快速排序或者堆排序很容易在手写代码中问到,我被问到几次。
计算机网络:TCP/UDP区别;拥塞控制;流量控制;多层协议;三次握手/四次挥手等等
其他面试题:下面列举一些真实遇到的面试题,有些都被问到很多次,可以参考。

    1. 给你一万个数,如何找出里面所有重复的数?用所有你能想 到的方法,时间复杂度和空间复杂度分别是多少
    2. 如何判断一个单链表是否有环?
      3.Unchecked Exception和Checked Exception,各列举几个
      4.HashMap的原理,内部数据结构
      5.HashMap 怎样解决冲突,讲一下扩容过程
      6.如何设计实现一个LRU Cache
      7.两种单例模式,怎样解决线程安全问题。
      8.Java并发包,源码了解吗
      9.Java内存模型
      10.垃圾回收算法
      11.Java反射机制
      12.Spring 的IOC AOP原理
      13.Java的堆和栈的区别

      ...
      ...
      我自己总结了很多关于面试的问题,有需要的同学可以私信或者文末联系我。仅供参考。

转载于:https://www.cnblogs.com/bigjelly/p/9120886.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值