面试题-总结

https://lufficc.com/blog/the-core-conception-of-git?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

redis 主从复制

redis缓存与数据库一致性问题解决方案

redis 实现分布式锁

redis 中AOF 和RDB持久化策略

redis读写分离架构

redis哨兵架构以及数据丢失问题

redis常见问题以及性能优化思路

redis 高可用以及高伸缩架构

缓存击穿

redis批量查询优化

redis高性能集群

Nosql 简介以及MongoDb基本概念

MongoDb支持的数据类型分析

Mongodb的ORM框架

Mongodb企业级集群解决方案

mongodb聚合、索引以及基本执行命令

 Mongodb数据分片、转存以及恢复策略

mysql主从复制及读写分离实践

mysql+keepalvad实现双主高可用方案实践

mysql高性能解决方案之分库分表

数据库中间件初识mycat

基于mycat实现mysql数据库读写分离

基于mycat实现数据库切分策略

nginx 反向代理服务器以及负载均衡服务器配置实践

基于nginx实现访问控制、连续限制

nginx动静分离实践

nginx location、rewrite等语法配置以及原理分析

nginx提供https服务

基于nginx+lua 完成访问流量实时上报kafka 的实践

 

初识分布式框架以及意义

构建分布式架构最重要的因素:CDN加速静态文件访问、分布式存储、分布式搜索引擎、应用发布与监控、应用容灾及机房规划、系统东莞台扩容

分布式解决方案:分布式全局ID生成方案、session跨域共享及企业级单点登录解决方案实践、分布式事务解决方案实践、高并发下的服务降级、限流实战、基于分布式架构下分布式锁的解决方案实践、分布式架构下实现分布式定时调度

mysql调优:理解mysql底层B+Tree机制、sql执行计划详解、sql语句优化、索引优化详解

用户认证系统(passport):用户注册、登录(SSO单点、第三方登录)、用户权限控制(UI页面拦截、业务员方法拦截)

大数据存储:分布式环境配置、Hadoop基本配置介绍

订单系统(订单号统一生成规则、下单流程管理、库存管理、购物车(购物车管理,未登录状态下的购物车同步))

支付系统(优惠券支付、积分支付、金融支付(微信、支付宝、银联))

通知推送系统:融云推送(活动推送、交易消息推送、异常提醒)

消息中间件:消息同步、消息处理

聊天系统IM:用户群聊、点对点聊天、文件断点续传

 GIT :什么是git及工作原理,git常用命令best practise(避坑教学)、git冲突怎么引起的,如何解决、架构师职责 git flow规范团队git使用规程。都有什么分区
 
公司主要业绩 发展前景 企业文化等内容 ;要自信,深呼吸,面带微笑,放松relax。
答题时:先答是什么,在回答有什么和要注意什么(展现自己的心得);答案的段落分别 层次分明 条理清晰(一个人的习惯、办事风格、条理)

源码分析、分布式架构、微服务架构、性能优化、团队协作效率、双十一项目实战

 常用设计思想、框架。涵盖redis/mongodb/dubbo/zookeeper/kafka 高并发、高可用、分布式技术。

 

计算机网络常见问题回顾

 

  • TCP三次握手和四次挥手、
  • 在浏览器中输入url地址->>显示主页的过程
  • TCP 协议如何保证可靠传输
  • HTTP和HTTPS的区别
  • TCP、UDP协议的区别
  • 常见的状态码。

 

 在工作中遇到什么困难?

①我之前工作的时候发现经常会出现一些临时需求打乱了我的计划,搞得有时候这个任务还没完成,又得去做其他的任务,最后一天下来,大大小小的东西是很多,但是没有完成得非常好的,后面我总结了一下,我会把这些都添加优先级,遇到临时需求,按照优先级重新将已有任务和临时任务进行排版,保证在规定时间内有效率的完成优先级高的任务。

②在做项目需求时候,遇到理解能力欠佳的人,沟通时容易被气到,影响自己的情绪,最后反倒还不能到达需要的效果。后面,每次到这种时候,我一般会借助一些纸质的、更加形象的东西,让双方都认同的、都能明白的一种方式来进行沟通,后面减少了很多不必须的麻烦。大家都知道,对于程序员来说,改需求是一件很痛苦的事情,所以前期的沟通工作很重要。

③还有一件事时,产品不太懂技术,所以每次出一个新的需求出来,总是要求我们在很短的时间内完成,完不成我们就会被怀疑能力有问题。当然,每个产品都希望能够尽快的完成任务,降低成本,提高效率。这时候我会把我们的需求细化,把其中的重点、难点都列出来,做好时间规划,耐心的跟产品沟通,项目每个点的重要性和时间的花费比例,确保在这个规划的时间点内保质保量的完成任务。慢慢的也得到了产品的认可,其实产品也不是一味的不通情理,只要把东西计划好了,以最小的代价换取最高的价值,每个人都是很容易理解得

Linux基本命令,目录结构?

 

cat / porc / cpuinfo显示CPU信息
文件搜索 
find / -name file1 从 '/'开始进入根文件系统搜索文件和目录

locate \*.ps 寻找以 '.ps'结尾的文件 -先运行'updatedb'命令 
whereis halt 显示一个二进制文件、源码或man的位置 
which halt 显示一个二进制文件或可执行文件的完整路径 

追加命令
1,linux里把文件/etc/aaa中的内容追加到/usr/bbb中的内容的后面 sudo cat /etc/aaa >>/usr/bbb
2,更改/etc/index.html的文件所有者为apache,文件群组为apache sudo chmod apache:apache /etc/index.html
3,更改/etc/index.html的所有者权限为读取、写入、执行。群组权限为读取。其他权限为读取 sudo chmod 744 /etc/index.html
4,删除/etc下名为hello的文件 sudo rm /etc/index.html
df -hl 查看磁盘剩余空间

df -h 查看每个根路径的分区大小

du -sh [目录名] 返回该目录的大小

du -sm [文件夹] 返回该文件夹总M数

文件和目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件 ls *[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构
(1) lstree 显示文件和目录由根目录开始的树形结构
(2) mkdir dir1 创建一个叫做 'dir1'的目录'

解压
1)对于.tar结尾的文件
  tar -xf all.tar 2)对于.gz结尾的文件
  gzip -d all.gz   
  gunzip all.gz
# zip all.zip *.jpg   这条命令是将所有.jpg的文件压缩成一个zip包
# unzip all.zip   这条命令是将all.zip中的所有文件解压出来



 

基础:

0.简单做一下自我介绍,? 然后谈一下近三年来你的得意之作? 项目中使用什么技术,怎么实现的,面向对象的知识,什么是多态,运行时动态绑定

1.面试官看过你的简历,会问一些你做的项目的用户量、pv、吞吐量、相关难点和解决方法等

2.数据库设计经验,为什么进行分表? 分库? 一般多少数据量开始分表? 分库? 分库分表的目的? 什么是数据库垂直拆分? 水平拆分? 分区等等?可以举例说明,应用场景。

3.数据表设计原则是什么?分库分表原则是什么?数据库优化有哪些? 分别需要注意什么?  缓存,索引,分库分表,主从分离,负载均衡,sql 优化,程序优化

4.web开发方面会遇到哪些缓存?(前后端缓存优化的地方) 分别如何优化?

5.给你256M的内存,对10G的文件进行排序(文件每行1个数字),如何实现? 对10G的文件进行查找如何实现? 统计10G文件每个关键字出现的次数如何实现?

6.假如你现在是12306火车订票的设计师,你该如何设计满足全国人民订票?

7.假如有1亿用户的访问量,你的服务器架构是怎样的? 用户信息的存储方案如何设计?

8.如果你是技术组长,所带团队任务进度无法完成你该如何解决? 如果在进度排满的前提下插入任务,你该如何保证总进度不延期? 如果有的工程师今天预定任务没有完成,你该如何解决?假如你是项目经理或项目负责人,需求会只开过一次,你应该怎么做?与第三方对接出现问题解决方式?假如你是技术组长? 如何提高团队效率?

9.从你的经验方面谈一下如何构建高性能web站点? 需要哪些环节? 步骤? 每个步骤需要注意什么如何优化等?

10. 为什么要对数据库进行主从分离?

11. 如何实现负载均衡?如何处理多服务器共享session?cookie和session区别? 

12. 一个10G的表,你用php程序统计某个字段出现的次数,思路是?

13. 会告诉你一个nginx日志例子,用你认为最佳的编程语言统计一下http响应时间超过1秒的前10个url?

14. 给你一个mysql配置文件,用你认为最佳的编程语言解析该文件?

15. 给你两个路径a和b,写一个算法或思路计算a和b差距几层并显示a和b的交集?

16. 给你一个url,在nginx配置一下rewrite指定到某个具体路径?

17.PHP运行机制?php的内存回收机制是? 一个php文件的解释过程是? 一般加速php有哪些? 提高php整体性能会用到哪些技术?

18. session和cookie生存周期区别? 存储位置区别?禁用cookie后,session还能用吗?时间,删除session_id  退出

19. require、include、require_once、include_once区别? 加载区别? 如果程序按需加载某个php文件你如何实现?

20. chrome号称为多线程的,所以多线程和多进程的区别为?

21. php在2011年底出现hash碰撞,hash碰撞原理为? 如何进行修复?

22. web不安全因素有哪些? 攻击方式或原理 ?分别如何防范? xss 、csrf、sql注入  

23. 假如两个单链表相交,写一个最优算法计算交点位置,说思路也可以?

24. IP地址正则  ((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))),正则用法。

25. nginx负载均衡有哪些? 如果其中一台服务器挂掉,报警机制如何实现?

26. 不优化前提下,apache一般最大连接数为? nginx一般最大连接数为? mysql 每秒insert ? select ? update ? delete?

27. mysql 数据类型有哪些 ? 分别占用多少存储空间 ?

28. nginx设置缓存js、css、图片等信息,缓存的实现原理是?

29. 如何提高缓存命中率? 如何对缓存进行颗粒化?

30. 你能想到的微信朋友圈数据结构是如何设计的?

 31.简述PHP编程语言的特点以及优缺点?

32.LNMP和LAMP区别?nginx / apache php  mysql 搭建,之间的关联 扩展 依赖包

33.使用过哪些PHP框架,简单介绍和评价?

34.简述一下PHP-FPM,如何确定一台机器应该开启多少个PHP进程?进程管理工具

35.简述一下闭包?

36.列出HTTP状态码?

37.简述长连接和短链接的特点以及应用场景,PHP应该如何选择?

38.HTML5的新特性?响应式布局了解吗?原理是什么?

39.linux下如何把文件权限设定成777,其中每个7代表什么?chmod 

40.数组函数?

41.简述一下nosql以及应用场景?

42.数据库索引是什么?一般有几种类型?主键索引  唯一索引 联合索引 单个索引 全文索引  (hash、btree区别 详解)

43.设计短地址方案,写清思路。

44.深复制与浅复制的区别?

45.了解的设计模式有哪些?

46.你用过联合索引吗?有什么特性?什么时候建立联合索引?

47. 如何提高缓存命中率? 如何对缓存进行颗粒化?

48.给你256M的内存,对10G的文件进行排序(文件每行1个数字),如何实现?

49.假如有1亿用户的访问量,你的服务器架构是怎样的? 用户信息的存储方案如何设计?

50.从你的经验方面谈一下如何构建高性能web站点? 需要哪些环节? 步骤? 每个步骤需要注意什么如何优化等?

51.会告诉你一个nginx日志例子,用你认为最佳的编程语言统计一下http响应时间超过1秒的前10个url?

52.PHP 7 新特性是什么? mysql 5.7 有什么新特性?

53. vagrant box 开发环境,了解会用就可以。好处是 生产环境与开发环境统一,不会出现因环境问题不同产生的bug.

54.路由机制?怎么实现?自己搭建路由?

55. 我的所有问题都问完了,你有什么问题问我没有?

56.工作亮点?难点?内存管理 调度 进程 线程

57.为APP提供接口,接口授权 验证 ?   接口地址5小时后过期 不能访问,怎么实现?慢查询机制,处理?AJAX跨域问题怎么解决?

58.git和svn区别?

59.memcache和redis 区别?

60.PHP与JAVA比 PHP安全性差?

61.Nginx和apache  分别跟PHP 支持 加载机制不同?nginx php-fpm  fastcgi

62.分布式怎么处理?

63.主从延迟的原理?处理方式?原因?

64.include、include_once、require、require_once 区别

65.PHP5中,var_dump机制原理,模拟一下。

66.闭包、递归、冒泡、二分、快速   常用的排序算法有哪些?时间复杂度有什么区别?算法 : 字符串匹配、快速排序;数据结构

67.public 、private、受保护 区别

68. foreach 循环对象(php 5.0)实现方式?

69.mysql 级别区别?报错级别 4种 默认是哪种

70.define  和 const 区别?

71.memcache 和 memcached的区别?

72.一些超全局变量

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

73. 

74.HTTP 三次握手,四次挥手

 

posted @ 2017-07-12 11:48  玲汐  阅读(350)  评论(0编辑  收藏  举报