Preface
待更新,仅供参考
要自己在网上(百度谷歌牛客网 多看些面经 ,看看那些被问到的问题),比如平时你用python开发,但是可能面试问的一些东西,是你平时没考虑的东西,如果面试前看过准备过,被问到就会从容很多。
此外就是你简历上所写的项目经历和技能点,可能面试官会对你的项目感兴趣,所以会问你一些简历上的项目的问题,自己可以提前准备下, 在项目中遇到了哪些问题,难点,这些问题你是怎么解决的,等这些问题。 不要觉得自己的项目比较简单,项目是需要你自己用语言去包装和润色的,适当的吹一吹,只要别吹太过了2333
一般面试开始,面试会让你先自我介绍一下,所以有必要提前准备一个自我介绍(主要介绍你的个人基本信息,情况,技术栈,平时怎么学习技术啥的,或者你平时的兴趣爱好),主要还是看你自己了
如果面试官问你什么时候能来实习,反正 就说能很快到岗就对了,随时可以回国。
如果面试官问你能实习多久,你 就说自己能实习挺长时间的,自己时间比较充裕,比如半年(反正实习期间,你不想实习了,随时可以跑路)
面试结束的时候,面试官一般会问题有什么想问他的吗?所以可以提前准备两三个问题,当时没有想问的也可以不问
帮你准备一两个套路问题,以免你没有想问的问题避免尴尬:
你们这边主要的业务是什么?如果我能来实习,我会做一些什么工作呢?
然后可能会问你平时看什么书,怎么学习技术的,逛哪些社区,最近看了哪些技术书。提前准备下哈,可以适当搜索编一下
最后的话,可以适当的表达出自己想去实习的较为强烈的意愿。
参考链接
Python教程
网络编程
JavaScript 标准参考教程(alpha)
HTML 概述
HTML 入门
sublime
Sublime Text3 for Mac安装指南
Sublime Text 3 for Mac 安装和插件配置说明
Sublime Text 3最好的功能、插件和设置
sublime text 3 插件推荐?
Sublime Text 快捷键(MAC环境)
MAC版本的Sublime Text有哪些常用的快捷键?
Mac下Sublime Text3配置Python开发环境
Mac Sublime Text 3 配置Python环境及安装插件
Mac下在Sublime Text 3中编译运行java程序
开发者最常用的 8 款 Sublime text 3 插件
如果你不想一个个插件装,想一次性到位,推荐还是使用IDE。sublime本质还是一个编辑器,比记事本美观一些,但是因为具有丰富的插件资源,可以打造得像IDE一样强大。
我目前基本是使用的JetBrains的全家桶和vim,写php就用PhpStorm,写Python就用Pycharm,写Cpp就用Clion,写JAVA就用IDEA…
jetbrains官网
JetBrains Toolbox 专业开发工具 学生免费授权计划
至于你说的库的自动补全,像jetbrains里面也是有丰富的插件/库资源的,安装相应的库,就可以自动补全的。sublime社区也有丰富的资源,只要搜一下相应的库自动补全一般就有了~
当上手一个开发工具的时候,我一般会查一下相应的快捷键,插件使用什么的,推荐你也可以这样,哈哈哈哈~
工具
题(仅供参考)
2018年最常见的Python面试题&答案(上篇)
python的面试经验我没有,所以也不清楚会问些什么,需要你自己去搜索。
算法
《剑指offer》,时间不够,来不及看完的话,推荐优先看这几题,相对高频容易被问道:
面试题30:最小的k个数(167页)
面试题16:反转链表(112页)
面试题31:连续子数组的最大和(171页)
面试题37:两个链表的第一个公共结点(193页)
《编程之法:面试和算法心得》(这个上面有些题目和剑指offer这本书上面的题目是重复的)
【啊哈!算法】算法3:最常用的排序——快速排序(排序算法会的越多越好, 如果没有时间看各种排序算法,快排必会 )
计算机网络
加粗或者加红的是我觉得被问道几率相对大些的,可以优先看。
计算机网络的七层模型,五层模型
计算机网络七层模型和五层模型
计算机网络五层(七层)协议
TCP UDP区别 为什么tcp是可靠传输
TCP和UDP的最完整的区别
TCP和UDP之间的区别
面试题:TCP协议与UDP协议的区别
http头里有什么 http协议 http状态码
HTTP常见状态码 200 301 302 404 500
前端阶段性总结之「理解HTTP协议」
关于 HTTP 协议,一篇就够了
《图解HTTP》读书笔记
HTTP请求头详解
服务器常见错误代码500、501、502、503、504、505
服务器500,501,502,503,504,505
为什么dns要快,要用udp
DNS使用的是TCP协议还是UDP协议
DNS分别在什么情况下使用UDP和TCP
http https区别 https具体解决了哪些问题?举个栗子?
详细解析 HTTP 与 HTTPS 的区别
http 和 https 有何区别?如何灵活使用?
GET和POST请求的区别
浅谈HTTP中Get与Post的区别
get和post区别?
HTTP协议中GET和POST方法的区别
HTTP幂等性及GET、POST、PUT、DELETE的区别
DNS正向解析分为递归和迭代。 通常是用递归,还是迭代呢?
HTTP中GET与POST的区别
HTTP请求方法:GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE
Programming.log - a place to keep my thoughts on programming
三次握手,四次挥手
从输入url到页面展示到底发生了什么
DNS原理总结及其解析过程详解(递归查询+迭代查询)
从点击到呈现 — 详解一次HTTP请求
TCP/IP协议三次握手与四次握手流程解析
http1.0 http1.1 http2.0
HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
HTTP/2.0 相比1.0有哪些重大改进?
HTTP1.0 、HTTP 1.1 、HTTP 2.0的区别摘要
https的原理
https原理:证书传递、验证和数据加密、解密过程解析
HTTPS的工作原理
白话解释 对称加密算法 VS 非对称加密算法
白话解释 电子签名,电子证书,根证书,HTTPS,PKI 到底是什么
白话解释 OSI模型,TLS/SSL 及 HTTPS
HTTP是一个无状态的协议。这句话里的无状态是什么意思?
主题:请问https是有状态协议还是无状态协议啊
操作系统
linux
Linux命令大全(命令查询工具)
Linux常用命令详解(一)
初窥Linux 之 我最常用的20条命令
top命令
git常用命令可能会被问道:之前有总结部分在这个链接里面,有时间可以看看:
翔工作室2018夏天后端组培训
JavaScript
雅雅你好像没有JS经验,所以发了本电子书给你,《JavaScript高级程序设计》。时间比较短,比较重要的几章是如下几章:
第3,4,5,6,7,10,13,21这几章。可以优先看这几章。
JavaScript主要由三部分是组成,分别是ECMAScript,DOM,BOM三部分组成。ECMAScript是JavaScript的语言标准,DOM和BOM分别是和页面和浏览器窗体交互的一些API。所以学习的时候会将更多的精力放在ECMAScript标准的学习上。
ECMAScript学习可以分两部分来学习,分别是ECMAScript5和ECMAScript6+(6,7,8),这些数字代表版本标准。之前很长的时间里都是5,所以书《JavaScript高级程序设计》讲的就是5。ECMAScript6+(6,7,8)的学习资源在这里,戳链接.一般都是先学习5,再看6,6其实也就是加了一些API而已,没时间可以先只看5.
JS里面的 闭包,原型链,原型链继承实现,垃圾回收机制比较容易被问道,在上面说的那些章节里面有对应的内容讲解,相关的面试题你也可以搜索。
下面这些题目就仅供参考了,面试的随机性还是挺大的,每个面试官的喜好都不同,有的喜欢聊算法,有的喜欢聊计算机专业课,有的喜欢聊项目经历。
主要有浏览器缓存
浏览器缓存知识小结及应用
九种浏览器端缓存机制概览
《HTTP权威指南》之缓存详解
变量提升函数提升学习下
JavaScript系列文章:变量提升和函数提升
函数声明提升
关于Javascript的函数声明和函数表达式
深度优先与广度优先方法对DOM树的遍历
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 const DFS = function(node) {
if (!node) {
return
}
let deep = arguments[1] || 1
console.log(`${node.nodeName}.${node.classList} ${deep}`)
if (!node.children.length) {
return
}
Array.from(node.children).forEach((item) => DFS(item, deep + 1))
}
const BFS = (root) => {
if (!root) { return }
let queue = [{
item: root,
depth: 1
}]
while (queue.length) {
let node = queue.shift()
console.log(`${node.item.nodeName}.${node.item.classList} ${node.depth}`)
if (!node.item.children.length) {
continue;
}
Array.from(node.item.children).forEach((item, index, arr) => {
queue.push({
item: item,
depth: node.depth + 1
})
})
}
}
事件代理/事件代理
1.每个函数都是对象,都会占用内存,内存中的对象越多,性能就越差
2.必须事先指定所有事件处理程序而导致的dom访问次数,会延迟整个页面的交互就绪时间
3.document对象很快就可以访问到,无需要等待DOMContentLoaded或load事件.只要可单击的元素呈现在页面,就可以立即具备适当的功能
4.需要跟踪的事件处理程序越少,移除它们就越容易
click,mousedown,mouseup,keydown,keyup,keypress
JavaScript 事件委托详解
JavaScript 事件委托详解
JS 中的事件绑定、事件监听、事件委托是什么?
实例分析JavaScript中的事件委托和事件绑定
JavaScript停止冒泡和阻止浏览器默认行为
JS 传播事件、取消事件默认行为、阻止事件传播
cookie和session区别
COOKIE和SESSION有什么区别?
Cookie 与 Session 的区别
如何判断js数据类型
如何正确判断js数据类型
javascript判断数据类型
Object.prototype.toString()
判断JS数据类型的四种方法
cors和jsonp
跨域请求之 JSONP 和 CORS
cors跨域(以及和jsonp的区别)
prototype 属性和proto属性
js中proto和prototype的区别和关系
从proto和prototype来深入理解JS对象和原型链
1.对象有属性proto,指向该对象的构造函数的原型对象。
2.方法除了有属性proto,还有属性prototype,prototype指向该方法的原型对象。
前端安全csrf,xss
XSS 和 CSRF 攻击的一些非常规防御方法
事实上现代浏览器为我们带来了一个全新的安全策略,叫作内容安全策略,Content Security Policy,简称CSP。CSP的思路跟转义不一样,它的着手点是,如果一段代码变成了程序,我们是否应该运行它。或者更准确一点说,它实际上是定义页面上哪一些内容是可被信任的,哪一些内容是不被信任的。
Content-Security-Policy
浅谈CSRF攻击方式
CSRF 攻击的应对之道
程序猿必读-防范CSRF跨站请求伪造
XSS攻击及防御
web安全测试之XSS
SameSite Cookie,防止 CSRF 攻击
再见,CSRF:讲解set-cookie中的SameSite属性