如何应对春招(作为和我一样还在努力的人)
春招准备
方向:
后台、数据库开发、安全方向
技术栈(话说这个词很火,我拿来用用)
熟悉常用的数据结构与算法、设计模式和计算机网络、操作系统的知识
主要使用语言:python、shell
了解框架:django源码(python)、flask源码(python)、ci(php)、scrapy(python)
掌握数据库:mongodb(与python协调性好)、mysql、redis源码
分布式/虚拟化系统:docker、openstack、hadoop架构
使用系统:centos6~7、ubuntu12.04~16.04、kail-linux(网络渗透、安全)
项目经历:1、独立开发(前)后台系统;利用技术:框架django、开发语言python、监控 部署zabbix、使用环境LAMP/LNMP、分布式网站架构处理、安全防范、自动 化运维、docker容器部署、redis缓存技术
2、独立实现网站爬虫项目;利用技术:开发语言python、框架scrapy
个人博客:1、https://github.com/linhanqiu
2、http://blog.csdn.net/maliao1123
日常使用网站:CSDN、STACKOVERFLOW、SEGMENTFAULT、QUORA
开源项目参与:sanic框架(github)、openstack框架(官网源码)
面试须知:突出自己的优势,在其他方面证明自己能够胜任这份工作,着重强调自己独立开发完成项目,将面试官带到自己擅长的方向
寒冬储备知识(***,记在心里)
数据库
数据库范式(一至六和BC范式)
事务的四特性(原子性、隔离性、一致性、永久性)
事务隔离级别(未提交读:允许脏读、提交读:防止脏读、可重复读:存在幻影读、串行读:防止幻影读)
常用sql语句(分组查询、复杂连接查询、嵌套查询、结果排序)
数据库优化(查询语句的优化(如索引使用)、管理优化(配置合理的参数、更换HDD为SSD等、表结构如何优化)
索引的作用
Innodb索引结构、myisam和innodb如何选择
乐观锁、悲观锁
主从同步相关
备份(热备、冷备)
分布式系统
Redis技术、缓存
Redis实战
大型分布式网站架构
操作系统
进程线程相关编程(线程同步)
进程的调度算法
内存分配策略
文件系统(linux)
多线程和多进程区别及各自使用场景
进程通信方式
死锁原因
孤儿、僵尸进程概念及如何解决、守护进程
计算机网络
HTTP协议(http反恶意注册方法)
常见错误代码
TCP与UDP(
三次握手和四次挥手
如何提高UDP传输可靠性
TCP拥塞控制和GBG调试
socket编程
各个层的协议(网络层:IP、ICMP、ARP;传输层:TCP、UDP;应用层:HTTP、SMTP、DNS(流程图)))
DNS劫持与污染
访问一个URL全过程
编程语言
Python语言特性(高级数据结构、垃圾回收、线程池、底层实现(解释器相关)、面向对象理解、GIL、内存管理(引用技术/垃圾回收)、内存泄露、闭包/装饰器、迭代/生成器
)
shell脚本编程
数据结构
链表(翻转单链表、倒数第K个节点、判断是否有环)
树(二叉查找树、平衡二叉树、哈弗曼树)
图(广度、深度优先遍历、最短路径、最小生成树)
队列
堆
栈
二叉树的遍历(层次遍历(借助队列))
红黑树
B+、B-树
算法
排序(时间复杂度)(
插入排序
希尔排序
选择排序
堆排序
冒泡排序
快速排序(多种实现多种优化)
归并排序)
外部排序(读取、写入接口)
分治算法(递归求解(分解、解决、合并))
BFS、DFS
模拟算法
贪心算法
动态规划算法
回溯算法
设计模式(应用场景、优化方案)
OO设计的原则
策略模式
***模式
生产者消费者模式
简单工厂模式、工厂方法、抽象工厂
观察者模式
MVC
MTV
单例模式
Linux
常用命令(文件处理、硬盘分配设置、权限配置)
Shell脚本
启动过程(理解GRUB)
模块理解
Sleep和wait区别
Linux进程调度
ET和LT
Select和poll和epoll区别
远程拷贝
内存管理(free、buff、***)
内存地址空间布局,如何访问物理内存
文件系统(块,软硬链接)
项目经历
高并发网站的方案(如何避免重复扣钱)
设计秒杀方案
爬虫项目
网站后台项目
整理的面试算法
链表上的快速排序
二叉树最近公共祖先
蓄水池问题(要求从N个元素中随机抽取K个元素)
LRU算法
两个文件,求A中没有但B中有的
线程安全的单例模式
给定N个数,找到两个数使他们的异或值最大
求最大连续子数组和
最长递增子序列
最长公共子串
洗牌算法
魔方还原
二叉搜索树转换成一个排好序的双向链表
无重复数组中找出第K大的数字
矩阵中四邻域连通最大面积(DFS)
从(0,0)走到(m,n)路径数量
Map的实现
给定一个满二叉树,高度比较小,寻找一条和为k的路径,只需要找到一条就可以了(BFS和DFS都可以做)
加密算法
实现求正整数平方根整数部分的函数(使用梯度下降)
其他面试题
CPU使用率过高 怎么看在程序中CPU使用过高的地方在哪
程序突然崩溃了找bug
内存的分配方式有几种
负载均衡策略
绳子燃烧问题
CPU在什么情况下会乱序
设计一个服务器,前端有海量用户请求,后端有海量数据
大量URL去重(布隆过滤器)
Python路由任务有什么优势
搜索引擎方面
数据库查询慢怎么办
场景题(
)
总监面问题
实习生期间,在组内担任的角色是什么,是否了解其他人的工作
你认为你的优缺点各是什么
对于你的项目,如果再给你两个月,你会在哪些方面进行改进
实习中学到了什么
如何安排工作时间
项目中遇到的最大困难
找工作主要考虑什么问题
最近关注什么技术
询问的问题
我要是进了这个部门在哪方面的能力需要提高
我的面试表现在什么水准
推荐网站
Unix中国
推荐书籍
这个不好说,因为时间就剩这么多,还是结合自己多看看适合自己的书
引用python的一句话
life is short ,("learn to die")