交大学子的技术类笔试面试经验

时间:2020-10-17 16:10:38 笔试经验 我要投稿

交大学子的技术类笔试面试经验

经过将近2个月的折腾,job hunter的日子也已经over了。无数次上这个版,今天冒着被取
消offer的危险给大家泄点题,来点面经,给学第学妹们多点参考资料。希望大牛们不要嘲
笑我,主要是面向学弟学妹们或者将来要找工作的同学的参考资料,针对CS||SE方向的同
学:)

交大学子的技术类笔试面试经验


首先,谈谈笔试||电面。笔试或者电面一般是公司挑人的第一关,而在这一轮,不同公司
会有不同的风格,但是大体上,掌握好这些东西肯定是错不了。

1. english , 外企笔试或者电面基本都是用英语的,所以英语至少要看得动,能跟他们聊
。其实周围蛮多同学对自己英语没有自信,其实我认为只要过了6级就这一关就肯定够用了
。尤其是电面的时候,技术上可能是用中文说,部分公司(morgan...)除外,但是总归得准
备一份流利的英语自我介绍对不对?

 

2. 基本学科 。像google, baidu这样的公司只考算法,其实基本学科的东西相对就比较弱
了。但是其他公司基本上就是你这几年学到的东西,首先当然是coding能力,要不写 cod
e,要不看code,  在笔试的时候只需写出思路就行了,不必每个变量,每个循环就斤斤计较
;但是在微软电面的时候会有一个live meeting的东西共享一个记事本,让你在上面写co
de, 这时就最好注意一下你的coding style, 包括方法变量命名,先写test case, 考虑周
不周到,而且微软那边特别爱考字符串转int, int转字符串;比如后者,你就要先考虑in
t有没有可能是负数;是不是可以扩展把进制用变量或者参数描述;在求int的位数(字符串
长度)的时候怎样求,用循环除以进制数还是直接用log的方法等等。。。基本coding能力
还是很重要地~

 

其次就是各个科目了,数据结构:很多人说这个很重要,其实这个没有想象中的需要那么
多的精力,只需要知道概念就是了,链表,二叉树,图,基本排序算法这些概念要知道;
比如二叉树中序+前序(后序)能决定其排列等基本性质;

然后类似于一些比较经典的算法题目:

如何判断两个链表是否有交叉点,链表信息不知道,希望是O(n)的算法,而且O(1)的空间
;

同样不知道链表信息,如果判断一个链表是否有环?

如何在大数组里去重?

如何在两个二叉树中求得最大子树(高度最高)?

 

其实算法这个东西我也不知道怎样准备,知道一些基本概念(递归,回溯,Hash, 动态规划
,分支之类的)然后平时可以多上ACM的网站练练手,做多了也就有感觉了(其实我自己都没
怎么做过这些题目)

 

网络:总归得知道TCP/IP的7层协议,没层是做什么的,有哪些代表协议,其中最重要的就
是网络层和传输层,IP地址,子网掩码的作用及原理, ICMP(ping), nslookup, netstat
之类的命令也应该有所了解;TCP/UDP有什么区别; 数据库: 总归得知道基本sql语句怎么
写,包括一些基本函数(max, sum),和一些in, some, all的关键字,其次事务的基本性质
(ACID) 隔离级别范式的概念也要知道;操作系统,这个学的时候肯定要好好学,不过貌似
面试的时候不会考得很深,比如进程线程的区别啦,进程调度算法,死锁形成4大要素以及
分别对应的解决方案,比较容易考的是银行家算法,以及虚存页面置换算法,比较容易考
的.是LRU,最好的工作集反而考得不多;其他科目就可以忽略啦 哈哈但是不是让大家不学哈
:)

 

笔试的时候一般会有智力题目,像之前在笔试微软的时候居然有一道"爱因斯坦的超级问题
",这个没什么好准备的,能做就做,不能做准备也没用,具有比较大的偶然性,所以可以
不管这一块;

 

再来说说面试:

对于我来说,笔试或者电面过了,面试我就不怎么害怕了。因为面试有个很大的优势是你
是跟他当面交流的,可以有肢体语言,尤其是眼神上的交流,尤其是技术面,如果你搞不
定的时候可以从眼神里获得提示,反正面试的时候就淫笑着盯着她(他)眼睛看,保你没事
,呵呵;如果是聊天面,这下你就要掌握好这个度了,要在前几句话看出这个人nice不ni
ce, 像不像要卡人的人,如果是的话,就要注意了,不要乱说话,要打七寸;如果不是,
就不要担心拉,随便吹,吹你有多厉害,当然要保持谦虚,我想大家应该都能掌握这个度
的;

所以我觉得在面试的时候关键还是要淫笑+暗送秋波

 

接下来说说我遇到的或者同学遇到的一些笔试面试题目吧,仅供大家参考:

1. 两颗二叉树求最大相同子树(高度最高);

2. 把一般的加减法改成波兰后缀式;

3. 两个很大的文件,每个文件有数千万行,没行都是一个字符串,求两个文件中字符串相
同的行,也就是求交集;

4. 有10个球,球和球之间没有区别,分成 N堆,随便你,做这么一个操作,从每堆里面拿
出一个,放到最后形成一个新的堆,比如一开始是分成两堆,每堆5个, 序列是(5, 5),
一次操作之后序列成为(4, 4, 2), 再一次之后变成(3, 3, 1, 3), 求证经过有限次操作之
后,序列一定会变成(1, 2, 3, 4),不能用类似于枚举这样的算反,要数学逻辑上的推断
(至今仍未搞定)

5. 扫描病毒优化。假设有一个病毒库,很大,有成千上万个,为了简单,假设全部是一定
序列的字符串;在扫描病毒的时候,最简单的办法就是把一个文件用这成千上万个病毒库
都匹配一次,如果全部都没匹配上,则证明该文件是安全的;但是磁盘上的文件也不是个
小数目,求优化;

6. 咱们在google或者baidu的时候都会有大量的重复网页,怎样判断+去重;

7. 一个游戏,我把你眼睛蒙上,然后在一张旋转的桌子上面方有4个硬币,放在正方形的
4个角上,你让我做操作翻硬币,一旦4个硬币的状态(正面朝上||反面朝上)一致,则告诉
你你赢了,求能让你必赢的操作序列;

8. 在一个只有加法(+)和比较(==)的机器上,实现+, -, *, /四种功能;

9. 设计一个搜索时用的cache;

10. 一次遍历找出一个链表的最大的N项(coding);

11. Josephus 问题(烫手的土豆的游戏);

12. 一个国家只喜欢男孩,不喜欢女孩,没对夫妇最后都以生孩子都是一直生到男孩为止
,求这个国家的男女比例;

13.  甲向乙借了AB.CD元钱,乙催帐,甲为了还乙钱,向丙借AB.CD的钱,但是丙没有现金
,只要给了甲一张支票,甲到银行换钱的时候呢,银行小姐失误了,给了他CD.AB元,这样
呢,甲不但还了两个人的钱还剩了1元钱,求 A, B, C, D;

14. 如果我vpn一直连接不上,请问你怎么解决这个问题;

15. 给你两部一模一样的手机,有100层楼,你要给我最高从多少层楼仍下这部手机的时候
手机不会坏掉,求最少的仍的次数;

16. 还有一些开放性的题目,上海市一个有多少个网球,多少个下水道盖之类的;

好了,大致就想到这些,祝各位好运哦:)

 

 

 

【交大学子的技术类笔试面试经验】相关文章:

Moto技术类面试经验范文01-22

IT非技术类面试笔试题10-11

中兴笔试面试经验08-23

经济类笔试的经验12-13

经济类笔试经验09-02

关于迅雷校招技术类面试经验01-29

面试毕马威的笔试经验分享10-11

上海交大自主招生等面试经验08-31

工行笔试面试经验08-27

经济类笔试经验分享12-04