z**i 发帖数: 86 | 1 来自主题: JobHunting版 - FB 面筋 序列化这个问题比较有意思,我的想法
1)计算长度可能不够好,字符串可能很长,溢出可能。
2)增加offset格式位,增加存储负担。
3)可能最简单就是每行写一个字符串,最多多出"rn"2个char,且容易读取。
4)最优肯定是编码映射或者压缩方案,但要求两个字符串有特定性质。在无限制字符
串环境下,不是很合适。 |
|
C*******n 发帖数: 193 | 2 mb的,发个tls message都是自己造轮子。
序列化,也是自己的轮子。 其实是过去老工程师抄的开源,简化,修改后的轮子 |
|
|
f********a 发帖数: 165 | 4 是的,这是serialize binary tree.我的意思是要么binary tree不是n-ary tree的一
个特例,不然用geeksforgeeks链接里的方法得不到binary tree的正确序列化。但是链
接里又提到n-ary tree是binary tree的延伸,所以有些confused了。 |
|
t*****3 发帖数: 112 | 5 你没理解geeks和楼上的解释,n叉树是二叉树的扩展,不意味着方法能原样照搬。区别
在于二叉分左右,所以序列化时每个child指针都得明确有还是null,所以把n叉树方法
反推回二叉就是a)b))或者ab)))。你得搞清楚哪些是共性,哪些是区别,不能按照自己
感觉去定义 |
|
z****e 发帖数: 54598 | 6 牛肉姐,如果是跨机的,用rxjava等streaming framework
一般跨机要看网络协议,纯java的可以用序列化,跨语言用json这些
真要做其实不难,不过现在主要是用rxjava
java |
|
p****6 发帖数: 724 | 7 cloudera和hortonworks, 我面的时候都已java based question为主,最多考个binary
tree 序列化
[在 beefcurtain5 (beefcurtain5) 的大作中提到:]
:现在去哪家, 不需要刷题的?
:【 在 play96 (play96) 的大作中提到: 】
:........... |
|
j**********r 发帖数: 3798 | 8 面试就是要多问清楚了再答。不是上来什么都用斧头。如果单机没有性能要求自然
mutex锁全部是可行的。什么产品环境不能用就是扯蛋,人又没说产品环境什么要求。
没准要求是所有变化序列化可见,ConcurrentMap就不行。
real
and |
|
发帖数: 1 | 9 最近很忙,本来都不想理这茬的,但有朋友找我,想想还是亲自出来说说吧,免得越传
越玄乎。
还是逐条解释可能更清楚点:
1. 来得稍晚了点是因为之前开会,加上连接有些问题,我们要求面试要开启摄像头以
便于更好沟通(都是中国人,经历过应试教育,你懂的)。弄了半天实在没法视频,才
打电话过来。
2. 二叉树序列化是一个简单题,但大家都知道面试主要就是看看思路清不清楚,毕竟
大家的经验都写在简历里了。而且大家都懂刷题这么一回事,作为面试官,出难题吧也
不太好,毕竟我们是真想招人;但出一简单或者中等题,然后发现大家都直接背答案了
,是不是也没法衡量你是不是真的懂了。毕竟,招进来以后干活,解决的技术问题不太
可能在leetcode上出现,但你如果能展现出你基本功扎实,我们认为你有解决问题的能
力。所以,我有一点想challenge你,故意说了个指数复杂度,准备看看你对O(n)的理
解,但好像情绪的反应相当负面。不瞒你说,作为pre-ipo公司,我们工作压力不小,
开会时也会challenge同事的设计和方案,在北美这边也没弄interview training
program,可能就是有这么个代入感... 阅读全帖 |
|
T*******e 发帖数: 4928 | 10 面试人爆料确实是一面之辞。大家也不会全信。 不过你说的也是假设。
因为如果面试官像你说的那样对面试人的方案如何更方便反序列化有问题,
为什么当场不提出来讨论,而是用什么指数级别来否定面试人的方案。
CS PHD 怎么会连这个简单的复杂度都搞不清楚, 而且还是自己出的题。
作为面试官,对自己出的题的各种变形和解法应该比面试人要熟悉。
从面试人的爆料,我不能确定面试官是故意使坏,但是这个面试官
很像在随便应付差事。
|
|
j*****y 发帖数: 2042 | 11 有,不过是他自己的object-oriented的,总的来说就类似于序列化一个个结构体对象。 |
|
|
G**Y 发帖数: 33224 | 13 直接写成javascript的变量,比如一个无数行的object数组,
var students = {
[name: Alice, major: biology, score: 59],
[name: Bob, major: cs, score: 99],
[name: Obama, major: politics, score: 13],
...}
放到txt文件里,算不算序列化呀?
我脚着这比xml好看多了。不过这个简单的东西,确实csv就够了。 |
|
a****a 发帖数: 5763 | 14 http://bbs.weiphone.com/read.php?tid=527142
上期连载《Grand Central Dispatch:迎接挑战(连载12/23)》中我们谈到,
GCD技术能够在操作系统的层面更加合理而充分地统筹分配系统资源,从而充分挖掘多
核系统的潜能。此前,我们在《并行难题:一封19年前的挑战书(连载11/23)》中介绍
了上世纪末Be公司推出的BeOS操作系统:
引用
BeOS操作系统最鲜明的特色在于“普适多线程(pervasive multithreading)”
技术。以现在的标准来衡量,BeBox和其他运行BeOS操作系统的计算机充分利用了计算
资源。BeBox的演示令人印象深刻。66MHz双处理器计算机能够流畅地运行多个视频并在
后台播放CD中的很多音轨——与此同时,用户界面响应也保持一贯的流畅。BeOS操作系
统让很多技术狂热者大跌眼镜,他们当中的许多人坚持认为,即便是目前的许多台式机
,操作体验仍旧无法与当年的BeOS相媲美。
19年以来,无数工程技术人员呕心沥血把自己关在实验室工作室里试图逾越“... 阅读全帖 |
|
g*****g 发帖数: 34805 | 15 得,你真上过网络课和数据库课吗?本科的网络重点在5层架构,TCP/IP协议栈的细节。
研究生课会做一些网络协议的设计和模拟。写Java,纯粹的应用层之上连序列化都做好
了,
包好。这边写一个对象,那边收到,完全不需要理解细节。密码啥的这叫security
model,常见的涉及到的是authorization and authentication。复杂一点的涉及到
PKI,可是跟网络没有半毛钱关系。
database, |
|
g*****g 发帖数: 34805 | 16 得,你真上过网络课和数据库课吗?本科的网络重点在5层架构,TCP/IP协议栈的细节。
研究生课会做一些网络协议的设计和模拟。写Java,纯粹的应用层之上连序列化都做好
了,
包好。这边写一个对象,那边收到,完全不需要理解细节。密码啥的这叫security
model,常见的涉及到的是authorization and authentication。复杂一点的涉及到
PKI,可是跟网络没有半毛钱关系。
database, |
|
WB 发帖数: 170 | 17 ArrayList里面保存不少结构变量,
想保存到文件,怎样序列化比较好?
cs的结构数据数组怎么保存文件好?
有点类是c的记录文件的cs实现 |
|
g*****g 发帖数: 34805 | 18 Object Output/InputStream, 自动序列化,比C++高级多了。 |
|
l***e 发帖数: 480 | 19 你是指serialization吗?
那个,我看了一下只能读进来它自己写的东西。和>>重载不是一回事。
我看过序列化出来的文件格式,里面已不是字符了。 |
|
M***0 发帖数: 1180 | 20 要是可以的话别人就不用玩了,游戏规则就是不给你访问的,哪里会有后门
不知道你能不能把你OP里说的那个java object序列化存储成你说的这个“another
class“类型
it |
|
Z*****Z 发帖数: 723 | 21 问题:一个enum有多大?我前一阵子序列化过一个enum,好像挺大的。。。
efficient的话,一个0到52之间的整数就能表示一张牌,一个byte。。。。 |
|
|
z****e 发帖数: 54598 | 23 E
CD
A-是否Serializable,只需要本类继承接口就行了,跟父类无关
B-理由同上,这个是markup interface,看到接口,就可以序列化
E-volatile和transient故意混淆 |
|
z*******3 发帖数: 13709 | 24 这个东西最早是为了适应软件工程的需要而搞出来的一些定义
把java class文件包装成相对独立的组件
便于日后重用
应该算是最简单最原始的一种组件了,因为要求最少
好像就三个要求,序列化,set/get方法访问属性,最后一个无参数构造器
感觉不是用不用的问题,你几乎一定会用到
在日常的开发中,你写的一般都不是最简单的java beans,除非你做core java工作
而是ejb, servlet这些,可能spring允许用最简单的java beans
但是spring需要定义,你用annotation或者xml这些做config
要不然spring无法识别这个beans到底是啥
所以这个还是比最原始的java beans要稍微复杂一点 |
|
c*********p 发帖数: 3217 | 25 1.那二十多个design pattern 要不要学会
2.反射,装饰,多态,序列化,泛型,这些要不要.. 感觉像围棋手筋..
看下面这个连接,我帖出来的内容,挺简单的.会了够不够找工作?
http://www.homeandlearn.co.uk/java/java.html
This free Home and Learn course is for those wishing to learn the Java
programming language. It is aimed at complete beginners to the subject, and
no knowledge is assumed. The software you need to do the course is set out
below, in the "What you need to get started" link. Once you have downloaded
everything you need, you can make start by following the links... 阅读全帖 |
|
g*****g 发帖数: 34805 | 26 C++是一个没有前途的语言,最大的原因就是没有公司在后面。
C#有微软,Java有Oracle。Java第7版都快出来了,C++则几十年
几乎没有变化,一个C++0x都2010了,还草稿呢。
Java内存比C++耗费得多是毫无疑问的,但这个根本不是问题,现在
服务器上一个节点动辄64G内存,现在64位的JVM底下,大量的应用
采取的策略不是精简内存,而是大量地在内存里缓存数据库记录和中间结果。
因为大型应用的瓶颈基本都在数据库上。
C++的一些基本特性的缺失,比如透明的序列化,反射,使得它在集群
上的使用受到很大限制。
我个人认为C++会继续在某些领域上,比如游戏,比如操作系统上得到应有。
其他一些传统的领域,比如前端,会逐渐被其他语言蚕食。
比如新兴的手机平台上,BlackBery是java, Android是Java,iPhone是Object C,
都是reflective, GC language。没C++啥事。
,等
多数
够接
计算 |
|
B********e 发帖数: 1062 | 27 话糙理不糙。基本涵盖了c++的绝大多数缺点.
我们公司基本上是c++开发的. 即使是我们非常追求速度的情况下,
我们c++ 的开发越来越有点像另类的'java'开发.
我们也用framework,自己用c++开发的framework, 很象j2ee里面的一些framework.
中底层的调用 基本上做到封装, 一些功能性模块的封装, 比如thread什么的,
数据定义和一些简单方程使用idl.
日常的开发写的应用程序和写java 没有本质的区别. 这是在很多很多的前期开发
作为基础的.
当然我认为在企业型的应用上, c++ 可能有些市场. 而且我们整个的框架就是一个
巨大的distributed system, 跨平台运行,并行计算, 集群运作, 这些从c++的基本
语言特性来开并不是一个很好的选择. 但是c++的集成性, 易控性, 可靠性,
对于大型系统来说比java要好.
要是我自己写个小程序, 能用bash的不用python,
能用python的不用java, 能用java的不用c++.
C++是一个没有前途的语言,最大的原因就是没有公司在后面。
C#有微软,Java有Or... 阅读全帖 |
|
g*****g 发帖数: 34805 | 28 不管你是啥样的图,总可以序列化吧. 写到硬盘上然后
处理那块读那块不就是了. |
|
y**b 发帖数: 10166 | 29 看看能不能说的清楚:
科学计算程序,一次性从数据文件中读入很多参数,不同的(一个或几个相关参数)要传
递给不同的对象,很多对象还具有这种特点:初始化的时候只需要某些参数,其他动作
时还需要其他参数,比如空间一个多面体,初始化只需要空间坐标和密度等等,而后面
发生移动时还需要时间步长和重力加速度等等(时间步长和重力加速度逻辑上不应该是
该多面体的数据成员)。
第一,我是应该把时间步长/重力加速度等等作为该对象的成员,进行初始化;还是作
为该对象某个成员函数的的形参,想办法传入实参呢?
第二,我想设计一个class/struct来存储所有参数,以便MPI编程时用唯一一个进程来读
取参数,然后将这个存储参数的对象(通过boost.mpi)序列化并一次性broadcast给其他所
有进程(而不是一个参数一个参数地broadcast)。那么将包含所有参数的这个参数对象作
为实参,传递给任意一个只需要某些参数(而不是全部参数)的其它类的成员函数,是不
是很怪异呢?还是应该重新设计该成员函数的形参,使之仅仅获取所需要的参数,但这
样一来需要另行构造这些参数的类型?
谢谢。 |
|
c****3 发帖数: 51 | 30 用pickle序列化;如果要支持异构系统或者控制台界面可读性,转成JSON,前提是不做
结构内的查询。结构内查询用MongoDB。 |
|
g*****g 发帖数: 34805 | 31 XML是臃肿,但json跟它比强得有限。序列化都是库写好了,用xml用json没啥区别。
json就是效率稍高一些。 |
|
b**g 发帖数: 335 | 32 http://www.csdn.net/article/2013-05-03/2815122
http://www.techempower.com/benchmarks/
应用性能直接影响到托管服务的成本,因此公司在开发应用时需要格
外注意应用所使用的Web框架,初创公司尤其如此。此外,糟糕的应用
性能也会影响到用户体验,甚至会因此受到相关搜索引擎的降级处罚
。在选择框架时,又有许多因素需要考量,但原始性能无疑是其中最
容易测评的。
不同的框架性能差异极大,即使你充分利用了硬件的性能,错误的框
架依然可能带来十倍的性能损耗,虽然不是每个人都会遇到如此极端
的情况,但在某些情况下确实如此,因此你有必要了解各框架之间的
性能差异。为此,TechEmpower对57个常见Web框架进行了4回合横向对
比,可供开发者参考。
当然,这里所说的“框架”只是广义范围的框架,包括平台、完整框
架、微框架等等。也就是说,能搭建Web应用的都可以算作“框架”。
其中,测试内容包括单请求数据库访问测试、多请求数据库访问测试
、Fortunes测试、JSON序列化测试;硬件平台包括(亚马逊)EC2
m1.la... 阅读全帖 |
|
G***l 发帖数: 355 | 33 我不知道有没有办法可以按你那样做,但是就算有一种方法可以让你跳到后面读,你这
种做法也不是正经的做法。serialize是把整个object作为一个整体存起来,你去中间
读不管能不能work,都破坏了这个integrity。而且c#的api肯定也不保证某些你想象的
顺序或者部分读取一定成功。你这种使用api但是又绕过正确使用方法试图去hack感觉
像是在写c++程序,而且是用很难维护的方式去写。
之前都是废话,说点解决方案。最简单的,如果性能没有明显影响的话,就把整个list
读进来。既然你把一个list序列化了,那我想在你application的life cycle里一般不
会只用其中一个位置的element,这样在需要别的位置的element的时候也不用再去读盘
了,说不定总的性能还更好了。如果你实在需要读第n个element,那就不要用list的序
列化,自己把一个list里的element按顺序写。如果你能确定每个element大小一样的话
,读的时候自然可以跳到想要的位置去读单个element。
reading |
|
z****g 发帖数: 75 | 34 总有前端web 服务器吧,在这里把这种请求送到同个NIC,然后这个NIC上就一个thread
,然后就序列化了
当然,我认为实际实现是不必这么做的,重新刷以下就好了 |
|
g*****g 发帖数: 34805 | 35 一个破计数器只能做 50m, 加上找座位 5m 必然挂。加上 io 序列化 5万都够呛。mit
没人需要你指导单线程计数器怎么写。晒这个程序太搞笑了。 |
|
g*****g 发帖数: 34805 | 36 分布个头,排座位我反例举出来了,你来分一个?还有序列化不用 cpu?
了。 |
|
|
|
n*****t 发帖数: 22014 | 39 你定义一下你的序列化,俺蓝翔技校毕业的,这种高大上的词不懂,俺只会使锤子 |
|
g*****g 发帖数: 34805 | 40 单子网络读写序列化,你还能分到其他服务器上,单子天上掉下来的? |
|
g*****g 发帖数: 34805 | 41 操,傻逼刚才还单线程,这下又改了?你把序列化加上,大家来实测呀。
了。 |
|
g*****g 发帖数: 34805 | 42 那不就对应 50m 单子的计数器。你倒是加上序列化呀。太监下面就是没有。 |
|
g*****g 发帖数: 34805 | 43 这东西还有算出来的?12306是不是算个计数器够了?序列化就是小程序,给个接口我
就要来测试了。光说不练是太监。 |
|
T********i 发帖数: 2416 | 44 这他妈是人生养的么?
这不是畜生不如,就没有畜生不如的了。 |
|
T********i 发帖数: 2416 | 45 10几个核还不够?
人家说宅男废纸,宅女费电。
他goodbug费核呀!
发信人: goodbug (好虫), 信区: Programming
标 题: Re: 扯两句魏老师vs好虫
发信站: BBS 未名空间站 (Wed Feb 5 11:43:24 2014, 美东)
10几核你就够了?你来呀。 |
|
|
T********i 发帖数: 2416 | 47 真把自己当根葱了。
你咋不要美帝重新登一把月你才信呢? |
|
g*****g 发帖数: 34805 | 48 找座位哑口无言,连序列化都不敢实现。不能上线让人实测就继续太监吧。 |
|
c********l 发帖数: 8138 | 49 1.小公司招人时是否应该问atoi这种问题?
答:i don't care,那是小公司老板自己的事情。
实践是检验真理的唯一标准。
如果小公司老板觉得这么做对,那就问来面试的大学生。反正招进来的大学生好,技术
就能成
如果这一条技术问题与小公司的用人目的不吻合,那么老板自己吃亏
2.大公司招人时是否应该问atoi这种问题?
答:I don't care,
but if you are looking for a job, you have to take EXTRA care.
别看大公司面试的题目都相当“应试”,但应试是唯一的方法。
我面过的印度阿三,不但人际关系强,而且准备面试题上也强,反正你问他们“
reverse linked list”或者是“detect a cycle in a linked list”这种问题,
他们能倒背如流。对,他们中大部分编程不行,就是靠背!
反倒是中国的小留,纵使实践经验强,但是面试题preparedness不够,吃了不少亏。
在这里,大公司多问一些基础题目,实际上对于中国学生是有好处的。但现在的90后小留
们,由于被“素质教育”的邪魔所忽悠,把... 阅读全帖 |
|
m********5 发帖数: 17667 | 50 假设N瓶酒,其中m瓶有毒,k瓶无毒,k+m=N 找出有毒酒,需要多少老鼠?
可能组合为C(N,k)
则需要log2(C(N,k))只老鼠
序列化方式:
对所有可能组合标号[0,...,C(N,k)-1],按组合混合毒酒
对所有标号分析bit位,每个bit表示一只老鼠,对非零bit的老鼠给食该标号组合的酒
。直到所有C(N,k)个标号操作完毕。
结果分析:
老鼠生死作为一个bit,生为1,死为0,组合得到一个标号,该标号包含的所有酒均无毒.
则剩下的酒均有毒。 |
|