2019面试记录

最近面试,挑了一些记得的面试题,作下记录:

1.安卓开发环境部署:

  1. 安装jdk
  2. 安装android sdk 【manager】
  3. 运行 android studio 设置android sdk 位置。重要!
  4. 新建一个APP 等待 bandle构建项目。

2.安卓开发流程:

  1. 需求分析
  2. 界面设计、架构设计、业务逻辑设计
  3. UI设计
  4. 安卓开发、前端开发、后端开发
  5. 移动端、前后端测试
  6. 发布上线,推送到android应用商店(腾讯的应用宝、百度360的手机助手、小米华为OPPO阿里的应用商店或应用市场)

3.安卓开发基本结束之后还有很多需要流程:

  1. 多型号真机实测
  2. 云服务器优化
  3. APK加密
  4. 数字签名
  5. 用户协议
  6. 应用平台
  7. 项目上线
  8. 应用推广和广告插入
  9. 版本更新和维护

4.jenkins你使用哪些插件?

  1. ssh remote hosts,这个插件可以在远程服务器上面执行脚本。
  2. role strategy plugin,用来精细化管理权限
  3. ...........

5.jenkins怎么备份恢复
只需要拷贝主home下面的 .jenkins打个包,下次要恢复就用这个覆盖,所有的东西就都一模一样了。其实就是配置的东西都在这里面,插件的话有个Plugin的文件夹下面就是所有的插件的东西。

6.jenkins具体流程如下:

  1. 编写代码,修改代码
  2. 提交代码到git服务器
  3. 在jenkins服务器上,新建项目配置git服务器,或者选择已存在的项目,选择任务构建。任务构建成功,就会推送到目标服务器。
  4. Jenkins自动检测到git服务器代码更新,从git服务器拉取最新代码
  5. Jenkins自动编译
  6. Jenkins自动打包项目文件
  7. Jenkins自动上传打包文件到docker宿主机目录
  8. Jenkins自动构建web容器镜像,包含项目demo
  9. Jenkins自动启动镜像,变成容器,映射端口
  10. 最后就有项目运行的界面提供了

7.怎么使用python多线程和多进程?

8.多线程锁和多进程锁?

9.三种用于避免死锁的技术:

  1. 加锁顺序(线程按照一定的顺序加锁)
  2. 加锁时限(线程尝试获取锁的时候加上一定的时限,超过时限则放弃对该锁的请求,并释放自己占有的锁)
  3. 死锁检测。

10.死锁检测

每当一个线程获得了锁,会在线程和锁相关的数据结构中(map、graph等等)将其记下。除此之外,每当有线程请求锁,也需要记录在这个数据结构中。
当一个线程请求锁失败时,这个线程可以遍历锁的关系图看看是否有死锁发生。
一个可行的做法是释放所有锁,回退,并且等待一段随机的时间后重试。
一个更好的方案是给这些线程设置优先级,让一个(或几个)线程回退,剩下的线程就像没发生死锁一样继续保持着它们需要的锁。

11.tornado和django框架的区别?

12.你们的数据是怎么保存到mongodb的,怎么避免冗余

13.有以下mysql记录

id A B C
1   10 20
2   10 10
3   10 20

 

 

 

1.不使用in,排除重复的记录

2.删除重复记录

14.举例说明pandas的实际使用的项目(pandas在什么场景使用)

15.请说明你使用tensorflow的实际项目

16.redis的数据结构有哪些

17.redis的底层是怎么存储数据的

18.mysql有哪些引擎

19.怎么优化mysql

20.mysql是怎么实现主从复制的

21.防范web攻击有哪些手段

22.怎么知道项目中被注入了其它脚本

23.你使用过什么爬虫框架?遇到过什么困难的问题?

24.说说你知道的反爬虫手段

 

posted on 2019-06-03 18:17  myworldworld  阅读(81)  评论(0)    收藏  举报

导航