一些底层的原理和项目中出现问题后的解决方案。java
点子: 大数据与算法结合的博客??? 是否能够写起来python
技术岗的笔试通常会考察基础知识(客观题)+编程实操(在线oj)mysql
java等其余基础先放下. 进入下一队列linux
三个月时间,有效学习时间大约60天,天天分为上午下午晚上,有一个时间段固定来作科研,一个时间段补基础,另外一个时间段竞赛刷题等苦力活面试
对于基础:60个学天,大约6个主题,每一个主题10天,大约20个学时; redis
第一遍下来主要是基础知识的积累;由于技能树太繁杂与时间缘由,可能第一遍下来,只能停留在书本知识点层次,在准备期间,考思考接下来如何如何能提升下!算法
三门课:数据结构算法与编程语言 ,机器学习数据挖掘与大数据 , cs基础操做系统,数据库,网络spring
------------------------sql
通俗说只有40天的时间,1/3的时间都被我浪费了,然而进度依然是零; 这才是真实的本身吗???mongodb
这40天,究竟要作什么那? 大数据? 算法? 基础知识? 刷笔试题? 懒是一部分,可是策略失败确定也是一大部分;
这第一阶段剩下的时间,究竟作什么?
0.刷题,算法题,天天有时间就要两道题,而后注意总结!!! 早上来到,晚上晚自习开始的时候
1.跟着师兄师姐体验bat等今年秋招;
2.大数据工具必定熟悉起来,必定必定,由于这个是第一顺位的岗位了! 下午时间
3.竞赛,这个必定要开始关注了,已经没有时间了!!!之后全部的晚上时间都来作竞赛,除了意外! 全部
4.算法知识的补充,趁着如今,再结合大数据和算法搞一下, 记住要结合大数据工具!!! 复习一遍,看看各个地方能不能有新的突破, 在大数据工具学习之余学习算法,天天一点点吧,做为大数据工具的补充
5.科研与实验室工做,异常事件检测的小论文问题,无人机快递的比赛问题; 这些都放在上午去作; 异常事件检测这几个月最好能鼓捣出小论文的模样, 包括试验和论文
不作什么,贪多嚼不烂,以个人性格,连吃可能都不去吃了
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 等框架原理比较熟悉。
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源码
核心问题:linux内存分配,CPU调度,
1. 进程通讯IPC(几种方式),与线程区别
2. OS的几种策略(页面置换,进程调度等,每一个里面有几种算法)
3. 互斥与死锁相关的
4. linux经常使用命令(问的时候都会给具体某一个场景)
5. Linux内核相关(select、poll、epoll)
总之,网络通讯问题能搞的多清楚就能够搞的多清楚,最起码把tcp应用层的各类socket API的用法细节搞清楚。
1. OSI7层模型(TCP4层)
§ 每层的协议
§ url到页面的过程
2. HTTP
§ http/https 1.0、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
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还有一堆要问的)
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
来源:牛客网
做者:linkinparkzlz
连接:https://www.nowcoder.com/discuss/84588?type=2&order=0&pos=11&page=4
来源:牛客网
面试题基础最多,操做系统 数据库 数据结构等,都很重要。
操做系统: 线程进程区别;进程通讯方式;死锁(代码实现);经常使用linux命令;做业调度方式等等。
数据库:sql优化;索引原理;事务等等。能够看《Mysql技术内幕:Innodb存储引擎》
数据结构:链表;二叉树;红黑树;堆等;还有几大排序,快速排序或者堆排序很容易在手写代码中问到,我被问到几回。
计算机网络:TCP/UDP区别;拥塞控制;流量控制;多层协议;三次握手/四次挥手等等
其余面试题:下面列举一些真实遇到的面试题,有些都被问到不少次,能够参考。
如何判断一个单链表是否有环?
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的堆和栈的区别
... ... 我本身总结了不少关于面试的问题,有须要的同窗能够私信或者文末联系我。仅供参考。