2019.10.27 头条面试准备

2019.10.27 头条面试准备

个人简历

2019.06 - 至今上海华为开发工程师

实习部门:5G开发部
项目:网站开发、运维开发、数据处理
2019.06至今华为实习
Python+Django+Javascript+Nginx+rabbitMQ+ELK
基于 Django 框架使用 Python 开发网站基础进程监控系统,实现进程异常记录、进程异常自动恢复、发送告警邮件,并且用 Web 界面进行展示和管理。整个框架由本人独立设计完成并上线,保证了部门 Web 的稳定。
使用Python对文件里面的数据进行处理分析,并完成web展示。

2019.06 - 至今网站基础进程监控系统开发工程师

1,基于 Django 框架使用 Python 开发网站基础进程监控系统;
2,使用pymysql实现进程异常记录、利用subprocess+ssh连接机器检查进程状态、异常自动恢复、使用rabbitMQ作消息队列发送告警邮件和短信通知;
3,使用JavaScript、Jquery、echarts等开发 Web 界面进行展示和管理进程。4,整个框架由本人独立设计完成并上线,保证了部门 Web 的稳定。

2018.12 - 2019.03华为云意见反馈系统开发工程师

1,基于Spring boot框架+Mybatis+Redis+Restful等技术的一个意见反馈系统。2,本人在项目里面负责后端部分,使用IDEA开发工具,Git协同开发
3,实现了登录校验,发布,删除,评论等功能。

IT技能:熟悉Python、Java,有扎实的数据结构算法基础,熟悉Linux操作,熟悉JavaScript页面开发;
职位相关技能:了解Hadoop,了解redis,了解机器学习、深度学习。
CET6:520 有良好的英语阅读能力

准备

  • 说一下Django框架
  • 说一下进程监控系统

生产服务依靠很多关键性进程的运行来维持。比如rabbit_mq消费者,数据分析的脚本,网站响应速度,数据库健康状况等等。这些进程分布在不同机器上,而且数量巨大。为了把这些进程监控起来,就开发了一个简单的监控系统。通过前端界面进行配置服务相关信息,所有进程的状态都可以通过前端进行查看。一旦有异常会根据邮件分组进行发送,如果配置了异常自动恢复功能,会自动恢复服务。

底层原理:ssh,ping,connect,urlopen,rabbit_mq消息队列

不足:虽然功能简单,但是能稳定运行。其中也有很多不足的地方,如果机器数量特别大,那么这个监控系统可能管理起来就会很麻烦。

优化:可以借鉴开源框架的C/S模式,客户端上报机器信息,服务端进行汇总监控。

  • python文件数据分析

对5G一些模块生成的文件,进行分析统计一些高频函数。

rabbitMQ 和 kafaka

  • nginx

    • [x] Nginx 相关负载均衡算法
    • [x] 原理
    • [x] Nginx如何做到高并发下的高效处理?

      上文已经提及Nginx的worker进程个数与CPU绑定、worker进程内部包含一个线程高效回环处理请求,这的确有助于效率,但这是不够的。

      作为专业的程序员,我们可以开一下脑洞:BIO/NIO/AIO、异步/同步、阻塞/非阻塞...

      要同时处理那么多的请求,要知道,有的请求需要发生IO,可能需要很长时间,如果等着它,就会拖慢worker的处理速度。

      Nginx采用了Linux的epoll模型,epoll模型基于事件驱动机制,它可以监控多个事件是否准备完毕,如果OK,那么放入epoll队列中,这个过程是异步的。worker只需要从epoll队列循环处理

Java

  • [ ] 读写锁https://www.cnblogs.com/DarrenChan/p/8619476.html
  • [ ] hashtable、hashmap、concurrenthashmap
  • [ ] wait 和 sleep 的区别
  • [ ] 接口和抽象类的区别
  • [ ] 集合类 arraylist linkedlist 区别 扩容
  • [ ] 何时会STW,所有垃圾回收器都会有STW吗
  • [ ] String str = new String(“abc”)的操作有几个对象产生
  • [ ] public protected private区别
  • [ ] final和finally区别?final可以用在方法参数上吗?
  • [ ] RuntimeException和非RuntimeException?各举几个例子?比方说文件读写的时候会有什么异常?
  • [ ] 怎么实现序列化?除了Java原生序列化方法,序列化还有什么格式?
  • [ ] Java IO(序列化、BIO、NIO、AIO)
  • spring boot基础
    • 什么Spring的原理,
    • Ioc和
    • AOP,
    • 事务,
    • 多个bean的关系,
    • SpringMVC的流程

redis

  • [x] Redis 实现分布式锁的原理说一下
  • [x] Redis 实现缓存是存储什么数据,过期时间是多少
  • [x] 除了 Redis 实现分布式锁,还有什么办法:ZK
  • [x] Redis 在项目中怎么使用,使用什么特性
  • [x] 分布式锁的实现除了 Redis 还有什么?
  • [x] 缓存与硬盘的优点缺点比较,为什么需要缓存
  • [x] Redis 缓存存放什么数据/使用什么数据格式存储
  • [x] redis 持久化
  • [x] redis缓存一致性
  • hadoop
    • [ ] mapreduce

      • [ ] shuffle
    • [ ] 数据倾斜
    • [ ] maptask和reducetask的数量怎么控制
    • [ ] resourcemanager,nodemanager,applicationmanager和MRAppMaster等等
    • [ ] hdfs
      • [ ] namenode 和 datanode 怎么数据交换
      • [ ] 数据如何存储到datanode上的,具体存到哪里
      • [ ] datanode坏了 如何恢复(有备份),每个datanode有几个副本,可以更改吗
      • [ ]
    • [ ] yarn
    • [ ] HDFS数据如何保证不会丢失?
    • [ ] MR详细过程(请注意详细,从RPC开始说)
    • [ ] YARN容错机制
  • zookeeper
    • [ ] ZK 实现分布式锁的原理了解吗?不了解,但了解如何实现服务注册与发现
    • [ ] zk 如何保证高可用
    • [ ] zk 高可用的实现原理是什么
  • 流处理框架
  • 设计模式
    • 单例模式
  • 哈希一致算法
  • Hive
    • 分区和分桶

算法

  • 二叉树中序遍历 非递归
  • 链表逆序(O(1))
  • 冒泡排序
  • 最长递增子序列
  • 动态规划 https://www.cnblogs.com/DarrenChan/p/8734203.html
  • 最长公共子串
  • Top K问题 https://www.cnblogs.com/DarrenChan/p/8796749.html
  • 微信扫码登录设计原理 https://www.jianshu.com/p/047acc4190cb
  • 01背包
  • 最长公共子串
  • 二叉树序列化与反序列化
  • 二叉树前序遍历中序遍历构造还原
  • LRU算法实现
  • 单链表奇数位递增,偶数位递减进行排序
  • 矩阵中的二分查找(一个二维矩阵,从左到右是升序,从上到下是降序,找一个数是否存在于矩阵中(类似于二叉查找树))
  • 数组内部重复,求重复部分(1,2,3,1,2,3 求 1,2,3)
  • 二叉树是否存在和位N的路径
  • 求二叉树最长路径
  • 通过内存计数器实现限流器
  • 名人问题:
    • 链接:https://www.nowcoder.com/discuss/115824
      所有人都认识TA,但是TA不认识任何其他人
      a [i] [j] = 1, i 认识 j
      a [i] [j] = 0, i 不认识 j
      a [i] [i] 置空
      给定n*n的二维数组,有多少个名人?具体都是谁?
  • 删除链表中所有重复元素
  • 输入一个字符串String str,求重复次数最多的字符的第一个索引值
    例如
    输入:"aabcbcbc"
    输出:2(b和c都出现了3次,但b在c前面)

场景题:

  • 游戏保证100人在线不卡:长连接,消息队列静态资源分配
  • 小米抢购怎么做
  • 抢红包随机算法,保证公平性
  • 微博高并发应对措施
  • 爬虫多个电商数据,如何存放,如何找到同一商品最便宜的url
  • 一个五升桶,一个三升桶,怎么倒出四升水,水可以无限量使用
  • 滴滴派发订单功能设计?
  • 有声小说音频自动匹配字幕情景题,有大量的音频文件,非人力能够做到,语音识别匹配生成字幕文件,字幕文件中语音和字幕的时间需一致,如何设计?
  • 英雄联盟H5小游戏排名,实时动态更新,如何实现?
  • 杭州G20形象工程需要擦窗子,估计杭州擦窗子要多少费用?

数据库:

  • 索引:

    • 平衡树,b树 和 b+树 https://www.cnblogs.com/aspwebchh/p/6652855.html
    • 聚集索引(根据主键生成平衡树,然后进行查找),一般的查找步骤是,根据字段查找对应的id,然后根据id再查到具体的信息。 建立索引的目的就是加快id查找,根据多字段建立索引也可以省略根据id查找具体信息的目的。 比如:我要查name 小王 的 score成绩,根据这两个字段建立索引:<这种方式叫覆盖索引>
    • create index name_and_score on student(name, score);
      select score from student where name='小王';
  • b树 和 b+树的区别
  • 数据库事务隔离级别
  • mysql 和 hbase对比
  • mysql数据库默认存储引擎,有什么优点

others:

  • epoll

https://www.nowcoder.com/discuss/271862?type=2

数据库基础

? 关系型和非关系型数据库的区别(各自优点)

? 常用SQL语句(DDL,DML,DCL,TCL)

? 数据库中join的类型与区别(inner join, outer join, cross join, natural join, self join),注意适用场景和sql语句的编写

? 数据库的索引类型

? 聚集索引和非聚集索引的区别(叶节点存储内容)

? 唯一性索引和主码索引的区别

? 索引的优缺点,什么时候使用索引,什么时候不能使用索引(重点)

? 索引的底层实现(B+树,为何不采用红黑树,B树)

? B树和B+树具体实现

? 索引最左前缀问题

? Mysql的优化(高频,索引优化,性能优化)

? 数据库引擎介绍,Innodb和Myisam的特点与区别

? 数据库中事务的ACID(四大特性都要能够举例说明,理解透彻,比如原子性和一致性的关联,隔离性不好会出现的问题)

? 数据库隔离性设置不同会出现的问题(脏读、不可重复读、丢失修改、幻读)

? 数据库的隔离级别,Mysql和Oracle的隔离级别分别是什么

? 数据库连接池的作用

? Mysql的表空间方式,各自特点

? 分布式事务

? 数据库的范式

? 数据的锁的种类,加锁的方式

? 视图的作用与使用方法(如何删除等)

? 分库分表,主从复制,读写分离。(我不会,也没碰到过)

? 项目中哪里用到了数据库,怎么用的

? Memcache和Redis了解

?

大数据和分布式

? Hadoop框架下,各个组件的构成及作用

? BASE原则,CAP原则

? 一致性算法Raft的过程

? TIDB原理

? HBase的存储原理

? HDFS运行原理

? Hive的了解

? Spark的了解

? 介绍熟悉的设计模式(单例,简单工厂,观察者模式等等)

? 写单例模式(饿汉模式和懒汉模式),线程安全版本

? MVC设计模式

原文地址:https://www.cnblogs.com/leyang2019/p/11750048.html

时间: 2024-11-07 14:02:29

2019.10.27 头条面试准备的相关文章

2019/10/27 TZOJ

1001 Gaussian Prime http://www.tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=3798 .......................................我是真的一言难尽 1002 Sum of Factorials http://www.tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=2696

2019.10.27 GMOJ6390 黑箱

纪中的联赛模拟 Description 在$wzq$面前摆着一个大箱子,箱子被划分成$n*m$个格子,箱子的侧面是透明的,箱子很高,所以$wzq$只能从侧面观察 现在,箱子中有些格子被不透明的物体塞满了,由于$wzq$只能从侧面看,所以他只知道又哪些行和列又不透明的格子,求有多少种方案满足$wzq$看到的情况,对$ 998244353 $取模 $wzq$对$OI$的造诣太深了,但是他懒得算,所以找到了你这个工具人 对于前$10\%$的数据,保证$1<=n,m<=5$ 对于前$30\%$的数据,

2019.10.27

交换机lDps 路由机lp 组件R0uter 传输控制协议www 互联网协议COmp0nent 万维网TCP 人侵检测和防御系统R0uter 超文本输控制协议ⅠDS 电子邮件Netw0rKsαfety 文件传输协议FⅰrewαⅡ 防火墙OSl 人侵检测系统FTp 网络安全0Sl 开庭系统互联E一mαil Ch00Sethepr0perwOrdst0fiⅡⅰntheblαnKs ALANⅰsuSedforC0mmuni(αtiO川sinasMa″C0mmun:tyⅰη~hⅰCnresonrCes,

【2019.10.27】

题目 题解 T1是道睿智题,理解题意花了20min,出题人的样例给了相当没给,用自己的话翻译了下题面后发现没注意到a1也可以更改,于是就想到了读入时线型预处理下每组等差数列,结构体记下末尾的序号.编号和数列长度:再枚举数列,合并算len,ans就是max(ans,ans+len): #include<bits/stdc++.h> #define ri register int #define ll long long #define For(i,l,r) for(ri i=l;i<=r;

10.23 linux任务计划cron10.24chkconfig工具10.25 systemd管理服务10.26 unit介绍 10.27 target介绍

- 10.23 linux任务计划cron - 10.24 chkconfig工具 - 10.25 systemd管理服务 - 10.26 unit介绍 - 10.27 target介绍 - 扩展 1. anacron http://blog.csdn.net/strikers1982/article/details/4787226  2. xinetd服(默认机器没有安装这个服务,需要yum install xinetd安装) http://blog.sina.com.cn/s/blog_46

一周随笔--15.10.27

一周新知识点记录(15.10.27) 一.不规则按钮OBShapedButton 常规按钮都是一个矩形区域,即使设置了按钮layer的cornerRadious,能响应点击事件的依旧是整个矩形区域. OBShapedButton是开源的第三方库,直接继承自UIButton,直接使用即可.它的响应区域只限定在button的图片或者背景图片区域,周围空出的区域无法响应. 二.sendActionsForControlEvents UIButton的实例方法,通过代码手动发送按钮的点击事件触发按钮的响

背水一战 Windows 10 (27) - 控件(文本类): TextBlock

原文:背水一战 Windows 10 (27) - 控件(文本类): TextBlock [源码下载] 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) TextBlock 示例1.TextBlock 的示例 1Controls/TextControl/TextBlockDemo1.xaml <Page x:Class="Windows10.Controls.TextControl.TextBlockDemo1" xmlns="http://

10个Python面试常问的问题

概述 Python是个非常受欢迎的编程语言,随着近些年机器学习.云计算等技术的发展,Python的职位需求越来越高.下面我收集了10个Python面试官经常问的问题,供大家参考学习. 类继承 有如下的一段代码: class A(object): def show(self): print 'base show' class B(A): def show(self): print 'derived show' obj = B() obj.show() 如何调用类A的show方法了. 方法如下: o

2019.08.27学习整理

2019.08.27学习整理 什么是继承 是一种新建类的方式,继承了一个类,类中的属性和方法就在子类中 父类/基类 子类/派生类 新式类:只要继承了object类,就是新式类,在python3中,默认继承object类 -Python3中:默认继承object class A: pass -python2中,需要显示的指定继承object --经典类:没有继承object的类,就是经典类 -python3中没有经典类 -python2中才有 利用继承减少代码冗余 #继承重用父类方法方式一:指名道