在知乎听了一场Live,推荐了程序员的面试书单,整理一下,慢慢看起来。
C/C++
《c++ primer》《c primer plus》《effective c++》《more effective c++》
Java
《Java 核心技术》 卷I、II《深入理解Java虚拟机》
基础
操作系统、数据结构与算法、计算机网络、数据库、编译原理 看教材
网络
TCP: 《TCP/IP详解 卷一》(网络、通信、分布式系统、服务器)HTTP: 《图解HTTP》(web开发)《Unix 网络编程》
设计模式
《Head First 设计模式》
Linux
《Linux从入门到精通》《深入理解LINUX内核》《UNIX环境高级编程》
数学
《程序员的数学》1+2+3《具体数学》
如果对底层理解越多,可能就会比别人有一点点不一样,这一点点的不一样,就体现了你的水平。
面试常见问题
操作系统常见问题:
线程、进程、协程线程同步进程间通信方式I/O复用缓存算法(LRU等)死锁问题文件系统
计算机网络常见问题:
五层协议的体系结构ping的原理TCP三次握手、四次挥手TCP如何实现可靠传输TCP拥塞控制TCP流量控制socket的使用HTTP、HTTPS、HTTP2
数据结构与算法:
链表(各种指针题)各种排序算法与复杂度分析hash算法的原理map的原理(hashmap、treemap)二叉树、满二叉树、完全二叉树平衡二叉树的实现栈的进出顺序最小生成树、单源最短路径
数据库:
1NF、2NF、3NFsql语法与命令索引的原理和作用事务:原子性、一致性、隔离性、持久性超键、候选键、主键、外键
数学:
概率、期望(常考)、随机数算法组合数学 (常考)统计学、线性代数、微积分 (基础研究岗)
算法准备:
书:
《算法导论》 理论性,扎实,需要时间《编程之美》 《crack the coding interview》 中低难度算法题《Elements of Programming interviews》偏难
刷:
leetcode 主要用来应付面试,面试外企(谷歌、微软、hulu、airbnb、indeed、Works Applications)之前至少刷两遍,面试国内企业,如BAT,熟练掌握中等难度即可hihocoder openjudge 主要用来练习上机笔试,长期保持练习,每天至少一道。谷歌、微软、hulu、indeed、网易游戏等 都采用上机算法笔试的形式一些论坛有国外公司的面经或原题,如“一亩三分地”
后台开发 (java php python nodejs)
消息队列 负载均衡 分布式缓存(cache,一致性哈希)分布式文件系统 分布式数据库(关系型数据库、nosql)信息安全(HTTPS【热门】,加密技术【对称加密、非对称加密】)
书:《大型网站技术架构》
大数据岗
数据处理平台:Spark、Hadoop、Elasticsearch存储:HDFS资源调度:Yarn Mesos机器学习工具:TensorFlow, torch, MXNet数据仓库(SQL类):Pig Hive Spark SQL Phoenix消息队列:RocketMQ RabbitMQ Kafka流式计算:Storm, Spark Streaming机器学习算法:聚类 时间序列 回归分析 文本挖掘 决策树 支持向量机 贝叶斯分类 神经网络《机器学习》周志华云计算:Openstack Docker
准备:
长期准备:算法题每天都做,每天看一些推荐书籍的关键部分
项目准备:开源项目 CodeTriage上面找项目, Google Summer Code, 阿里天池比赛, 实验室项目
找实习:1月份瞄准目标公司,开始集中准备,找内推,3月中旬之后就陆续开始笔试面试了
实习:6~9月 争取实现转正,一般都能拿到好offer
转正:9月
校招:9月到12月
算法刷题:至少在进入校招前,坚持半年,经常复习
转载请注明原文地址: https://ju.6miu.com/read-150216.html