随笔 - 85  文章 - 47  trackbacks - 0

常用链接

随笔分类

随笔档案

搜索

  •  

最新评论

1. 技术面试:将来的同事面,很有针对性,内容要看是什么部门,这一关过不了的话,就直接回家吧
2. IQ题目:这个有点玄乎.....必须要事先准备,否则........一定要放松.....我面这关太紧张,影响了发挥
3. 技术经理面试:主要谈项目经验,没什么技术内容,加面面英语,关键看是不是谈得来了.....还是要放松
4. 项目经理面试:面比较宽,项目管理经验、面向对象设计经验(忽略了auto是一家应用软件公司了,唉)
5. 人力资源面试:性格倾向、应聘动机、待遇心理预期、其他问题+加些许英语

总结:事先以为auto狂注重技术,面了才知道这种看法是片面的........技术只是敲门砖,如果看上了你,autodesk在技术上是不会为难你的,此时的侧重点就变成其他能力的考察了......有点思想上的准备不足,不过还是受益颇丰,呵呵
posted @ 2007-11-18 13:30 w2001 阅读(413) | 评论 (0)编辑 收藏
1. 心理素质很重要,考官话语比较中性,态度不形于色,要沉得住气
2. 他心里对面试者有初步估计的,认为你熟悉的一般点到为止,甚至根本不问,认为你不熟或造假的则穷追猛打
3. 考官极少评判你的好坏,但偶有称赞之词,可以理解成满意
4. 面算法的时候要多说话,讲得不对没关系,思考不成熟不要紧,最怕的是没想法
5. 听清楚题目............
6. 想问题不要想得太复杂......
7. 措辞谨慎,要无懈可击,考官一般非常喜欢引申、追问、即兴发挥你的论点,从回答中寻找话题,是autodesk的特色.......
8. 命题不偏,定位也很适当,但很考验个人技术积累和知识面
9. 注意知识点和思维的跳跃性,做好充分的思想准备
10. 没有必要过度表现自信、自卑,当作是与面试官是同事之间对等的交流,轻松点,搞点笑,哪怕得不到回应(其实,我感觉只是出于职业要求考官不能回应而已,但这并不代表没效果,事实上,能够毫无负担地、轻松地、不为之所动地影响一堵墙壁,这说明你很强...不是一般的强...),其实你就已经成功一大半了
11. 重视考官的挫折感,防止情绪反弹,不要轻松地回答每一个你懂的问题。不要答对每一个问题。
12. 重视自己的挫折感及其给考官的印象,答不对问题要不以为然,轻描淡写一笔带过,不能纠缠。

posted @ 2007-11-15 08:23 w2001 阅读(617) | 评论 (0)编辑 收藏
太easy了。假设多边形是凸的,且射线端点p0不处于多边形内,且射线单位方向矢量为n0。逐个取多边形上的顶点,并且以其坐标构造自p0指向该顶点的矢量,如s、r。不难发现:s×n0与r×n0结果的Z分量符号是相反的。换而言之,只要在遍历过程中发现一次符号相反的情况,射线必与多边形相交,判定即可停止,无需全部遍历完所有顶点;如果符号全相同,则射线与多边形不相交。
posted @ 2007-09-08 16:21 w2001 阅读(739) | 评论 (0)编辑 收藏

1. 叉乘判别法(只适用于凸多边形)

想象一个凸多边形,其每一个边都将整个2D屏幕划分成为左右两边,连接每一边的第一个端点和要测试的点得到一个矢量v,将两个2维矢量扩展成3维的,然后将该边与v叉乘,判断结果3维矢量中Z分量的符号是否发生变化,进而推导出点是否处于凸多边形内外。这里要注意的是,多边形顶点究竟是左手序还是右手序,这对具体判断方式有影响。

2. 面积判别法(只适用于凸多边形)

第四点分别与三角形的两个点组成的面积分别设为S1,S2,S3,只要S1+S2+S3>原来的三角形面积就不在三角形范围中.可以使用海伦公式 。推广一下是否可以得到面向凸多边形的算法?(不确定)

3. 角度和判别法(适用于任意多边形)

double angle = 0;
realPointList::iterator iter1 = points.begin();
for (realPointList::iterator iter2 = (iter1 + 1); iter2 < points.end(); ++iter1, ++iter2)
 {
   double x1 = (*iter1).x - p.x;  
   double y1 = (*iter1).y - p.y;  
   double x2 = (*iter2).x - p.x;
   double y2 = (*iter2).y - p.y;  
   angle += angle2D(x1, y1, x2, y2);
 }

if (fabs(angle - span::PI2) < 0.01) return true;
else return false;

另外,可以使用bounding box来加速。
if (p.x < (*iter)->boundingBox.left ||
   p.x > (*iter)->boundingBox.right ||
   p.y < (*iter)->boundingBox.bottom ||
   p.y > (*iter)->boundingBox.top) 。。。。。。

对于多边形来说,计算bounding box非常的简单。只需要把水平和垂直方向上的最大最小值找出来就可以了。

对于三角形:第四点分别与三角形的两个点的交线组成的角度分别设为j1,j2,j3,只要j1+j2+j3>360就不在三角形范围中。

4. 水平/垂直交叉点数判别法(适用于任意多边形)

注意到如果从P作水平向左的射线的话,如果P在多边形内部,那么这条射线与多边形的交点必为奇数,如果P在多边形外部,则交点个数必为偶数(0也在内)。所以,我们可以顺序考虑多边形的每条边,求出交点的总个数。还有一些特殊情况要考虑。假如考虑边(P1,P2),
1)如果射线正好穿过P1或者P2,那么这个交点会被算作2次,处理办法是如果P的从坐标与P1,P2中较小的纵坐标相同,则直接忽略这种情况
2)如果射线水平,则射线要么与其无交点,要么有无数个,这种情况也直接忽略。
3)如果射线竖直,而P0的横坐标小于P1,P2的横坐标,则必然相交。
4)再判断相交之前,先判断P是否在边(P1,P2)的上面,如果在,则直接得出结论:P再多边形内部。

posted @ 2007-09-06 14:46 w2001 阅读(26312) | 评论 (7)编辑 收藏

去年的今天我也是一名刚毕业的应届毕业生,说实话啥都不懂,总认为只要自己有本事走遍天下都不怕,但做了一年之后,我开始明白,很多企业有很多问题,比如说福利问题、加班问题、管理问题,可能你含辛茹苦进入了一家所谓的知名企业,最后却发觉被啃了,这种感受肯定不好受!为了让大家少吃亏,我决定写这篇文章,希望对大家有所帮助!

我们先来说说社会保险。我相信就社会保险而言,大家最熟悉的名词莫过于“四金”了,四金其实就是养老保险金、医疗保险金、失业保险金、住房公积金。但很多单位都说“我们交四金的!”那么应聘者的第一反应就是——这家公司不错,但实际上四金的缴纳是很有学问的,同样交四金,可能你拿到的会比别人实际少。

为了更好的说明问题,我先来解释一下社会保险的类型。在上海,社会保险分为城镇保险、小城镇保险、农保和综合保险四种,因为我是上海人,对综合保险不是很熟,这里只讲城保和镇保,但有一点是肯定的——城堡和镇保的待遇肯定比综合保险要好。通常,只要单位能够帮你申请到上海居住证(当然如果是上海户口更好),就可以办镇保和城保了。

下面来说说镇保和城保的区别:
区别1:缴费基数不同
大家应该听过说,四金各占多少比例(如养老金22.5%),这里的比例是以什么为参照的呢?

如果是城保,那么就应该按第一个月的全部税前实际工资来算(并非试用期工资总额),当然这是相对毕业生而言的,如果是已经工作过的人则按照去年你的月平均工资来算,但请注意很多公司并不是按照法律规定的缴费基数给的,通常会给一个固定的相对较低的基数(如2000,2600等),虽然严格意义上讲这不合法,但很多单位都这么做,似乎也没有人管!而镇保则是按去年上海市平均工资的60%来算的,而与你的实际工资无关,比如去年的上海市月平均工资是2460,那么你的缴费基数则是1476。

区别2:四金缴费的组成部分不同

城保是分单位缴费和个人缴费两部分的,而镇保则只有单位缴费部分。具体缴费比例如下:

城保
   单位:养老金 22.5%, 医疗保险金 12%, 失业保险金 2%, 公积金 7%
   个人:养老金 8%, 医疗保险金 2%, 失业保险金 1%, 公积金 7%

镇保
   单位:养老金 17%, 医疗保险金 5%, 失业保险金 2% , 公积金 7%
   个人:公积金 7%,其他不需要缴纳

Tip
这里的公积金大家会发现一个规律,企业缴纳多少,个人就要缴纳多少,而且公积金是全部近个人账户的,所以越多越好!但相对而言,镇保的基数低,所以拿到的公积金少。虽然有些单位参加镇保,允许缴纳补充公积金,但这些补充的钱都是你自己的,单位是不缴纳的。当然有些人会觉得合算,因为四金是可以避税的,所以多缴纳肯定合算!

从上面的数据可以看出,城保单位缴纳部分比镇保多出了12.5%,这也是为什么很多企业愿意缴纳镇保。当然,从个人缴纳部分看,大家会有一个感觉——那岂不是镇保合算吗?其实不见得,我之前工作的那家公司就给我们灌输这样的思想——即镇保对于员工没有损失,仅仅是企业少交点,training的ppt竟然叫“提高员工福利,降低公司成本”,怎么可能!(真tmd无耻,就知道欺骗毕业生,骗一个算一个)。在接下来的区别中会将发现问题出在哪里!

区别3:医疗保险待遇不同

城保的医疗保险有0.5%是进个人账户的,这些钱就是我们常说的医保卡里面的钱,当然钱用光了就只能自己掏了,所以如果缴费基数高的话,医疗保险里面的钱会多点。另外,城保对于所有医院适用,包括地段医院。另外,医保卡在门急诊、住院、大病等情况下都可以使用(大家可能会觉得纳闷,为啥我要说这个,这是因为镇保不是所有情况都适用的,见下)

Tip
请大家注意,个人缴纳部分不等于进入个人账户的部分,其实城保的个人缴纳部分大部分是进社会统筹账户的,这也是为什么有些人认为:我多交对我来说没有任何好处,都给别人用了,所以很多人愿意把城保基数降低或者干脆选择镇保!

镇保的医疗保险是不进个人账户的,也就是说你的医保卡里面是没有钱的,所以不要指望用医保卡看病,去看的话也只有一个结果——刷卡的人会告诉你的医疗保险账户没有开通过!镇保的适用范围也有限制,仅限住院和大病,也就是说如果你生小毛小病是不能报的,等于没有!

Tip:医保卡就是社会保障卡,不会专门发医保卡的!

区别4:城保与镇保转换衔接的问题

这一点是由《关于本市从业人员社会保险关系转移衔接有关问题的通知》规定的,具体的我就不在这里帖了,大家网上搜一下就知道了!我主要解释一下其中的意思,因为我一开始看也看不懂!

首先是什么情况下会发生转换——当我们退休要申请领养老金时,劳动局会要求我们作一个选择,选择城保还是镇保,这种情况是怎么回事呢——即我们在过去的工作中即缴过城保,也缴过镇保。在退休后,由于镇保的福利相对城保差,我们当然选择城保,那么镇保的部分怎么办呢?它会按照一个比例将缴费年限转换为城保缴费年限,这个比例是这样计算出来的:

假设你当年镇保的缴费基数为1476,而同年你城保的缴费基数是4000(你的实际工资),那么公式就应该应该是:(镇保缴费基数*12*24%)/(城保缴费基数*12*36.5%),按照刚才的数字来算的话,结果则是0.24,也就是说这一年我的镇保缴费年限转换为城保只有0.24*12=2.88月,所以这就是损失!大家要明白,不管是城保还是镇保,缴费年限必须满15年才能领取社会养老金,如果你一直缴的是镇保,即使我们按1:2的比例算,你必须做30年才可以满足城保的领养老金的要求!(我之前的公司人事经理尽然还帮我说:你如果觉得城保缴费年限不够,那你退休选镇保不就好了!这也算人说出来的话!简直就是禽兽!)

另外,如果你设有镇保个人补充账户,帐户里面的钱也会有7折左右的折算!

区别5:授众不同

城保是针对市区的,而镇保是针对郊区的(浦东新区目前被认定为郊区),并且镇保推出的初衷是针对失地农民,而不是企业员工,当然现在范围扩大到全体从业人员。

Tip
有些单位通过搞人事外包达到强制镇保的目的!即让你和一家浦东的人事服务公司签协议,然后告诉你只能参加镇保,公司没有城保!其实从法律角度讲,有欺诈的嫌疑,因为并没有告知员工镇保与其人事外包是有联系的!(我之前的公司就是这么做的!我公司的注册地是普陀区,属于市区,但它却故意把人事外包给一家浦东的公司!简直就是无赖行为!)

网上就有人写过这样帖子:
特别要预防单位提出把劳动关系转到劳务公司的花招。因为这个“转”,也意味劳动关系的转移,即你与劳务公司建立了劳动关系,与实际使用你的用人单位变成了 劳务关系。社会保险是随劳动关系走的,你的社会保险也由劳务公司为你缴纳了。从表面看,你在公司的工作、工资等其他待遇并没有变化,但是如果这个劳务公司 是郊区的,或注册在郊区,则完全可以给你缴纳小城镇社会保险。

说得也就是这种情况!所以大家千万要小心!

Tip
有些公司会帮你缴纳商业补充医疗保险,这个保险很好,因为它可以让你报销80%-90%的医药费,而不需要使用医保卡,医保卡里的钱则可以到医保定点药房买药?

Tip
城保和镇保都有补充养老金和补充公积金,但并不是所有的单位都愿意为你缴纳,这个要看单位愿不愿意了。外面通常所说的六金,其中的两金就是指补充养老金和补充公积金。

最后,我来总结一下。如果一家公司的人事要和你谈福利,我们必须关注以下几点:

1. 是镇保还是城保?(建议选城保)
2. 缴费基数是多少?
3. 有没有补充公积金和补充养老金?
4. 有没有商业补充医疗保险?自己需不需要缴费(单位好的话是全部由单位缴)
5. 公司是否有人事外包?外包到哪里?属于市区还是郊区?

大家要明白,并不是所有的人事都会告诉你这些,等你签完协议后,她就会说你签协议之前怎么不问?你可以不签这份协议的呀?!(tmd遇到这种人事真想抽他——良心被狗吃掉了。)

大家如果对城保和镇保有任何疑问,可以通过tonyqus@gmail.com联系我。以上内容中如果有说得不对的地方,还请指出,谢谢!

From: http://www.cnblogs.com/tonyqus/archive/2007/05/10/721668.html

posted @ 2007-07-21 21:36 w2001 阅读(873) | 评论 (0)编辑 收藏
题目:

有三个六位数,分别是ABCDEF、CDEFAB、EFABCD。
A、B、C、D、E、F分别代表一位数,可能是1~9之间的任何一个,但是他们都是不同的数。
已知这三个六位数满足下列条件:
ABCDEF×2=CDEFAB     (1)
CDEFAB×2=EFABCD     (2)
问A=?、B=?、C=?、D=?、E=?、F=?

解答:

令x=AB,y=CDEF,根据式1,则有2*(10000x+y)=100*y+x,即19999x=98y,考虑一下98=2*7*7,两端同时略去一个7,得2857x=14y,x、y都是自然数,2857、14互质,所以y=2857,x=14,或者(y=5714、x=28,y=8571、x=42)。下面来继续验算式2,可发现括号里面的解都不合适,因此舍去,所以得解:ABCDEF=142857
posted @ 2007-04-23 16:22 w2001 阅读(407) | 评论 (0)编辑 收藏

http://218.94.142.104/
http://bbs.nju.cn

posted @ 2007-04-20 13:29 w2001 阅读(761) | 评论 (0)编辑 收藏

题目:

学校提早放学,女儿自己回家,走10分钟后碰到父亲来接,坐父亲摩托车回家,到家时比平时迟到了1分钟,原因是父亲下班迟了7分钟,那么学校提早放学几分钟?(平常的话,一般女儿放学时爸爸正好骑车到校门口)

图示:

家----------------------------学校
|--------爸爸-------->|<--女儿---|
|<-------一起---------|

题解1:

  1. 此类题目的特点:描述非常模糊,比如,没有说明爸爸和女儿行走的方向;没有说明爸爸下班之后是从公司出发的还是从家里出发的;没有说明公司、家、学校的相对位置;没有说明其他的一切一切情况... 总之很多没有说明,这便要靠问,如果问不到,便猜测一种对分析最有利的情景,如上图
  2. 爸下班晚了7分钟,如果女儿没有提前放学,并且在学校等他的话,那么其实回家应该也迟到7分钟的,但最终回家只晚了1分钟,这完全是因为女儿已经提前向家里走了几分钟的缘故,因此,女儿提前走的这几分钟,省了爸爸一来一回共计7-1=6分钟,即爸爸和女儿相遇时,他们离学校距离为3分钟摩托车的路程
  3. 同时由此可知,摩托车走3分钟的路程,走路则要10分钟
  4. 列方程,令:从家里到相遇点摩托车需要走t分钟的路程,则有:
    (正常下班时刻 + t + 3 = 正常放学时刻)               (a)
    (提前放学时刻 + 10 = 正常下班时刻 + 7 + t)          (b)
  5. 消去t和正常下班时刻,得到:正常放学时刻 - 提前放学时刻 = 6

题解2:

由于父亲迟下班7分钟,中途遇到小孩,然后回家,到家时比平常晚1分钟,那么每段路省了3分钟;所以父亲遇到小孩时比平常(准时放学时)只晚了7-3=4分钟,但小孩已经走了10分钟了,所以学校比往常早放6分钟。

posted @ 2007-04-18 19:43 w2001 阅读(1660) | 评论 (4)编辑 收藏

讨论前提

考虑到UDP的无状态特性,目前针对其的NAT实现大致可分为Full Cone、Restricted Cone、Port Restricted Cone和Symmetric NAT四种。值得指出的是,对于TCP协议而言,一般来说,目前NAT中针对TCP的实现基本上是一致的,其间并不存在太大差异,这是因为TCP协议本身便是面向连接的,因此无需考虑网络连接无状态所带来复杂性。

用语定义

1.内部Tuple
:指内部主机的私有地址和端口号所构成的二元组,即内部主机所发送报文的源地址、端口所构成的二元组
2.外部Tuple:指内部Tuple经过NAT的源地址/端口转换之后,所获得的外部地址、端口所构成的二元组,即外部主机收到经NAT转换之后的报文时,它所看到的该报文的源地址(通常是NAT设备的地址)和源端口
3.目标Tuple:指外部主机的地址、端口所构成的二元组,即内部主机所发送报文的目标地址、端口所构成的二元组

详细释义

1. Full Cone NAT
:所有来自同一个内部Tuple X的请求均被NAT转换至同一个外部Tuple Y,而不管这些请求是不是属于同一个应用或者是多个应用的。除此之外,当X-Y的转换关系建立之后,任意外部主机均可随时将Y中的地址和端口作为目标地址和目标端口,向内部主机发送UDP报文,由于对外部请求的来源无任何限制,因此这种方式虽然足够简单,但却不那么安全

2. Restricted Cone NAT
:它是Full Cone的受限版本:所有来自同一个内部Tuple X的请求均被NAT转换至同一个外部Tuple Y,这与Full Cone相同,但不同的是,只有当内部主机曾经发送过报文给外部主机(假设其IP地址为Z)后,外部主机才能以Y中的信息作为目标地址和目标端口,向内部主机发送UDP请求报文,这意味着,NAT设备只向内转发(目标地址/端口转换)那些来自于当前已知的外部主机的UDP报文,从而保障了外部请求来源的安全性

3. Port Restricted Cone NAT
:它是Restricted Cone NAT的进一步受限版。只有当内部主机曾经发送过报文给外部主机(假设其IP地址为Z且端口为P)之后,外部主机才能以Y中的信息作为目标地址和目标端口,向内部主机发送UDP报文,同时,其请求报文的源端口必须为P,这一要求进一步强化了对外部报文请求来源的限制,从而较Restrictd Cone更具安全性

4. Symmetric NAT
:这是一种比所有Cone NAT都要更为灵活的转换方式:在Cone NAT中,内部主机的内部Tuple与外部Tuple的转换映射关系是独立于内部主机所发出的UDP报文中的目标地址及端口的,即与目标Tuple无关;在Symmetric NAT中,目标Tuple则成为了NAT设备建立转换关系的一个重要考量:只有来自于同一个内部Tuple 、且针对同一目标Tuple的请求才被NAT转换至同一个外部Tuple,否则的话,NAT将为之分配一个新的外部Tuple;打个比方,当内部主机以相同的内部Tuple对2个不同的目标Tuple发送UDP报文时,此时NAT将会为内部主机分配两个不同的外部Tuple,并且建立起两个不同的内、外部Tuple转换关系。与此同时,只有接收到了内部主机所发送的数据包的外部主机才能向内部主机返回UDP报文,这里对外部返回报文来源的限制是与Port Restricted Cone一致的。不难看出,如果说Full Cone是要求最宽松NAT UDP转换方式,那么,Symmetric NAT则是要求最严格的NAT方式,其不仅体现在转换关系的建立上,而且还体现在对外部报文来源的限制方面。

参考:UDP"打洞"原理

posted @ 2007-04-13 15:43 w2001 阅读(7657) | 评论 (1)编辑 收藏

前段时间研究过如何求最长连续公共子序列和最长连续子字符串,以前一个同学正好问起来,这里贴出来解法:
问题的关键还是如何定义子问题,假设有:
Xm = x1 x2 x3 ... xm
Yn = y1 y2 y3 ... yn

1. 最长公共子序列(不必连续)
定义f(m, n)为Xm和Yn之间最长的子序列的长度
于是有f(m, 0) = f(0, m) = 0
如果xm != yn, 则f(m, n) = max{ f(m-1, n), f(m, n-1) }
如果xm = yn,则f(m, n) = f(m-1, n-1) + 1
问题归结于求f(m, n)。依照公式用Bottom-up DP可解。

2. 最长连续子字符串(必须是连续的)
定义f(m, n)为Xm和Yn之间最长的子字符串的长度并且该子字符串结束于Xm & Yn。因为要求是连续的,所以定义f的时候多了一个要求字符串结束于Xm & Yn
于是有f(m, 0) = f(0, m) = 0
如果xm != yn, 则f(m, n) = 0
如果xm = yn, 则f(m, n) = f(m-1, n-1) + 1
因为最长字符串不一定结束于Xm / Yn末尾,所以这里必须求得所有可能的f(p, q) | 0 < p < m, 0 < q < n, 最大的f(p, q)就是解。依照公式用Bottom-up DP可解。

转载自:http://blog.csdn.net/atfield/archive/2007/01/28/1496132.aspx

我的补充:最长连续子字符串问题与最大子段和问题有点类似。

posted @ 2007-03-24 03:55 w2001 阅读(1847) | 评论 (0)编辑 收藏
仅列出标题
共9页: 1 2 3 4 5 6 7 8 9