Bloomberg LP Interview Question for Software Engineer / Developers


Country: United States
Interview Type: In-Person




Comment hidden because of low score. Click to expand.
2
of 2 vote

We need to use weak_ptr to avoid cycles in data structures. weak_ptr points to a resource which is managed by one or more shared_ptr. As the weak_ptr does not effects the resource reference count(weak_ptr holds weak or non-owning reference) so when the last shared_ptr object that manages that resource is destroyed the resource will be freed even if the resource is pointed by a weak_ptr. For the cycle problem think about a circular link list. Where, if every node holds the shared_ptr which owns the next node will never be freed because none of the reference count can be zero. To avoid this problem, if the last node hold weak_ptr object of the first node, then the first node can be destroyed even it is pointed from the last node.

- Palash April 07, 2012 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

I like the example from Josh Block in Effective Java: An object cache uses weak_ptr while the users hold a shared_ptr. This avoids caching objects indefinitely.

- Vick May 04, 2012 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

Another case where weak_ptr helps is: To avoid dangling pointer.

A shared_ptr can be used to hold the memory. weak_ptr could be supplied to the user. When shared_ptr resets to a new memory, a weak_ptr gets invalidated thus avoiding dangling pointer. To realize this, weak_ptr has method "lock" which returns shared_ptr which it points to. When shared_ptr is reset, it returns default constructed shared_ptr.

- Object April 02, 2017 | Flag Reply


Add a Comment
Name:

Writing Code? Surround your code with {{{ and }}} to preserve whitespace.

Books

is a comprehensive book on getting a job at a top tech company, while focuses on dev interviews and does this for PMs.

Learn More

Videos

CareerCup's interview videos give you a real-life look at technical interviews. In these unscripted videos, watch how other candidates handle tough questions and how the interviewer thinks about their performance.

Learn More

Resume Review

Most engineers make critical mistakes on their resumes -- we can fix your resume with our custom resume review service. And, we use fellow engineers as our resume reviewers, so you can be sure that we "get" what you're saying.

Learn More

Mock Interviews

Our Mock Interviews will be conducted "in character" just like a real interview, and can focus on whatever topics you want. All our interviewers have worked for Microsoft, Google or Amazon, you know you'll get a true-to-life experience.

Learn More