interview
如何招到一个靠谱的程序员
https://kb.cnblogs.com/page/603663/
https://www.jianshu.com/p/7a88c3df9363
自我介绍,亮点
数据结构
os
1. 简述线程/进程
什么是线程安全?
操作系统为每个线程分配的栈大小一般多大?
什么是栈溢出?
2. 简述同步/异步;同步、互斥
3. os如何实现进程隔离,又有哪些进程间通信方式?
4. 简述虚拟内存
5. 简述环境变量,以及如何继承。
数据结构
--nowcoder 牛客网
1. 什么是堆栈和队列?区别和联系;错误输出时为什么要打印堆栈信息(stacktrace)?
递归如何改为堆栈实现?
入栈顺序是 1 2 3 4 5,出栈顺序可以是:
1 3 2 5 4?
1 2 5 3 4?
5 4 1 2 3?
2. 什么是数组和链表?区别和联系
3. 什么是时间复杂度和空间复杂度?
4. 知道哪些排序算法?复杂度分别是什么?
5. 什么是tree、graph?什么是二叉树?一个有n个节点的完全二叉树的高是多少?
平时常见的tree:目录结构,还有哪些?国家,银行。。。
树形结构的数据,如何存储在数据库中?比如存储某个目录下的所有文件(夹)结构
平衡二叉树如何在插入、删除后保持平衡?
basic
集合操作set operations
日志 log
相对、绝对路径,路径拼接,相对路径计算:
/a/b/c
../../d
什么是耦合,耦合的例子
原子操作?
锁种类
死锁
什么是异步编程
字符串
正则:捕获、非捕获、贪婪模式
驼峰转下划线
url encode,decode
encoding utf8编码
位操作 与或非
二进制、十六进制
md5签名
RSA,公钥私钥
uml
关联、聚合 (Aggregation) 以及组合 (Composition)的区别?
exception,应该如何处理异常?--不要延迟处理,忽略
常见的异常有哪些?
IDE,调试器的作用
条件断点;
break on exceptions;break on uncaught exceptions
exception,应该如何处理异常?--不要延迟处理,忽略
数据断点
常用调试窗口;各个窗口的作用(watch、var、stack)
Every Programmer Should Know These Latency Numbers 每个程序员都应该知道的一些时间数据
call graph & 缩进
json格式化输出,用缩进表示层级关系:
实现tree命令,可以不用画连接线,但要用空白缩进来表示父子关系
算法
nowcoder 牛客网
july
http://blog.csdn.net/column/details/ms100.html
迅雷2014校园招聘笔试题
http://blog.csdn.net/hackbuteer1/article/details/11482103
网络 network
知道哪些网络协议?
一个https请求,前后端都做了哪些事?
tcp、udp区别?
cookie的作用
TCP流量控制
IP协议、掩码
TLS、SSL
什么是http协议?包含哪些常用的内容?
什么是证书?CA?
http response code
cache:
服务器上有些静态文件需要权限才能访问,但同时需要实现 304 缓存协议,如何实现?
什么是强制缓存、协商缓存?
get put post
幂等
java
log4j
泛型编程
JAVA常见面试题及解答(精华)
http://blog.163.com/moutei@126/blog/static/112515561200942024725710/
HashTable和HashMap的区别详解
https://blog.csdn.net/fujiakai/article/details/51585767
这个还介绍了作者
https://blog.csdn.net/fujiakai/article/details/51585767
简单来说就是,如果你不需要线程安全,那么使用HashMap,如果需要线程安全,那么使用ConcurrentHashMap。HashTable已经被淘汰了,不要在新的代码中再使用它。
List、Set、Map 是否继承自Collection 接口?
说出ArrayList、Vector、LinkedList 的存储性能和特性?
List、Map、Set 三个接口,存取元素时,各有什么特点?
sleep()和wait()有什么区别?
有哪些线程同步方法
synchronized作用
启动一个线程是用run()还是start()方法?
什么是线程池(thread pool)?
线程的基本状态以及状态之间的关系?
gc原理
spring
aop?应用(log 事务 性能)?
事务、回滚
什么是注解?
你知道哪些注解?分别有什么作用?
说一下autowired原理、流程(byname bytype)
一般使用怎样的模块设计,比如controller。模块间的调用关系是什么?
启动流程、加载文件的顺序
tomcat:
servlet?线程安全?
什么是default servlet
spring和servlet的关系?DispatcherServlet
什么是spring拦截器,如何使用?
mapping
404
电商平台、抢购模块,如何实现,要点?
从一个HTTP请求发起,到最终的Response返回,它在你的系统和框架内部是如何流转的?
java - 廖程
基础:
集合里面能存基础数据类型吗?为什么
常用的集合类,用过哪些集合?
你用过的这些集合的区别是什么
什么情况下用什么集合,什么时候用数组,?
集合的好处是什么,数组的好处是什么?
线程安全的集合有哪些,不安全的原因是什么?
JUC相关的用过吗?
StringBuffer 和 StringBuilder?
你知道java里面的哪些大类型类?
Java的类加载机制?
Jvm了解吗?
描述一下Jvm内存模型
知道java现在使用的垃圾搜集算法是什么吗
列举一下你知道的垃圾搜集算法,以及算法的好处
框架:
1 , 使用Spring的好处是什么?
2 , 核心容器BeanFactory模块。
3 , Spring的实现原理
4 , 解释AOP模块
5 , Spring配置文件什么时候加载的
6 , 解释一下IOC控制反转
7 , IOC的优点是什么
8 , 什么是依赖注入
10, Spring的事务机制
11, 用过哪些持久层框架
12, 持久层框架比起原生jdbc有哪些好处
13, 解释一下mybatis实现机制
14, mybatis的mapper里面有哪些功能
15, 用火hibernate吗?
16, 多数据源会配置吗?
17, sqlSessionFactory理解吗
数据库:
1,mysql有哪些主键
2,数据库事务的四个特征acid
3,试图的作用,它可以更改吗
4,drop, delete, truncate的区别
5,explain用过吗,是干嘛的
6,遇到过mysql锁表吗?怎么解决的
7,数据库的事务隔离机制
8,常用的表之间的链接方式有哪些
9,为什么叫DBMS,里面包含了些什么
10,java是通过什么和数据库进行通信的
缓存:
用过哪些缓存技术
什么时候用缓存
缓存的好处和缺点分别是什么
列举你知道的redis数据结构以及你用过哪些结构
什么时候用什么结构,为什么不推荐redis做队列,是因为ack机制吗
知道redis位图吗
知道分布式锁吗
Redis一个value最大能存多少数据
为什么redis是线程安全的
其他:
分布式了解吗,分布式事务怎么处理,用过搜索相关的技术吗等等
php
__call, __invoke, __get, __set
??
分析框架的实现,手写框架 mvc
数组引用传值?
design pattern
知道哪些设计模式?简述其作用
testing interview
〖X:\piaojuke\interview\testing.xlsx〗
提bug包含的要素版本、操作系统、步骤,期望、结果、严重程度bug的生命周期new open reopen fixed closed测试流程(整个项目周期)需求评审、测试用例、集成测试、bug追踪。。。
http://uninote.com.cn/book/1071710306/2170
对淘宝、京东等购物商城的登录、下单、付款、物流、退货环节写出相应的测试用例,以及订单状态的转换图。状态转换图类似下面的形式:
请写sql语句进行如下查询(对mysql自带的world数据库) :
人口在10-20w的城市
中国的所有城市人口列表
对国家按人口排序
哪一年独立的国家最多(独立年份:world.country.indepYear)?
语言超过3种的国家
有超大城市(城市人口超过500万)的国家
linux. 查找 www.conf 并编辑,将 ;php_admin_flag[log_errors] = on 改为(去掉分号):
php_admin_flag[log_errors] = on
演示说明 fiddler 的用法、用途
用 fiddler 修改任意网站的请求结果,如替换百度首页
测试用例要维护哪些内容?
http://jingyan.baidu.com/article/454316aba6724df7a7c03abd.html
选择回归测试的方式有哪些?
http://jingyan.baidu.com/article/25648fc1ce8efd9191fd00bd.html
软件测试员----面试,你准备好了么?
http://www.cnblogs.com/fnng/p/3830555.html
软件测试经典面试题(完整版)
http://wenku.baidu.com/link?url=G3Md1UVLPXdQgnG2IZpCqd9khiQ6NvHv_0R7NaWDHGsR1REoK9P6-OFXhrC7wnkwboFhZ0LRXk0T_VCRzR3vPchXMVXR6M-B1mjuOuIq_ya
登录时输错手机号,此手机号在系统中没有注册过,为什么一般app都提示的账号或密码错误?
电商系统,支付的测试重点?
事务、防止重复提交
缓存
markdown
postman 环境变量?
支付场景
数据串改
python request 模拟登录、等接口
如何做接口测试?如何批量?如何版本迭代,比较差异?
前端 interview
3ed ch06
h5 canvas
div p ; div > p
设置样式,用原生js
异常
http code
js 闭包
this apply call, bind
eg:console 间接调用。
作用域、链
prototype
yck 四月前端知识集锦(每月不可错过的文章集锦)
https://juejin.im/post/5ae95f17f265da0b93481dec
前端开发面试题 全
http://www.runoob.com/w3cnote/front-end-developer-questions-and-answers.html
前端开发面试题
https://github.com/markyun/My-blog/tree/master/Front-end-Developer-Questions/Questions-and-Answers
〖X:\piaojuke\interview\refs\fe.docx〗
DOM、BOM?
浏览器是如何渲染的
事件冒泡
gc 原理
js worker?
dom节点在IDE中遍历
二进制view ArrayBuffer; typed array
* 相对路径、绝对路径
前后台验证
get post
两种key: string & index
什么是base64编码?编码后体积增大了多少?
跨域
css
position display
selector
盒模型
前端面试2
线程状态 线程切换 切换的内容
虚拟内存 如何实现
二进制与或非 位运算
树高度
基本数据
响应时间
mysql
从B树、B+树、B*树谈到R 树
http://blog.csdn.net/v_JULY_v/article/details/6530142
a)为什么说B+-tree比B 树更适合实际应用中操作系统的文件索引和数据库索引?
1) B+-tree的磁盘读写代价更低
2) B+-tree的查询效率更加稳定
个人觉得这两个原因都不是主要原因。数据库索引采用B+树的主要原因是 B树在提高了磁盘IO性能的同时并没有解决元素遍历的效率低下的问题。正是为了解决这个问题,B+树应运而生。B+树只要遍历叶子节点就可以实现整棵树的遍历。而且在数据库中基于范围的查询是非常频繁的,而B树不支持这样的操作(或者说效率太低)。
1. 什么是索引,有哪些索引?覆盖索引?索引的数据结构是什么?
聚集索引
https://blog.csdn.net/jeffrey11223/article/details/78997941
一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。
不过mysql的innodb只支持主键聚集索引,不支持联合聚集索引
2. 什么是mysql session?
3. 什么是事务?有哪些事务隔离级别?
事务的原理、实现方式
4. mysql有哪些数据类型?
5. Join?inner jion?left inner join?outer join?
6. mysql 如何性能调优?慢查询输出
Mysql的几种连接方式
https://www.cnblogs.com/dapengsoso/p/6605060.html
DQL、DML、DDL、DCL的概念与区别
https://www.cnblogs.com/fan-yuan/p/7879353.html
having
group by
主从数据库、读写分离
ddl
主键、外键
什么时候会用到临时表?临时表索引?
mysql 机试
请用写sql语句进行如下查询(对mysql自带的world数据库) :
人口在10-20w的城市
中国的所有城市人口列表
对国家按人口排序
哪一年独立的国家最多(独立年份:world.country.indepYear)?
语言超过3种的国家
有超大城市(人口超过500万)的国家
git
reset working-tree rebase cherry-pick log diff
哪些类型的文件需要放到.gitignore中?
开放式问题
业余学习、个人主页
用什么提高开发效率.
业余学习.关注哪些?
最棘手的问题,你是怎么解决的。
写过什么工具、脚本。选择其中一个,描述具体的实现细节。
系统设计
购买产品(考虑并发)
rollback-for
aop
日志
linux
shell
管道 pipe 重定向
用户管理 权限
php
fastcgi
OPcache
php优劣势
php调试扩展 xdebug
c/c++
多态
虚函数
rtti
overlaod override
union 共用体
内存
函数指针、引用
leak overflow
上机题/大题
根据下面的输出,估算当x=最大的64位整数时,需要的时间
[---------------
function test_time(x) {
begin = Date.now()
for(i=0; i<x; i++) {
}
console.log("cur: 0x" + x.toString(16) + ", takes: " + (Date.now() - begin) + "ms")
}
arr = [
0x1000000,
0x2000000,
0x4000000,
0x8000000,
0x80000000,
];
for(x in arr){
test_time(arr[x])
}
--------------]
output:
cur: 0x1000000, takes: 71ms
cur: 0x2000000, takes: 76ms
cur: 0x4000000, takes: 121ms
cur: 0x8000000, takes: 242ms
cur: 0x80000000, takes: 12579ms
为什么大质数分解很慢?
RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
实现tree命令,可以不用画连接线,但要用空白缩进来表示父子关系
此题可以不用递归来实现吗?
json格式化输出,用缩进表示层级关系:
{
"BigIntSupported": 995815895020119788889,
"date": "20180322",
"message": "Success !",
"status": 200,
"city": "北京",
"count": 632,
"data": {
"shidu": "34%",
"pm25": 73,
"pm10": 91,
"quality": "良",
"wendu": "5",
已知rand7() 可以产生 1~7 的7个数(均匀概率),利用rand7() 产生rand10() 1~10(均匀概率)
有几百亿的整数,分布的存储到几百台通过网络连接的计算机上,你能否开发出一个算法和系统,找出这几百亿数据的中值?就是在一组排序好的数据中居于中间的数。显然,一台机器是装不下所有的数据。也尽量少用网络带宽
解:分段统计。比如取值范围是int32,分为1m组,每台计算机统计自己的数据的分组情况,汇总之后得出中位数在哪一组中。
如果这一组的个数为n,不超过一定阈值h(比如10m个),则收集这n个数,计算之;
如果超过了阈值h,则递归细分组,直到n小于h,则收集计算之。
求矩形交集的面积
对于给定的整数集合S,求出最大的d,使得a+b+c=d。a,b,c,d互不相同,且都属于S。集合的元素个数小于等于2000个,元素的取值范围在[-2^28,2^28 - 1],假定可用内存空间为100MB,硬盘使用空间无限大,试分析时间和空间复杂度,找出最快的解决方法。
先预设几个变量,方便讨论复杂度。n代表集合元素的数量(2000),m代表集合元素的取值范围(2^29),k,选择元素的个数(因为选a b c d四个元素,所以k = 4)
方法2:类似于双向查找的思路。时间复杂度O(n^2),空间复杂度O(n^2)。先对n个元素排序。枚举n个元素的两两之和,做个hash,同时记录一下是由哪两个元素组成的,有多个相等的情况都需要记录。再从大到小枚举两两元素之差,在hash中查找,如果hash中存在,还需要判断一下4个数的组合中是否有重复的元素,没有就直接是解了,有重复则还要继续向后枚举。
https://blog.csdn.net/forlong401/article/details/8066345
四则运算解析
http server
聊天室
支付宝
yancao interview
从浏览器输入url到接收到数据,都经历了哪些流程?
递归 栈溢出
2^16 = ?
与或非 异或
版本管理?如何进行分支合并?出现冲突如何处理?
树形菜单的存储
线程安全
ioc的实现
同步/异步;同步、互斥
虚拟内存
Spring AOP概念Aspect、Advice、JoinPoint、JoinCut与Execution
https://blog.csdn.net/anurnomeru/article/details/79798659
react-native rn interview
看产品,讲解
es6:promise、闭包、原型链、解构、this(call、apply、箭头函数)、await async
DOM 遍历,打印出节点 tag name,id
CI CD 自动打包、版本号
git rebase revert reset
http 协议 头 cookie、缓存控制
token
请求返回登录失效的处理,如何保证用户填写的数据不丢失?
仿京东商城app:
1 首页
顶部搜索栏+广告栏的滑动动画
推荐商品
分页加载 + 顶部分类
实现添加到购物车
2 购物车。查看已添加的商品
产品经理 interview
为什么死掉?
看产品,讲解
分析一款产品
自己的案例
分析一个产品
运营、市场 配合,做了哪些工作
技术背景:堆栈、线程、并发、压测、自动化测试、部署、打包
系统 设计
工具集合
高并发 demo
秒杀系统
消息队列
分布式锁
绘制订单生命周期状态转移图
(需要考虑取消订单、退款、派单、拒绝接单等情况)
中小规模的并发如何架构?
1w QPS
PV、TPS、QPS是怎么计算出来的?
峰值QPS=(日PV*80%)/(60*60*24*20%)//通用公式每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
Redis持久化实践及灾难恢复模拟
https://www.cnblogs.com/luowei/p/3573943.html
aof
超详细的Nginx负载均衡+高可用配置(亲测附图)
https://blog.csdn.net/IT_10/article/details/89365436
ps:公司官网 还原加入