由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 一个新鲜twitter面经
相关主题
BB 面经C++ Q22: ostream
C1 电话面经问个c++题
L intern 面经C++ 一问?
发个电话面经, 算是又挂一个。【c++里override输出<<总出错】
Chemistry PhD (Inorganic 别鄙视)问一道kth smallest element的题目
amazon第三轮电面Stack的Top方法可以返回const引用么?
One C++ questionG家onsite面经
c++!新鲜G面筋(2)
相关话题的讨论汇总
话题: log话题: class话题: account话题: logger话题: text
进入JobHunting版参与讨论
1 (共1页)
b*******n
发帖数: 847
1
interview 迟到了20分钟,只问了一道oo题,open end discussion。其实应该挺简单
,但答得不咋地,发上来给大家讨论造福后人吧~
假设有如下class: Account,Campain, TargetingCritierion,Logger. 前三个
class包含account,campain,和target的相关信息,后面的logger class用来输出前
三个class的信息。以下是初始code,问在class设计上有什么可以改进的地方,怎么改
进,怎么进一步改进,等等
class Account
attr_accessor :id, twitter_handle
end
class Campaign
attr_accessor :id, :name, :budget, :account
end
class TargetingCriterion
attr_accessor :targeting_type, :targeting_value
end
class Logger
def log(object)
case object.class.name
when "Campaign"
log_text(object.name " (" + object.id + ")")
log_text(object.budget)
log_text(object.account_id)
when "TargetingCriterion"
log_text(object.targeting_type)
log_text(object.targeting_value)
when "Account"
log_text(object.id)
log_text(object.twitter_handle)
end
end
end
p*****2
发帖数: 21240
2
LZ是Ruby大拿呀
b*******n
发帖数: 847
3
二爷,我压根不知道这是Ruby,我当时还在心说这是神马语言。。。
只不过能看懂大概意思就行了,coding用c++

【在 p*****2 的大作中提到】
: LZ是Ruby大拿呀
p*****2
发帖数: 21240
4

是店面吗?T店面经常性的不考察算法和数据结构,净考察乱七八糟的东西。比较郁闷


【在 b*******n 的大作中提到】
: 二爷,我压根不知道这是Ruby,我当时还在心说这是神马语言。。。
: 只不过能看懂大概意思就行了,coding用c++

J****3
发帖数: 427
5

话说现在电面就问design 啊
f*******t
发帖数: 7549
6
估计想考duck typing
R***Z
发帖数: 1167
7
请问都有哪些常见的“乱七八糟”的东西?是OO, OS knowledge之类的?

【在 p*****2 的大作中提到】
:
: 是店面吗?T店面经常性的不考察算法和数据结构,净考察乱七八糟的东西。比较郁闷
: 。

b*******n
发帖数: 847
8
是电面,二爷才说,我早点知道就好了,sign~

【在 p*****2 的大作中提到】
:
: 是店面吗?T店面经常性的不考察算法和数据结构,净考察乱七八糟的东西。比较郁闷
: 。

b*******n
发帖数: 847
9
啥事duck typing?

【在 f*******t 的大作中提到】
: 估计想考duck typing
p*****2
发帖数: 21240
10

知道也没法准备呀。你最后怎么做的?

【在 b*******n 的大作中提到】
: 是电面,二爷才说,我早点知道就好了,sign~
相关主题
amazon第三轮电面C++ Q22: ostream
One C++ question问个c++题
c++!C++ 一问?
进入JobHunting版参与讨论
b******7
发帖数: 92
11
几个类的数据直接暴露在外面,可见性、一致性的控制得不到保证
log类设计得不好,打印函数不应集中在log类中,也不好做访问控制
用c++的话,可仿照ostream重载<<的方法,对每个类重载一个写log方法
friend Logger & operator<<(Logger & log, const Account & acc);
friend Logger & operator<<(Logger & log, const Campaign & ca);
...
用java的话,增加logable接口
interface logable{
public void printLog(Logger log);
}
Account、Campaign等实现这个接口
z****e
发帖数: 54598
12
ruby和scala比较适合twitter这种公司
x*****0
发帖数: 452
13
mark
b*******n
发帖数: 847
14
我答的和你前面几点差不多,但你后面重载的那个方法我没答出来,我回答的是在每个类
里实现输出自己的变量的函数,然后由log类调用,但interviewer给的答案是在每个类里
直接调用log类的函数输出.我当时还挺不理解的,但你这样一说我觉得他想要的可能就
是你下面这个重载的方法.

【在 b******7 的大作中提到】
: 几个类的数据直接暴露在外面,可见性、一致性的控制得不到保证
: log类设计得不好,打印函数不应集中在log类中,也不好做访问控制
: 用c++的话,可仿照ostream重载<<的方法,对每个类重载一个写log方法
: friend Logger & operator<<(Logger & log, const Account & acc);
: friend Logger & operator<<(Logger & log, const Campaign & ca);
: ...
: 用java的话,增加logable接口
: interface logable{
: public void printLog(Logger log);
: }

b*******n
发帖数: 847
15
早点知道至少有心理准备啊,不至于全身心的准备coding结果措手不及

【在 p*****2 的大作中提到】
:
: 知道也没法准备呀。你最后怎么做的?

1 (共1页)
进入JobHunting版参与讨论
相关主题
新鲜G面筋(2)Chemistry PhD (Inorganic 别鄙视)
请问关于overloading << (转载)amazon第三轮电面
发发面经 攒人品 C++的One C++ question
问一道题(2)c++!
BB 面经C++ Q22: ostream
C1 电话面经问个c++题
L intern 面经C++ 一问?
发个电话面经, 算是又挂一个。【c++里override输出<<总出错】
相关话题的讨论汇总
话题: log话题: class话题: account话题: logger话题: text