Applied on the Career Fair and scheduled an On-Campus Interview yesterday.
I was told it is a Java interview. So I tried to warm up Java by touching some website like 'Most Common 20 Java Questions you need to know'. However it is only one morning about 2 hours for me. After figuring out what's the difference between string, stringbuffer and stringbuilder I gave up.
Because last day was Career Fair I was really tired. I got insomnia last night to 3am and got up at 8am. I was really tired during interview and responded slowly.
First question must be a warm up question asked that the difference between abstract class and interface. I thought for ten seconds and then said 'I don't know'. Of course the interviewee was shocked because that's was really a basic question. Then I said I focused on C++. After that we started to talk some others like db and C++.
The programming problem was pretty basic like a median level in Leetcode.
At last we talked about some information about company. It is a cloud computing company focused on life science. Thus of course the intuitive question is does software engineer need any life science knowledge. The answer is no. That's perfect. The reason why Veeva is now focus on life science is that on the one hand there is huge market in this area. On the other hand is because Veeva is still the growing company which would be more competitive if focuses on more detail field. Hence we know the cloud computing used in Veeva is also applied for other fields.
Although I performed pretty bad in the interview, Veeva is a pretty potential company in cloud computing.
(rejected at 11.3)
My Blog List
Showing posts with label Interview. Show all posts
Showing posts with label Interview. Show all posts
UCI 2014 Fall Career Fair 10.23
虽然和其他名校相比来UCI CF的企业相当少,不过已经很多了,而且所有活动都安排在室内进行,对于站着投简历一天的人来说还是不错的。
准备了三天时间,最后确定下来十七家感兴趣的公司,基本都是在做云计算相关的内容。虽然CF公司比较少,可以从CF开始就入场,一直投到结束,这十七家都没有投完。
整体来说这次CF我做的还不错,比上次参加要强一百倍。因为有了经验知道该做什么,并且做了充分的准备。一方面知道和别人说什么,另一方面也知道怎么说。
因为貌似又几个公司的交流就在简历后边做了记号。
FB貌似因为提前做了图表准备怎么讲project所以被问了智力题,想了十分钟终于答出来了。
MS因为说“Azure is better than AWS"也拿到了hr 的email
还有几个公司也被做了标记。
准备了很长的对话和blazzard讲,貌似人家也没甩我,不过至少我做到了自己能做的,昨天晚上还反复犹豫到底要不要去和blazzard人说,要不要把准备好的长长一段屁话说了,毕竟这种事我在中国也没有用汉语讲过。最后鼓起勇气用英语说了出来,还是挺开心的,虽然貌似一点作用也没有,但是自己没有任何遗憾,也就挺开心了。
唯一感觉很糟糕的就是salesforce,完全没有尊重,根本没有听我说了什么。而且我说话说一半就打断我。
总结的经验就是,不要把事情当故事讲,要简明扼要,没人愿意听你扯那么长的事。
另一方面不要指望别人刚好问道你想说的内容,你要自己想方法把话题引过去。
如果别人没问你的劣势(比如实习只有一个月),就不要自己最贱的说。。
Grandstream Networks Onsite Oct. 15
An IP audio and video communication company located near LA. Overall interview took almost three hours.
The interview was quiet fine for me because all were technical problems.
The first warm up question was a variation of binary search which turned out to be a little embarrassed because I finally wrote the correct code after three times of modification.
Then given half a hour with six pages of problems, varying from C++language to algorithm and coding. All regular problems nothing hard.
After explained details about my answer, the second interviewee gave me two brain storm problems.
1. two fuse that each burn out in 1 hour. How to get 45 mins.
2. eight stones in which only one is heavier than others. Given a scale how many times can you find out that one. Generalize the problem to N stones.
Last interviewee asked C++ friend. I didn't use this before so I talked about virtual function instead.
Things needed to check out after interview:
1. How does free() know how much memory did malloc allocated
2. How to free this
Obj *p= new Obj[5]
3. Usage of keyword Friend
Offer 12.10
The interview was quiet fine for me because all were technical problems.
The first warm up question was a variation of binary search which turned out to be a little embarrassed because I finally wrote the correct code after three times of modification.
Then given half a hour with six pages of problems, varying from C++language to algorithm and coding. All regular problems nothing hard.
After explained details about my answer, the second interviewee gave me two brain storm problems.
1. two fuse that each burn out in 1 hour. How to get 45 mins.
2. eight stones in which only one is heavier than others. Given a scale how many times can you find out that one. Generalize the problem to N stones.
Last interviewee asked C++ friend. I didn't use this before so I talked about virtual function instead.
Things needed to check out after interview:
1. How does free() know how much memory did malloc allocated
2. How to free this
Obj *p= new Obj[5]
3. Usage of keyword Friend
Offer 12.10
腾讯电面二面 09.21.2014
刚刚二面结束,心情比较沉重,目测就到这儿了。。面试过程不畅和一直听不清电话那头对方说啥一定是有原因的。。
------------------------------------------------------------------------------------------
这次面试和上次内容一样,还就是挑了简历上一个项目问。但是问题完全不一样啊。
先是大概讲一下虚拟内存是什么,再问如果物理内存用完了怎么办。之后问你知道哪些置换算法。然后重点来了。。
先是问你有没有读过linux或者windows之类系统的置换算法,如果你没读过源码那你自己怎么弄出来的。然后问到数据库,问有没有读过mysql之类数据库的源代码,如果没读过那自己设计岂不是会出现很多问题而且没有个比较么。
我一想,确实说的很有道理,在做数据库的时候阅读mysql的源码想必是很酷的一件事。不过我确实没有读啊。准确的说应该是,未曾敢于尝试去读。。
总之问了些类似的问题,感觉自己表现还是比较糟糕的。
-------------------------------------------------------------------------------------------
留了两道算法题,用邮件发过来,给半小时做然后邮件回复。(这里想吐槽下,感觉在规范化啊工具啊等方面还是和国外差距比较大。没有在线的交互代码测评,用一下googledoc也是可以接受的啊。。。)
就不透露题目具体内容了。两道题。一个是双向链表的节点删除。另一个是二叉树上的搜索。
遇到了一个非常非常古怪的问题。写完题目之后我就自己写了点testcase跑。结果每次都段错误,搞得我非常紧张,觉得自己代码没有问题,到最后还是段错误。
后来觉得是不是因为是在Windows下用的CodeBlocks的原因。于是在面试结束后,把同样的程序放在VC++6.0和Linux下G++跑,都完全没有问题,但是CodeBlocks还是段错误。好奇怪啊,导致我在面试时候至少花了十五分钟琢磨到底自己哪儿错了。。
有兴趣的朋友也可以试试在你的CodeBlocks下跑一下这个代码看看会不会出段错误。如果哪位高手知道是什么原因还请指点啊
我用的是windows7 Code::Blocks 13.12。在运行完test_2后test_3会段错误
没有修改后继节点的前继节点。。想必挂,是妥妥的了
------------------------------------------------------------------------------------------
这次面试和上次内容一样,还就是挑了简历上一个项目问。但是问题完全不一样啊。
先是大概讲一下虚拟内存是什么,再问如果物理内存用完了怎么办。之后问你知道哪些置换算法。然后重点来了。。
先是问你有没有读过linux或者windows之类系统的置换算法,如果你没读过源码那你自己怎么弄出来的。然后问到数据库,问有没有读过mysql之类数据库的源代码,如果没读过那自己设计岂不是会出现很多问题而且没有个比较么。
我一想,确实说的很有道理,在做数据库的时候阅读mysql的源码想必是很酷的一件事。不过我确实没有读啊。准确的说应该是,未曾敢于尝试去读。。
总之问了些类似的问题,感觉自己表现还是比较糟糕的。
-------------------------------------------------------------------------------------------
留了两道算法题,用邮件发过来,给半小时做然后邮件回复。(这里想吐槽下,感觉在规范化啊工具啊等方面还是和国外差距比较大。没有在线的交互代码测评,用一下googledoc也是可以接受的啊。。。)
就不透露题目具体内容了。两道题。一个是双向链表的节点删除。另一个是二叉树上的搜索。
遇到了一个非常非常古怪的问题。写完题目之后我就自己写了点testcase跑。结果每次都段错误,搞得我非常紧张,觉得自己代码没有问题,到最后还是段错误。
后来觉得是不是因为是在Windows下用的CodeBlocks的原因。于是在面试结束后,把同样的程序放在VC++6.0和Linux下G++跑,都完全没有问题,但是CodeBlocks还是段错误。好奇怪啊,导致我在面试时候至少花了十五分钟琢磨到底自己哪儿错了。。
有兴趣的朋友也可以试试在你的CodeBlocks下跑一下这个代码看看会不会出段错误。如果哪位高手知道是什么原因还请指点啊
我用的是windows7 Code::Blocks 13.12。在运行完test_2后test_3会段错误
没有修改后继节点的前继节点。。想必挂,是妥妥的了
腾讯电面 09.17.2014
无论毕业之后去哪儿,几年后的打算还是回国,BAT当然不能错过。
昨天早上五点电话响,还没清醒接起电话,对方说是腾讯HR,问我现在是九点钟么。我表示我是西海岸啊现在是五点多。非常尴尬。然后说看我工作意向填了北京和广州,问我可以接受深圳么,我表示因为网申至少要填两个意向,我没办法只好又填了个广州,其实我只想去北京。然后对方表示现在北京还没有对于职位。。顿时好尴尬,不过还是安排了电面,时间就是当天晚上十一点,效率倒是很高。
=======================================================================
晚上十一点,等了大概十分钟还是没来电话,以为被耍了,刚打算躺下电话就行了。极其强烈的广东腔啊,对方表示一时半会没找到咋拨美国电话。。
有点习惯了英文面试,突然一下用中文好不习惯啊,名词啥的也不太清楚怎么讲,对方貌似是广东仔,普通话说得也不顺溜,两个人就都结结巴巴的,对方名字都没听清,职位一串也就只听清了微信两个字,不过就够了,微信掉渣天的牛逼产品。
面试三十多分钟,先是问了下你对简历上哪个项目还记得比较清楚,我说数据库。然后接下来百分之八十五的时间就在问这个,问的还是比较深入有水平。包括硬盘、内存、b树、一致性等的问题。所以,我的一面很简单,几乎全部时间就是自己讲了一下自己的一个project。
之后就是我提问了。。
问了下腾讯之后如果打算以微信为平台开发各种其他产品的话,本身因为用户数目已经超级胖达,之后数据量恐怕又会在数量级上上升,现在腾讯是否具备处理更大规模数据的能力,已经今后在大数据方面有哪些技术挑战,需要哪方面的码农。
整个过程比较愉快。唯一比较尴尬的就是技术面试难道不应该来个算法题么。。
=======================================================================
在第二天早上五点接到电话安排了二面,HR开口第一句又是”你现在是九点么。。“
昨天早上五点电话响,还没清醒接起电话,对方说是腾讯HR,问我现在是九点钟么。我表示我是西海岸啊现在是五点多。非常尴尬。然后说看我工作意向填了北京和广州,问我可以接受深圳么,我表示因为网申至少要填两个意向,我没办法只好又填了个广州,其实我只想去北京。然后对方表示现在北京还没有对于职位。。顿时好尴尬,不过还是安排了电面,时间就是当天晚上十一点,效率倒是很高。
=======================================================================
晚上十一点,等了大概十分钟还是没来电话,以为被耍了,刚打算躺下电话就行了。极其强烈的广东腔啊,对方表示一时半会没找到咋拨美国电话。。
有点习惯了英文面试,突然一下用中文好不习惯啊,名词啥的也不太清楚怎么讲,对方貌似是广东仔,普通话说得也不顺溜,两个人就都结结巴巴的,对方名字都没听清,职位一串也就只听清了微信两个字,不过就够了,微信掉渣天的牛逼产品。
面试三十多分钟,先是问了下你对简历上哪个项目还记得比较清楚,我说数据库。然后接下来百分之八十五的时间就在问这个,问的还是比较深入有水平。包括硬盘、内存、b树、一致性等的问题。所以,我的一面很简单,几乎全部时间就是自己讲了一下自己的一个project。
之后就是我提问了。。
问了下腾讯之后如果打算以微信为平台开发各种其他产品的话,本身因为用户数目已经超级胖达,之后数据量恐怕又会在数量级上上升,现在腾讯是否具备处理更大规模数据的能力,已经今后在大数据方面有哪些技术挑战,需要哪方面的码农。
整个过程比较愉快。唯一比较尴尬的就是技术面试难道不应该来个算法题么。。
=======================================================================
在第二天早上五点接到电话安排了二面,HR开口第一句又是”你现在是九点么。。“
Thinknear Phone Interview Fulltime 09.15.2014
When I's applying summer intern last, I unintended applied a Thinknear full time position. It's really embarrassed. However it seems that they had record my information because a very nice HR got in touch with me and scheduled a phone interview.
Then I begun to have a look at this company and found that it is a really amazing company. It has a really amazing idea about the the usage of location information. By analysis customers daily data besides with geo location, they perform a refined ads method and do the ads recommendation. Based on such background, it's obvious that Thinknear is a latest technical company related to big data and the cloud. So it is unexpected fit for me.
The phone interview was pretty common. First ask me to talk about what I did in last internship. Then ask some details about how do I read paper to find the idea.
Then ask what's your most interested project and you want to continue in the further. I said is the database project. Then he asked why.
After this we built up a shared google doc and did a algorithm problem. It's a pretty common one. Check if a binary tree is a binary search tree. And asked about the time complexity.
After that it's time to ask him questions and then finished.
Quite great company and quite short an interview.
----------------------------------------------------------------------
UPDATED three days later
----------------------------------------------------------------------
I always thought that although the algorithm for binary search tree check works, it looks really ugly. When I trying to figure out a elegant way, I suddenly realized that my method was wrong. Here is my code.
After wrote down the code, I asked the interviewer that if it is possible to have duplicated items and it it is , is should be placed at left child or right child. The interviewer said there could be and would be placed at left child. So I updated the code like this "if(!v[i-1]<=v[i])". However it was totally wrong.
I think one solution could work.
Let the function bool is_bst ( Node *p, int min, bool min_is_equal, int max, bool max_is_equal) denote that if the subtree whose the root is p is a binary search tree that all the elements in the subtree are bigger than min and smaller then max. The min_is_equal and max_is_equal denote that if it could be equal. Do the check function recursively and update the parameter would work.
Then I begun to have a look at this company and found that it is a really amazing company. It has a really amazing idea about the the usage of location information. By analysis customers daily data besides with geo location, they perform a refined ads method and do the ads recommendation. Based on such background, it's obvious that Thinknear is a latest technical company related to big data and the cloud. So it is unexpected fit for me.
The phone interview was pretty common. First ask me to talk about what I did in last internship. Then ask some details about how do I read paper to find the idea.
Then ask what's your most interested project and you want to continue in the further. I said is the database project. Then he asked why.
After this we built up a shared google doc and did a algorithm problem. It's a pretty common one. Check if a binary tree is a binary search tree. And asked about the time complexity.
After that it's time to ask him questions and then finished.
Quite great company and quite short an interview.
----------------------------------------------------------------------
UPDATED three days later
----------------------------------------------------------------------
I always thought that although the algorithm for binary search tree check works, it looks really ugly. When I trying to figure out a elegant way, I suddenly realized that my method was wrong. Here is my code.
class Node {
Node *left, *right;
int value;
}
bool is_bst(Node *root) {
vector<int> v;
preorder_traverse(root,v);
for(int i=1;i<v.size();i++)
if(!v[i-1]<=v[i])
return false;
return true;
}
void preorder_traverse( Node*p,vector<int>&v){
if(p==NULL)
return ;
preorder_traverse(p->left);
v.push_back(p->val);
preorder_traverse(p->right);
} After wrote down the code, I asked the interviewer that if it is possible to have duplicated items and it it is , is should be placed at left child or right child. The interviewer said there could be and would be placed at left child. So I updated the code like this "if(!v[i-1]<=v[i])". However it was totally wrong.
I think one solution could work.
Let the function bool is_bst ( Node *p, int min, bool min_is_equal, int max, bool max_is_equal) denote that if the subtree whose the root is p is a binary search tree that all the elements in the subtree are bigger than min and smaller then max. The min_is_equal and max_is_equal denote that if it could be equal. Do the check function recursively and update the parameter would work.
Panasonic Interview FullTime 08.20.2014
- After last time internship interview, because cannot part time at next quarter, so they directly scheduled this full time interview today
- The entire interview process was definitely beyond my expectation because of the communication is totally different with any other interview before. Maybe it is because my English skills did improve a lot. Or maybe both interviewers are foreigner speakers so they won't talk too quickly. But all way, it was a unprecedented pleasant interview experience.
- The first interviewer was a Indian female software engineer about ten year older then I but looks pretty shy and really friendly. All about some typical technical questions.
- What is virtual function, how it is implemented at run time
- What's the use of virtual destructor function
- What the difference between free and delete
- What design patter are you familiar with? MVC and single instance. So talk about how single instance implemented
- Do you have multi-thread programming experience? So how to you synchronize two thread? Bull shit a lot about the memory consistence course and protocol. Review the cs295 about memory consistence and cs250 advanced architecture
- What the difference between thread and process.
- Swap two string pointers
- The performance of your database system
- After the technical interview on the way to manager's office, we talked about the status of international student. Talked about the weather of California and her hometown
- The second interviewer was the manager here a middle aged Indian man who was really really voluble. Roughly 70 percent of the interview was chat. Asked about some very typical manager's questions and one programming question. Rest of the time was talking about his story. I think he tried to help me know something. I think he did it.
- Describe everything of yourself to show me why should I hire you
- my answer was nothing fascinating or interesting just plainly talked about everyone can say
- What's your goal in 3 or 5 years. Do something else or start up your own company. Stay here or go back China.
- want to be best in a tiny field
- Why did you come to America?
- The latest technology
- maybe can talk about the difference of salary and the conversation talked with James to show that it's not the reason of any individual but the whole industry chain
- Talked about English. If I know English before America, why.
- Learn latest skills read bloggers and read the original textbooks because the translation
- talked about why speaking is important
- Why do you choose UCI
- Ranking and Locality
- Why do you choose computer science this major
- Talked about his story. He told me that anxious is fine, everyone would be anxious when he enters the interview. But don't be afraid. Try everything you could to grasp the chance. Just think about the worst case. He said 20 years ago when he came to America himself, the college student association forgot to pick him up from airport. So he seat at airport all the night and then toke a taxi to the school himself. At that time he just thought about the worst case was airplane crashed during the trip. However he was been there safely which is already enough.
- Asked about the advantage of using recursion and pop with a very straightforward recursion programming problem and required me to write the code on white board and talked about it
- Asked if I have any question. However I have no idea
ePacket Interview 08.19.2014
- ePacket which I thought is a normal start up as usual, however it is not at least from my perspective. Actually it's more like a very potential technology company founded by top university students. Of course it is still a start up but a very unusual one.
- The interviewer is a Stanford student in EE and obviously he found no interests on me.
- On the one hand I downplayed this interview just treated it as a trial for my full time interview. In fact I'm not ready to start and this interview leaded from a mistake application which I original wanted to apply internship. I didn't know what this company do even before one hour ahead of the interview
- On the other hand, maybe even if I'm fully prepared both in skills, projects and interview skills, he would still have no interest on me because he is scouting someone much more smart and at least at a top university like Stanford.
- But no matter the result is, it doesn't matter, what matters is what I learned from it
- As usual, start with a self description
- better put algorithm and data structure ahead of the low level knowledge which actually I cannot say I know a lot. Don't say anything like what you are interested in or what you are good it if you cannot convince interviewer by evidence and facts.
- Must review of last quarter's advanced architecture class. It deserves it.
- What field you mainly focused on during your college
- The algorithm and data structure is the only field I'm not afraid of being ask any question, so talk it as much as possible and dominant the conversation
- This question needs still consideration
- If you said you are interested in architecture or network, it's very likely that be asked about what have you done or researched on. So if just one project, I'd better don't say like that.
- Talk about your projects experience. What they want to hear is what difficult problems you solved or what improvement you did rather then plainly describe what you did or what you implemented. This is very important. Don't make your description boring without any useful information
- First at all, review what has been implemented and what has been solved in each project
- Package each project, extract the featured and highlighted part. Think about how to show them
- For the system kernel, the obvious key is to show how did I debug the program. If said that the original simulator is not powerful enough, it is very likely asked that did you improve that?
- For the PIMDM show the architecture of the job, the complexity is the featured point of this project
- About the database management system, try to think out what problems you have solved.
- For example today I was asked that in the B+ tree layer if the data store both in memory and disk, the time latency is significant, how do you solve it.
- Review about the bug that runs different result on mac and linux about the memcpy error leading from the address overlap
- What they want to know is not plainly description. They want to know the stuff exactly like this.
- Asked about my research experience
- Shit answer
- Asked about explaining the most proud project or maximum project is size and what is your role that what you did in the project
- my answer is the database system. However I just cannot clearly specify what is my role because the fact is that we almost did the project together and separated the project evenly. This needs consideration.
- At last asked if I have any question about the company
Panasonic Interview 08.10.2014
- Went to the onsite interview at Panasonic Lake Forest
- It is a pretty big company there with several buildings
- A paper test followed by a technical interview
- Paper test is mainly focus on basic C++ knowledge and algorithm problems
- Interview
- talked about the test problems done before and described the outline out algorithm implemented
- talked about the PIMDM project
- Show your interests is very very important
- Show you are interested in specific techniques which demonstrates you love your major
- Show you are interested in their project which demonstrates you will have passion and aspiration to do a good job at this position
- Ask proper questions
Subscribe to:
Posts (Atom)