找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1698|回复: 1
收起左侧

[Medallia] OA ENG1

[复制链接]

2

主题

0

精华

273

积分

新米人

Rank: 1

积分
273
发表于 11-18-2015 08:58 PM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Sophia 于 11-19-2015 05:14 PM 编辑
9 ^- ~( Q4 P9 f" a1 o
$ ~. ]6 {% C5 P# y; C6 B, D# m最近受到M家OA,网上一查这个好难,转载,大家参考下
( `7 u6 ?# l6 a2 x$ e
5 h% D8 R) A3 e/ C3 e刚刚做完Medallia OA,是今年新出的两道题。0 N1 C$ v; b" |
1. DOM Tree Traversal
0 @9 h0 n# v: a3 m6 U( X( m这道题就是说给你一个DOM树,这个树里面有两种节点,一种节点叫Element,这种节点里面有三种元素:0 C: Y( I, W# I" H1 w
tag,比如<html>...</html>中的<html>就是tag;
" @$ ~, J8 R" Z" L5 Pid, 比如<div id="foo">中的foo就是id;
# N* ^2 ^! d# T; P$ N; \# Ma list of children,可以是任何子节点;8 h% Z. H; j" `+ {7 z! N
还有一种节点叫Content,比如<body>some content</body>里面的some content就是Content节点
" B( `5 T3 C( E! z, R, m然后让你写个程序来represent这个DOM树,输出的每一行表示DOM树的每一层。每一行都要有tag,id(如果存在)和content(如果存在),另外还有个条件就是给你一个white list,如果这个DOM树里面的元素是在white list里面,那个就ignore DOM树里面的这个元素。.1point3acres缃& d. l9 a6 c, C; j- i/ _
举例:1 |# ?( c7 C' a7 k/ f) g; q
<html>& [3 V7 u1 }9 K6 H
     <body id="content">. P3 `9 A8 v9 Q& ]2 `
           This5 u" @# ~. w: t% s+ R% U
           <div id="wrapper1">. N% @/ A7 k* B! c
           is a! O5 {) y0 T1 ]2 R
                 <div id="container1">.
8 b. b0 c& e% |9 P" |$ l1 j; [  R                       <div id="container2">
9 j+ Y: B* }; ?                               funny
% U$ w% B& T7 |8 d& I                       </div>& A" W" W; _7 b1 J: T+ e+ E* t% c
                 <div id="container2">
$ b* M/ ^( W" v- j5 U6 x# Q                        enjoyable. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴8 j: u; q. G) P& i
                 </div>
. z& f' n2 h; w3 _" H& d                 little. From 1point 3acres bbs  W  W' U. Z8 o; v+ }) }  E
           </div>
6 _) `! c- _! `, m- p5 f7 ~           good example
! [9 |, n4 ^3 T3 R' E           <div id="wrapper4">' q0 l* ?2 ?, M
           </div>
' l5 d( \9 |1 M0 d           <a id="link">
! V. u2 U; b7 ^6 B                   Add a link
7 c+ L8 v: h/ `( W' S           </a>
( S6 ~6 A3 z& s: o9 f/ k2 L6 U     </body>
; c. J  q. |9 ~* c</html>
" ~& g5 t1 m) g: x
) K+ P7 y3 X. i6 t: Zwhitelist = {"wrapper4","a little"}2 g) G5 i* J( @+ }* S( `' P; _
所以output就是:  b# e: ~7 h4 U2 M" e+ C
html
body content This good example
div wrapper1 a link Add a link
这题完全没有思路。。。。。. 1point 3acres 璁哄潧3 e3 T$ L' L, d8 B7 X
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
- F; M6 u" u* S( N& F3 @2. Frequent CoOccurrence
  w/ Q% f) `% ~8 W/ a1 R背景就是假设相信类似于Yelp的那种评论,每个评论里面有好几句话,每句话里面有n个关键词,例如:“The food was delicious, I had a great time”就被parse成(0,0,food),(0,0,delicious),(0,1,great),(0,1,time) 这些token。然后这道题还定义了一个类叫做CoOccurrence,就是定义为在同一个评论的同一句话中不同的关键词按照字母序组成的pair,所以例子中的CoOccurrence就是(delicious, food)和(great, time)
! D+ j  l; U7 p: j现在给你一群unsorted, iterable的tokens和一个整数N,然后让你输出在这些tokens里面出现频率最高的N个CoOccurrence。2 x4 j9 Y) a5 `) l! V) c
举例:' h1 p9 i- j+ p: m* @
(0,0,food),
2 D# t4 _4 V( X, c1 m. T(0,0,delicious),
. @; w1 @# p/ C(0,1,great),
7 t+ ]7 k# G6 B& c$ x(0,1,time),
$ q$ j4 Z# q. L; a* J' ?(1,0,food)4 e$ i# m( b* e" U& }- i6 @
(1,0,delicious)/ t$ h2 g0 q# [. d  `8 @7 k
(1,0,time)
9 P5 j% M  w( m: a: Y(1,1, great)& a$ n) c( A! O! g5 T1 g! ]
output就是(delicious, food)
, S' a. O* d5 ~. k这题我用一个HashMap<Integer, HashMap<Integer, ArrayList<String>>>这么一个数据结构来分类保存所有的可以拼成CoOccurrence的candidates,然后再用一个set来check哪些CoOccurrence出现过,再出现的时候count就加1,然后排序一下就OK了。: P, [) R% ^# J  t

781

主题

575

精华

5670

积分

顶级版主

Rank: 9Rank: 9Rank: 9

积分
5670

活跃会员热心会员优秀版主

发表于 11-19-2015 05:15 PM | 显示全部楼层
感谢您的面经分享~~~祝您面试工作学习顺利~~~
我们始终相信IT会持续改造甚至创新传统行业,我们始终全面看好咱们的CS专业!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表