Java面试06|项目相关介绍
1、明确你的项目到底是做什么的,有哪些功能
广告投放机:项目主要是为移动端有针对性的进行广告展示。
媒体管理平台SSP:为媒体端实现多种变现途径
(1)广告投放机中关于广告检索与排序的功能
1、广告检索使用了布尔表达式的检索
看个倒排索引的实现,如下:
public class InverseIndex<T> extends HashMap<T, List<Integer>> {
private static final long serialVersionUID = 1L;
public void add(Vector<T> doc, int currDocID) { // 加入文档就是加入doc中的关键字
// 遍历document里的所有的term
for (int w = 0; w < doc.size(); w++) {
List<Integer> result = this.get(doc.get(w));
if (result == null) {
this.put(doc.get(w), new ArrayList<Integer>());
}
this.get(doc.get(w)).add(currDocID); // 在倒排索引的末尾插入新的文档
}
}
// 在索引中进行一次查询
public void retrieve(Set<T> query, Set<Integer> docIDs) {
Iterator<T> iterator = query.iterator();
while (iterator.hasNext()) {
T t = iterator.next();
if (this.get(t) != null && this.get(t).size() != 0) {
docIDs.addAll(this.get(t));
}
}
}
}
在对广告进行检索时,倒排索引面临两个问题:
A:广告的定向条件组合可以看成是一个由与与或关系连接的布尔表达式
B:在上下文关键词或者用户标签比较丰富时,广告检索的查询条件可能比较多。
所以使用布尔表达式来完成。主要也分为两步完成,为广告库中的广告建立倒排索引和在索引中查找符合用户画像的广告。
2、排序主要是根据eCPM(千次展示收入) 注意eCPM是千次展示收益,所以是针对媒体来说的
自家的广告优先进行推送,API广告主要看各个API广告平台在某个媒体上收益的eCPM。
(2)广告的反作弊
1、SDK在传输数据时启用数据加密通道,为广告的每一次请求和返回进行加密,并为加密算法添加动态参数。
(3)SSO单点登录系统
使用“单点登录”整合后,只需要登录一次就可以进入多个系统,而不需要重新登录,这不仅仅带来了更好的用户体验,更重要的是降低了安全的风险(第三方系统无需存储密码)和管理的消耗。

(4)广告API定时技术
(5)项目中使用的设计模式
单例 对 double check与内部类实现的单例要掌握
原型模式可以阐述一下对对象的深克隆。主要继承cloneable接口,实现克隆方法:
protected Object clone() throws CloneNotSupportedException {
...
}
参考博文:
(1)http://blog.csdn.net/lifetragedy/article/details/43817903
(2)http://blog.csdn.net/jadyer
2、明确你的项目的整体架构,在面试的时候能够清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用

3、明确你的模块在整个项目中所处的位置及作用及明确你的模块用到了哪些技术,更好一些的可以再了解一下整个项目用到了哪些技术
4、项目中遇到的难题,怎么解决的?
5、有什么研究深入的技术或比较满意的项目?
说struts2的缓存原理、构造方法的循环依赖注入等
Java面试06|项目相关介绍的更多相关文章
- 2019上半年总结——Github上那些Java面试、学习相关仓库
分享一下最近逛Github看到了一些对于Java面试以及学习有帮助的仓库,这些仓库涉及Java核心知识点整理.Java常见面试题.算法.基础知识点比如网络和操作系统等等. 知识点相关 1.JavaGu ...
- Java面试技巧—如何自我介绍
在企业面试环节中“自我介绍”这个老生常谈的话题就不用多说什么了,面试官必定会问的.那么如何在自我介绍的时候就能够打动面试官,吸引面试官对面试者的兴趣?如何进行自我介绍比较好?有没有什么方式方法呢?当然 ...
- 如何为Java面试准备项目经验
1 提出问题 应届生朋友或Java程序员在找Java方面的工作时,一定会需要准备Java项目经验,但事实上不少求职者,是没有项目经验,或者只具有开源社区等的学习项目经验,这样的话,就很有可能在面试时无 ...
- java面试(Web相关)06
1.JSP 和 servlet 有什么区别? JSP 是 servlet 技术的扩展,本质上就是 servlet 的简易方式.servlet 和 JSP 最主要的不同点在于,servlet 的应用逻辑 ...
- Java面试01|JVM相关
1.JVM内存查看与分析,编写内存泄露实例 堆区.栈区.方法区.本机内存都有可能内存溢出.在这里编写堆区内存溢出实例.如下(来自<深入理解Java虚拟机>一书. // -Xms20m -X ...
- java ee期末项目相关
1.项目简介 本项目是对纸杯生产进行管理的的一个系统,从前端接收到订单,然后根据订单内容进行纸杯的生产.如下为该系统的总流程图: 1.项目系统架构图 3.系统用例图 4.ER图 主要的代码和相关文件见 ...
- Java中Stream流相关介绍
什么是Stream? Stream是JDK8 API的新成员,它允许以声明性方式处理数据集合 特点 代码简洁: 函数式编程写出的代码简洁且意图明确,使用stream接口让你从此告别for循环 多核友好 ...
- package、import、java及javac的相关介绍(转)
Package: package中所存放的文件 所有文件,不过一般分一下就分这三种 1.java程序源文件,扩展名为.java: 2.编译好的java类文件,扩展名为.class: 3.其他文件,也称 ...
- Java面试10|数据库相关
1.ID分配单点问题 系统使用一张表的自增来得到订单号,所有的订单生成必须先在这里insert一条数据,得到订单号.分库后,库的数量变多,相应的故障次数变多,但由于单点的存在,故障影响范围并未相应的减 ...
随机推荐
- 基于Verilog HDL的超前进位全加器设计
通常我们所使用的加法器一般是串行进位,将从输入的ci逐位进位地传递到最高位的进位输出co,由于电路是有延迟的,这样的长途旅行是需要时间的,所以为了加快加法器的运算,引入了超前进位全加器. 全加器的两个 ...
- Java:List集合内的对象进行排序
List集合中的对象进行排序,除了for外,还有java的Collections对象来对摸个集合进行排序的用法. 比如说我有一个List集合,集合元素为: public class TaskAutoE ...
- requests+正则表达式提取猫眼电影top100
#requests+正则表达式提取猫眼电影top100 import requests import re import json from requests.exceptions import Re ...
- html5之img标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 华为防火墙USG5500-企业双ISP出口
需求:(1)技术部IP地址自动获取,网段为192.168.10.0/24,该部门访问Internet的报文正常情况下流入链路ISP1. 总经办IP地址自动获取,网段为192.168.20.0/24,该 ...
- Windows下使用PSCP从Linux下载或上传文件
1. 先下载putty包,然后解压 https://the.earth.li/~sgtatham/putty/latest/w64/putty.zip 2. 下载Linux文件到当前目录 PSCP.e ...
- 使用Docker安装Jenkins
Jenkins Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 环境准备 腾讯云 硬件配置: ...
- hy 的惩罚
[问题描述] hy 抄题解又被老师抓住了,现在老师把他叫到了办公室. 老师要 hy 和他 玩一个游戏.如果 hy 输了,老师就要把他开除信息组: 游戏分为 k 轮.在游戏开始之前,老师会将 n 个由 ...
- Topcoder口胡记 SRM 562 Div 1 ~ SRM 599 Div 1
据说做TC题有助于提高知识水平? :) 传送门:https://284914869.github.io/AEoj/index.html 转载请注明链接:http://www.cnblogs.com/B ...
- [ZJOI2006]物流运输 SPFA+DP
题目描述 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪. ...