h*****g 发帖数: 312 | 1 A. Given
interface Iterator {
T next();
boolean hasNext();
}
interface Predicate {
boolean accept(T t);
}
Implement a method that creates an "accept" iterator that returns items
accepted by the passedin pred variable.
Iterator conditionIterator(Iterator input, Predicate pred) {
}
这题撒意思?需要设计模式的背景知识吗? |
|
m*****9 发帖数: 29 | 2 见了四个人,面经如下:
coding: given a piece of code, analyze the performance and security, strcat
string, 背包问题,100刀买三个动物问题。
概念:语言间difference,内存分配问题,线程,面向对象,设计模式,debug技巧
behavior:忠诚度问题,proud thing
brain teaser: train相遇问题 |
|
K*******i 发帖数: 399 | 3 我已经是第N次在不同的面经里看到这道题出现了。
这题到底想考察什么(设计模式还是算法?),有什么trick?
template class iterator {
bool hasNext();
T next();
}
现在要写一个decorator(wrapper),里面有一个T peek()函数,它返回的是当前指向的
数据,如果反复call它,它应该回复一样的数(如果call next()再用peek(),返
回的就是下一个数据) |
|
r**h 发帖数: 1288 | 4 看了几道关于OO的设计题以及答案,比如说设计一个餐厅。现在感觉摸不着什么头绪啊。
想请问一下大家,这一类问题怎么上手呢。觉得这种问题开放性很大的样子。自己给出
的定义要复杂到什么程度?是不是不仅要给出相应的类,还要定义相应的方法?复习这
种东西,需要参考设计模式之类的书籍吗?全部implement出来要挺长时间,不知道面
试的时候给多少时间回答这种题目。
谢谢。 |
|
|
A**u 发帖数: 2458 | 6 先分析,
找共同点,找变化,
再看什么设计模式好用,
再设计
一上来就些类,写函数,是不对的 |
|
d**********x 发帖数: 4083 | 7 我更喜欢从 well-structured 代码开始 refactor to patterns。
一开始就用设计模式往上扣的话,可能会跑偏了。。 |
|
O******i 发帖数: 269 | 8 多谢火鸡指点,不过最好是在白纸上做题,依赖IDE还是不利于白板coding
另外有时候可以借工作项目需求光明正大看设计模式,C++,多线程那些东西。 |
|
l*******n 发帖数: 35 | 9 转行做j2ee的,原来谭浩强的c那个水平。自己埋头看了很多书
Accelerated c++,programming abstraction in c++,C++ primer啊,effetive c++啊;
算法类的大家说烂了的interview exposed, careercup 150,算法导论各种mitbbs上
的题,后来因为家庭和签证等各种因素综合考虑,决定不搞算法搞j2ee了。
大概一年多前开始0基础看java,主要原因之一是careercup上很多题都是java写的,不
会java完全看不懂,后来基本看懂了。
也是从斯坦福网上公开资料看起,
Introduction to Java Programming by Daniel Liang 写得很详细,所有例子基本都
有完整代码,非常适合初学者。
Think in java 非常经典的书 必看 我到现在也就来回翻了前一半多的内容几遍。
SCJP 考级的书,内容非常细,打基础不错,但是有时候会觉得过细,回字四种写法。
head first design pattern 必看 单例工厂策略代理适配器
数据库部分主要还是写写sq... 阅读全帖 |
|
l*******n 发帖数: 35 | 10 大妈你真没文化,现在是什么年代了?拜托麻烦你把我说的那几个网上视频目录加上神
书翻翻看一遍里面有什么内容再来喷好不好?
就拿java se部分视频来说:深层内容包括动态代理,静态代理,反射,监听,观察者
,类加载器等内容
jee: spring ioc、aop 的原理
hibernate 延迟加载原理
事务隔离级别 什么情况下用低的或者用高的
事务传播方式哪几种
乐观锁与悲观锁,举例场景 etc
视频包括的小项目有:BBS系统,网上商城项目,在线聊天雏形,以及王勇erp系统开发
懂算法再懂设计模式,大妈你不妨评估下简历里写上以上技术的算什么level的java程序员 |
|
c***p 发帖数: 221 | 11 转自
http://www.cnblogs.com/figure9/archive/2013/01/09/2853649.html
9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
1,简介
毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的
求职的回顾。
首先说说我拿到的offer情况:
微软,3面->终面,搞定
百度,3面->终面,口头offer
搜狗,2面,悲剧
腾讯,1面,悲剧
布丁移动,3面,搞定
涂鸦游戏,3面,搞定
友盟,3面->CEO面,搞定
雅虎,4面->终面,搞定
微策略,2面,悲剧
人民搜索,3面->终面,搞定
人人,2面+终面+Special面,搞定
Google,7面,搞定
求职经历分为定位、准备、简历、笔试和面试这五个部分,大家挑感兴趣的看就成。
我的求职经历适用但不限于码农,不适用与企事业单位(据说是完全不同的考察标准和
流程)。废话比较多,大家耐心忍受,有什么问题可以跟帖提问。
2,定位
教育经历:本科在大连某工科院校,由于GPA比较惨烈+挂科,所以没保成研,毕业后修
了一年英语双学位,然... 阅读全帖 |
|
w****a 发帖数: 710 | 12 设计模式那个?讨论什么内容?
关于多线程的还是啥 |
|
e***s 发帖数: 799 | 13 同意火鸡哥的说法。
面试考数据结构,算法。
工作用设计模式,框架。
横批,求refer |
|
g*****g 发帖数: 34805 | 14 真是写java的,singleton这么常见的东西就不该自己实现。
@Singleton annotation是写进EJB spec,一堆IoC架构都支持的东西,干嘛要重建轮子。
至于你要两个threadpool,没有问题。在IoC架构里,singleton无非是一个可植入的全
局变量的概念罢了,起两个不同变量名即可。Singleton除了其他Singleton的植入,是
不建议有非final的instance variable的,这主要为了避免多线程问题。
我想说的就是设计模式,既然可以抽象总结,大多也就可以由架构支持,并非都需要手
写的。 |
|
A**u 发帖数: 2458 | 15 为啥大家都说要求高
感觉就是C++,算法,设计模式而已啊 |
|
|
n***t 发帖数: 76 | 17 转一个帖 聊以慰藉
劳资六年前开始搞ACM啊!!!!!!!!!!
从此踏上了尼玛不归路啊!!!!!!!!!!!!
谁特么跟劳资讲算法是程序设计的核心啊!!!!!!
尼玛除了面试题就没见过用算法的地方啊!!!!!!
谁再跟劳资讲算法之美算法的力量,劳资一本算法导论拍死你啊!!!!!!!!
那是搞ACM的入门书啊!!!!特么的入门书就一千多页啊!!!!!!!
还没有习题答案啊,学完了你特么都不知道自己到底会不会啊有木有!!!!!!
然后你就得看lrj的黑书啊!!!!!!还是特么的没有习题答案啊!!!!
那书难的一B啊!!!!人家一个“显然”得出的结论够你想一礼拜啊有木有!!!!
一个课后题够你想几个月啊有木有!!!!
然后还有一堆堆的书啊!!!!每一类算法都足够写一本书啊!!!!
每本都是砖头一样啊!!!!还都特么是英文的啊!!!!
也有中文翻译版啊!!!!!!翻译得跟屎一样啊!!!!
你看的时候得把它再变回英文才能懂啊!!!!!!有木有!!!!!!
ACM的题目类型是没有范围的啊!!!!!!
动态规划有木有!!!!数据结构有木有!!!!
图论有木有!!!!!!计算几何有木有!!!!!!
... 阅读全帖 |
|
r**h 发帖数: 1288 | 18 LZ的意思是那本CLRS吧。。
其实CS方面一般说到四人帮想到的是设计模式的Gang of Four... |
|
|
H**r 发帖数: 10015 | 20 不值得
就是抄了原著,砍了一些内容又加了点废话。。 |
|
J****3 发帖数: 427 | 21 这里面需要提到设计模式的东西吗?比如停车场用工厂模式什么的? |
|
z****e 发帖数: 54598 | 22 大部分是经验题
设计模式那题很难
两个模式都是有一定深度的模式
算法倒是简单
现在g也开始向传统靠拢了? |
|
z****e 发帖数: 54598 | 23 bridge看jdbc,gfs可能用到类似的原理
把变和不变部分分离,分开实现
不变的部分用一个抽象类实现
可变部分用接口
strategy就是一个简单interface后的impl
可以认为bridge可变部分就是这个接口
?分为变和不变的部分
然后穷举可变部分的可能性
比如1?110?
->??
->00,01,10,11
->101100,101101,111100,111101
看到这里应该明白为什么它会问那两个模式了
这里就有变和不变的部分
这个白鬼水平比较高,算法和设计模式都问的是同一个领域 |
|
l*******0 发帖数: 63 | 24 这不是针对fresh grad的吧?不懂设计模式啊。。。
不过第二题你的基本思路是对的。要想少一点空间的话,可以把string先转成char
array. FYI:
char[] p=str.toCharArray();
static void dfs(char[] p, int idx, ArrayList sol){
if(idx==p.length){ //find one string
sol.add(new String(p));
}else{ //replace ? to either 0 or 1
if(p[idx]=='?'){
p[idx]='0';
dfs(p,idx+1,sol);
p[idx]='1';
dfs(p,idx+1,sol);
... 阅读全帖 |
|
|
l*******g 发帖数: 82 | 26
首先请大家平心静气的讨论,我只提个建议本人灌水不多,我以前在一个帖子中也提到
过,JAVA这东西,特别J2EE,很难自学,最好的学习方法是有经验的人,比如ZHAOCE,
GOODB........
J2EE想学好,先把设计模式领悟了,其实我本人不喜欢部分j2EE的设计理念,有些过度
设计,这也是为什么当年spring能起家的原因,而且是spring是基于ASM框架 xml配置。
简单的来说,如果不能掌握面向对象的设计基本理念(不是什么dog,cat,animal那种
大学的BS例子。)基本很多都很难理解,不知道大家知道OSGI框架么?也可以考虑看看
那个,反正大企业加入之后搞得框架都是越来越复杂,只有这样才能consulting赚钱,
但基本设计历年都差不多。
不要以为算法和数据结构就是一切,计算机系统设计才是核心,而算法和数据结构只是
实现设计过程中的材料!
还是看看四人帮的Design patterns先。 |
|
l*******g 发帖数: 82 | 27 head first只是因为用java做例子么?
既然是学习设计,那就要懂得设计的理念和方法,而不是把设计和具体实现语言粘在一
起,design shoud be decoupled with programming language!
很多设计模式都是机遇这23
种演变的。而且,如果用java的话,建议看一下effective java。
学生娃啃paper 的时候可以看这本, 做java看这本脑子坏掉了老老实实 head first |
|
b********e 发帖数: 595 | 28 我看你学的这个方式适合转php, java用的牛的都是代码里很多设计模式的思想,然后
性能还支持高并发。或者转安卓开发,做客户端。你这个只是试了一些mvc模式的java
例子,也就一些小的企业网站用的多,访问量一大就支持不了。而且有些概念你还要深
入弄明白 |
|
b***e 发帖数: 1419 | 29 第一,你应该意识到,node.js是唯一值得在GC效率上值得考虑的,因为其后端服务器
上的应用。Browser side JS的Garbage collection效率本来也没什么关系。其道理就
跟PHP一样,每个page都是short life cycle process/thread(depending on browser
implementation). 即使是single page architecture, 一般一个page也不会运行很长
时间。而且browser一般都是单机执行在个人的终端上,有独享的CPU和内存支持。以现
今个人计算机终端的硬件支持和运算能力,前台的JS所要考虑的根本就不在执行效率上
,而是主要在软件工程上,即生产效率,可维护性,可扩展性和可重用性。在实践的意
义上讲,v8 === JS engine。
第二,跨平台的问题总是有的。微软在这个问题上一向是做负贡献的。即使是Java也曾
经有过一个J++。对于Javascript,也曾有过一个JScript。不过这些在历史的洪流中已
经被淘汰了,就像Java Applet和Java Swing这种垃圾一样... 阅读全帖 |
|
p*****2 发帖数: 21240 | 30 大牛的这段话完全暴露了强大内力。我跪服了。
这极大地丰富的设计模式的可能性,其灵活
性经常远远超出了Java程序员的想象能力。唯一可以在表达性上可以和JS相比的是
Common Lisp。 |
|
z****e 发帖数: 54598 | 31 来自主题: JobHunting版 - 没啥乐趣了 二爷给点有趣的兴奋点吧
想了想
算法题问的翻来覆去就是bfs, binsearch, dp这些
没有太多新意,太难太生僻的问题,比如3次1次那种
完全就是刁难,背下来也无聊
设计题老问stream也无聊
从priorityqueue到storm,都有四种答案了
其实原理无非那么一回事
ood无非就是游戏设计,设计模式什么mvc用上去
想做错都很难,gui那一套
下一步搞什么?
fp?也罢
看看fp这帮鸟人包括小手什么在搞什么
以跟遇到阿三就跟丫扯monad |
|
c**w 发帖数: 1024 | 32 两个公司都挂了,但是还是上个面经。
amz 电面2轮,onsite 5轮,每轮1个小时
电面1: 2sum, 2个stack实现queue
电面2: 实现fixed size的queue, OOD设计题:2个电梯调度的设计
onsite round 1: 在2个等长排序数组中找第k大的元素。
有一个n*n的array,里面的数是1-n^2。找出连续递增的最长序列的长度。方向可以是
上下左右。
比如:
1 3
2 4
最长的递增是3,可以是1->2->4 也可以是1->3->4
round 2: 全behavior,这轮挂了,因为表示了觉得以前的工作没意思。这轮的结
论是没有领导力。所以behavior还是要好好准备。amz很在乎的一点是leadership
principle
round 3: map里面新增一个updateAll(int val1),调用后,get(key)返回值都是val1
。但是之后如果set(key, val2)后,get(key)返回值是val2.要求所有操作都o(1)。
第二题是count sort变种,不难。
round 4: OOD设计机场调度系统。这轮... 阅读全帖 |
|
h********3 发帖数: 2075 | 33 我来说说原因吧。
1) 读另外一个人写的CODE,比自己写同样的CODE需要花至少2倍的智力和精力。这点是
有论证的。如果只写过LEETCODE和ACM竞赛的人,没有经过工程训练的人,那写出来的
CODE更是天书。试问,懂这个问题的人,都看不懂解决这个问题的CODE,那这种人写出
来的代码怎么维护?
2) 增加交流能力。如果你要参与一个项目,你怎么开始读一堆代码。怎么让人在很短
时间内明白你做的事情?比如说,一些行业术语,设计模式,你一点别人就明白了,一
个单词可以剩下你10分钟的解释时间。
3)多练习一下英语口语。 |
|
y****e 发帖数: 23 | 34 今年五月份毕业,现在在找software full time工作,目前了解到的应该准备是算法题
,设计题和大数据处理的题目,算法题leetcode题目基本没什么问题,设计题知道简单
的设计模式,熟悉的系统有点思路,不熟悉的(比如不知道规则的游戏)没什么解决的
思路,大数据处理方面的题目了解了大致的divide然后融合hash和heap的思想,不过没
有相关方面的经验,所以不知道面试时候如何写这方面的代码,而且感觉面试时候描述
的不是很好。
请教板上各位大牛,我现在这种情况应该如何继续准备,还有面试时候碰到设计题和大
数据处理的题目怎么样提出自己的解决方案比较好?设计题是否画出diagram即可还是
写完每个类?
PS:二月份简历已经开始投出各种公司,最近被大数据处理方面题目的写代码部分虐,
还在等待没有回应的公司。
谢! |
|
s********k 发帖数: 2352 | 35 设计有向图application. 用户可以创建 线,长方形,圆形,文本。。。 manipulate
them independently - move them, re-size them, etc.
How would you model the representation of the document in an object oriented
language?
classes?
methods?
这个会用到什么设计模式吗? |
|
|
|
c*******r 发帖数: 610 | 38 我不是大牛,可能不是最合适来回答这个问题的
我自己是这么准备的:
1.复习完CLRS书,按计划读。 对于P,NP之类的章节没有仔细复习,看topcoder的算法
tutorial
2. 150从来没看过,认真做过leetcode 3遍,做一道题做完后想想有没有可能优化,代
码哪里写得不好之类的
3. OOB 没啥特别准备,去认真读了FB 的enginnering blog和一些大数据的论文,比如
mapReduce, bigtable, dynamo,spanner etc,不是全部都懂,懂个思想,然后看看
热门的大数据题目。至于其他设计模式之类的,看看,这个完全靠经验
4. 有时间做做project euler和topcoder
5. 网上面经
我准备了3个多月,后来一边工作,一边面试,一边复习。拿到面试10多个,onsite 6
个,不过只有3个offer (不是FLAG,一个startup)。
再次声明,不是牛人,也许版上大牛可以来更好的给你些建议.学无止境,还需不断努力 |
|
p***y 发帖数: 637 | 39 有道理
前端其实不好写。
后端代码有成熟的框架和设计模式,写起来比较规整。现在很少有人直接对系统级API
编程。只要不是极端的场景,基于成熟框架的ramp up都比较快。
JS前端随意性较大,很多资深人士其实长期从事基于HTML/CSS设计的小型开发,真的做
起JS大型应用来,并不得心应手。
JS网页高手们长期积累的JS小技巧,在大型协作开发中,反倒经常成为绊脚石。
JS语言环境虽然有几个出名的框架,但都有各自的不足,需要developer自己捉摸一套
方法来克服。
JS不是强类型语言,code base大了或者参与人员多了以后,单凭unit test,很难确保
可维护性。如何维护大型(千人以上协作,或代码以百万行计算)项目,目前没有成熟
的模式。
以上这些都给了有经验的developer很大的发展空间,但也给日常开发带来很多烦恼。 |
|
s********k 发帖数: 2352 | 40 用javascript实现各种常用数据结构和算法。
用javascript实现面向对象的各种设计模式。
较少 |
|
p***y 发帖数: 637 | 41 至少我所见范围里烙印比例很低。
前端代码量大,工作辛苦,不合烙印口味。
烙印最喜欢走流程,搞方法论,玩弄设计模式之类,占据测试或者服务器端开发的部门。
shejimish |
|
|
|
|
b*******n 发帖数: 458 | 45 mark!
xiexie!!!!!!!!!!!!!!! |
|
|
|
w****m 发帖数: 235 | 48 同问,experienced除了做题那一套还会问啥 |
|
w****a 发帖数: 710 | 49 hot startup不清楚。
我直面过FG,没问过。
从面经来看,好像也没怎么见过。 |
|
|